如何批量处理 HTML 文件以准备打印?

如何批量处理 HTML 文件以准备打印?

我有一千个 HTML 文件需要清理以便打印。我需要删除该区域内的所有标签,<body></body>只留下一个<div.pg>。多余的标签是导航链接,会使打印件杂乱无章,而且会浪费纸张。标签的内容不一样,所以我无法找到并替换代码摘录,但标签是相同的,因为有三个<table>标签需要删除,每个标签都有特定的类。有没有批处理技术或软件可以完成这项工作?我使用的是 Windows

答案1

一千个 HTML 文件……使它们清晰可打印。

抑制部分的简单解决方案打印时是使用 CSS 样式表

head在元素中添加类似这样的内容

<link rel="stylesheet" 
   type="text/css"
   media="print" href="print.css" />

请注意media="print"- 此样式表仅适用于打印时,不适用于查看时。

如果你的 HTML 格式都类似,那么你可以用一个简单的模式匹配编辑命令对数千个 html 文件进行同样的操作

perl -i -ne "print; print '<link … />' if /<head>/" dir1/*.html dir2/*.html

在 print.css 中,为不想打印的元素(例如整个 div)设置 display:none。例如

#menu { display: none; }

List Apart 文章


更新:如果您的数千个 html 文件已经使用通用 CSS 样式表文件,解决方案就更简单了,无需在 html 文件中更改或添加任何内容,只需在现有样式表中添加一个部分来处理打印即可。例如:

@media screen
  {
  #menu {font-family:verdana,sans-serif;font-size:14px;}
  }
@media print
  {
  #menu {display:none;}
  }

答案2

使用 Notepad++。您可以在多个文件中查找/替换文本。

相关内容