Вопрос

Есть ли способ явно сообщить серверу Cups, что файл, который вы отправляете text/html Таким образом, переопределяет поиск mime.types?

Это было полезно?

Решение

Да, есть.

Используйте эту командную линию:

lp -d printername -o document-format=text/html file.html

Обновление (в ответ на комментарии)

Я дал точный ответ на вопрос ОП.

Однако это (только) не гарантирует, что файл будет успешно напечатан. Чтобы достичь этого, чашкам нужна фильтр который может обработать ввод типа MIME text/html.

Такой фильтр не предоставляется самим чашками. Тем не менее, легко подключить свой собственный фильтр к системе фильтрации Cups, и некоторые дистрибутивы Linux поставляют такой фильтр, способный потреблять HTML -файлы и преобразовать их в печатный формат.

Вы можете проверить, что происходит в такой ситуации на ваш система. А cupsfilter Команда - это вспомогательная утилита для запуска доступных/установленных фильтров чашек без необходимости делать реальную печать через демон чашек:

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, чтобы увидеть, какие чашки фильтров будут работать автоматически, когда попросят распечатать этот файл A A Printer, поддерживающий этот конкретный тип 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>.

Вы можете написать свой собственный фильтр чашек на основе сценария оболочки. Единственный другой ингредиент, который вам нужен, - это инструмент командной строки, такой как htmldoc или же wkhtmltopdf, который способен обрабатывать HTML -вход и создавать некоторый формат, который, в свою очередь, может быть использован в цепочке фильтрации чашек дальше в будущем.

Имейте в виду, что некоторые (особенно (особенно JavaScript-Heavy) HTML-файлы не могут быть успешно обработаны простыми инструментами командной строки в готовые к печати форматам.

Если вам нужна дополнительная информация об этом, просто задайте другой вопрос ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top