Печатать как Firefox

Печатать как 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 как сервер, которому я могу давать команды (например, перейти туда и распечатать)?

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

решение1

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

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

Затем:

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

Больше примеров можно найти на странице документации расширения.

решение2

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

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

Связанный контент