Intereting Posts
Команда xargs приводит к sed:;: Нет такого файла или каталога предотвратить " + сделать $ scriptname" и " 31303", который будет показан Сетевой интерфейс инициализирован, но не включен при вставке ключа USB 3g (Intel Edison) Запуск сценария Python Portio как обычного пользователя без доступа root Проблемы с маршрутизацией для нескольких восходящих линий / провайдеров Как запустить человека с форматированием в неинтерактивной оболочке? Не удается загрузить Linux Mint или Ubuntu Терминал Linux пропускает некоторые (повторяющиеся / пробельные) символы В mutt, как я могу легко прикреплять файлы, содержащие пробелы в их имени? Почему REJECT замедляет nmap? Есть ли способ достижения контекстно-зависимых имен путей (CDPN) в NFS? Использование Perl-совместимого регулярного выражения с GNU grep -P Подключить раздел с помощью truecrypt с помощью командной строки кеширование маршрутизации в последних ядрах Linux Использовать разные ipv6 в зависимости от назначения

ограничения печати в командной строке CUPS файлов изображений

У меня установлен мой принтер по умолчанию: lpoptions -d HP_ENVY_5530_series . Я могу напечатать некоторый текст:

 echo HELLO > h.txt lp h.txt 

CUPS понимает множество различных типов файлов напрямую, включая текст, PostScript, PDF и файлы изображений.

Я могу распечатать Portable Network Graphics: lp Gnome2.26-printing-dialogue.png .

Масштабируемая векторная графика: lp Cups_simple.svg – печатает как содержимое своего внутреннего текста, что мало используется.

Сканированный JPEG: lp 022.jpg – останавливается «Не удается открыть файл изображения для печати!». Если я преобразую его в PNG с ImageMagick – convert 022.jpg 022.png , я смогу затем распечатать его lp 022.png .

Я хотел бы объяснить эти ограничения команды CUPS lp .

CUPS имеет механизм фильтрации для определения формата ввода и преобразования его во встроенный формат (PostScript или растровое изображение).

CUPS имеет базу данных имен файлов и магических чисел (отличных от той, которая используется командой file , но служит аналогичной цели и работает на аналогичных принципах). Он использует эту базу данных для построения цепочки трансформации между входом и встроенным форматом.

База данных находится в /usr/share/cups/mime/ on Arch Linux и Ubuntu; другие дистрибутивы могут использовать другой путь.

Если CUPS не распознает формат ввода, в зависимости от того, как настроены фильтры, он может либо принять текст, либо отказаться от печати. Ищите строку, содержащую только application/octet-stream (без каких-либо изменений) в ваших фильтрах; если он присутствует, то нераспознанный вход передается на принтер, иначе он будет отклонен как непечатаемый.

Обратите внимание, что ввод, который выглядит как текст, например SVG, будет напечатан как текст в любой разумной конфигурации. Если ваша установка не имеет ничего, что определяет формат SVG, SVG будет распознаваться в соответствии с каким-то общим текстовым правилом и напечатан как есть.

Есть хорошая документация о написании фильтров на вики SuSE .

Вы должны установить по крайней мере пакет чашек-фильтров (ранее Apple и включал сам CUPS, теперь поддерживаемый OpenPrinting). В Arch есть пакет. Это включает фильтр для JPEG, но не для SVG.