Да, есть.
Используйте эту командную строку:
lp -d printername -o document-format=text/html file.html
Обновление (в ответ на комментарии)
Я дал точный ответ на вопрос ОП.
Однако это (одно) не гарантирует, что файл будет успешно распечатан. Для этого CUPS необходим фильтр , который может обрабатывать ввод MIME-типа text/html
.
Такой фильтр не предоставляется самой CUPS. Тем не менее, легко подключить свой собственный фильтр к системе фильтрации CUPS, и некоторые дистрибутивы Linux поставляют такой фильтр, способный принимать файлы HTML и преобразовывать их в формат для печати.
Вы можете проверить, что происходит в такой ситуации на вашей системе. Команда cupsfilter
является вспомогательной утилитой для запуска доступных / установленных фильтров CUPS без необходимости выполнять фактическую печать через демон CUPS:
touch 1.html
/usr/sbin/cupsfilter --list-filters 1.html
Теперь в системе, где нет готового HTML-фильтра, вы получите такой ответ:
cupsfilter: No filter to convert from text/html to application/pdf.
В другой системе (например, на Mac) вы увидите следующее:
xhtmltopdf
Вы даже можете принудительно вводить и выводить типы MIME, чтобы видеть, какие фильтры CUPS будут запускаться автоматически при запросе на печать этого файла на принтере, поддерживающем этот конкретный тип вывода MIME (-i
устанавливает тип ввода MIME , -m
выход):
/usr/sbin/cupsfilter \
-i text/html \
-m application/postscript \
--list-filters \
1.html
xhtmltopdf
cgpdftops
Здесь сначала нужно преобразовать HTML в PDF, используя xhtmltopdf
, а затем преобразовать полученный PDF в PostScript, используя cgpdftops
.
Если вы пропустите параметр --list-filters
, команда на самом деле даже выполнит преобразование путем активного запуска (не просто перечисления) двух фильтров и выдаст результат в <stdout>
.
Вы можете написать свой собственный фильтр CUPS на основе сценария Shell. Единственный другой ингредиент, который вам нужен, - это инструмент командной строки, такой как htmldoc
или wkhtmltopdf,
, который способен обрабатывать ввод HTML и создавать какой-то формат, который, в свою очередь, может использоваться цепочкой фильтрации CUPS в дальнейшем.
Имейте в виду, что некоторые (особенно загруженные JavaScript) файлы HTML не могут быть успешно обработаны простыми инструментами командной строки в готовые для печати форматы.
Если вам нужны подробности об этом, просто задайте другой вопрос ...