Печать как 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 - явный адрес IPv6
  • «Wget -restrict-file-names = windows», похоже, не удалось преобразовать ссылки для NTFS
  • Как использовать wget для загрузки определенных файлов из определенного каталога, когда сам каталог не имеет index.html?
  • wget веб-сайт в csv
  • Как вы переименовываете файлы в списке, который будет использовать wget?
  • curl, wget ничего не возвращают
  • Запуск тысяч параллельных фоновых процессов в сценарии bash
  • Есть ли хорошие инструменты, помимо SeleniumRC, которые могут загружать веб-страницы, включая контент, расписанный JavaScript?
  • Как использовать wget для загрузки всех ссылок с моего сайта и сохранения в текстовый файл?
  • Проблема с wget и пробелами
  • Игнорировать переменную GET из ссылок, при загрузке веб-сайта в автономном режиме
  • Interesting Posts

    Ограничительные «групповые» разрешения, но открывают «мировые» разрешения?

    Centos 7, замораживание файловой системы (root) до (xfs) сбрасывания ее

    Ошибка прокси-сервера Apache для сервера Bokeh

    Как узнать, какая система драйверов X11 используется?

    Не удается запустить службу MySQL на недавно обновленной виртуальной машине

    Сценарий Bash для вывода пути на флеш-накопитель USB

    Сертификат сервера tcpdump hello

    Перечислите папки размером более 10G и отправьте их соответствующим владельцам об использовании

    Не удается mkdir / root (btrfs)

    GPU ускорил транскодирование

    найти подкаталоги с наименьшим числом

    Как я могу использовать клавишу блокировки прокрутки для переключения подсветки на клавиатуре?

    «Не удается открыть файл общих объектов» Ошибка, даже если ldconfig отображается в записи

    Почему x0vncserver не запускается при загрузке?

    Задержка systemd, если файл существует

    Linux и Unix - лучшая ОС в мире.