Печать как Firefox

Создал сценарий CLI для печати статей в Википедии:

WIKI='https://en.wikipedia.org/w/index.php?title=' TITLE=$1 PRINTABLE='&printable=yes' SRC=$WIKI$TITLE$PRINTABLE HTML=$1".html" PS=$1".ps" wget $SRC mv index* $HTML html2ps $HTML > $PS lpr -P pr1444 $PS 

Это работает в том отношении, что если вы пишете ./print Shane_Mosley эта статья напечатана.

Но, по сравнению с использованием Firefox — перейдите на сайт и распечатайте из меню — печатный результат уступает: гораздо менее компактный макет (особенно таблицы), без изображений и не может обрабатывать «необычные» символы.

Итак, мой вопрос: «Монолитический» Firefox или он состоит из модульных инструментов, которые я могу реплицировать? Или я могу использовать Firefox в качестве сервера, чтобы я мог кормить команды (например, идти туда и печатать)?

Если нет: есть ли способы лучше использовать мои инструменты или есть другие инструменты, которые улучшат результат?

2 Solutions collect form web for “Печать как Firefox”

Как вы обнаружили, этот метод в лучшем случае субоптимален. В дополнение к HTML вам понадобятся как минимум все изображения и CSS. Вам также может понадобиться весь Javascript. И тогда есть вся эта работа.

Но для вас есть хорошие новости в виде расширения командной строки, которое вы можете установить в Firefox.

Затем:

 firefox -print http://www.example.com/index.html 

На странице дополнительных документов больше примеров.

Я предлагаю вам grep $HTML var и найти любой элемент <img src=.. а затем заменить каждый атрибут src на полный путь изображения, например https://en.wikipedia.org/wiki/File:Uncle_Tupelo.jpg . По умолчанию, технология страниц сервера поддерживает источник изображения на относительном пути серверов, как в этом случае <img src="File:Uncle Tupelo.jpg"> . Большинство из этих значений получены из CSS. Это решит проблему с изображением в ваших печатных изданиях, однако другие детали элемента CSS могут по-прежнему отсутствовать.

Альтернативой wget было бы использовать быстрый скрипт Perl.

  • Равная команда между wget и cURL (с опциями)?
  • Зеркальный список файлов
  • Как загружать файлы с помощью wget, где страница заставляет вас ждать загрузки?
  • воспроизводить mp3-файл сразу после его загрузки
  • wget --spider: как определить, где неработающие ссылки происходят из
  • Как я могу преобразовать все html-файлы, которые я получаю в текстовые файлы после команды wget?
  • Использование WGET для извлечения всех имен файлов из индекса
  • Записать wget link-rewrite обо всех загруженных файлах
  • wget пакетный файл linux
  • Как загрузить все файлы, перечисленные в массиве?
  • Почему wget сохраняет рекурсивные данные, несмотря на -l5?
  • Linux и Unix - лучшая ОС в мире.