У меня есть коллекция из тысячи HTML-файлов, которые нужно очистить для печати. Мне нужно удалить все теги внутри области <body></body>
кроме одного, <div.pg>
. Избыток - навигационные ссылки, которые делают распечатки грязными и израсходуют бумагу. Содержимое тегов не совпадает, поэтому я не могу найти и заменить фрагмент кода, но теги такие же, поскольку есть три <table>
которые нужно удалить, каждый со своим классом. Есть ли какая-либо техника обработки пакетов или программное обеспечение для этой работы? Я использую винду
2 ответа
тысяча 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 установите display:none для элементов (например, целых элементов div), которые вы не хотите печатать. Например
#menu { display: none; }
Посмотреть список отдельно от статьи
Обновление: если ваши тысячи html-файлов уже используют общий файл таблицы стилей CSS, решение еще проще, не нужно ничего менять или добавлять в html-файлы, просто добавьте раздел в существующую таблицу стилей для обработки печати. Например:
@media screen
{
#menu {font-family:verdana,sans-serif;font-size:14px;}
}
@media print
{
#menu {display:none;}
}
Используйте Блокнот ++. Вы можете найти / заменить текст в нескольких файлах.