Перехват вывода драйвера PostScript в системе CUPS

У меня Linux-компьютер с CUPS и подключенный к нему принтер. Можно ли получить документ PostScript, который драйвер CUPS генерирует и отправляет на принтер, когда я создаю задание на печать?

1 ответ

  1. Комментарий, предлагающий остановить очередь печати и получить файл задания с /var/spool/cups/ не хватает:

    • То, что вы найдете там, НЕ является рабочим файлом, так как он будет отправлен на принтер (PostScript).
    • Это файл задания в оригинальной форме и формате, как он был получен CUPS.


    Теперь полученный файл МОЖЕТ быть уже в формате PostScript (если приложение для печати было, скажем, Firefox). Но это также может быть любой формат, принятый CUPS (текст, изображение, PDF или "необработанный" формат ввода). Даже если это PostScript, CUPS все равно будет обрабатывать его перед отправкой на устройство печати. Объем обработки зависит от определенных параметров работы, запрошенных пользователем.

  2. Реальный перехват точно такого же потока, который будет отправлен на принтер из очереди CUPS, может быть немного больше работы (как показано в моем ответе Stackru).

    Однако вам может повезти, попробовав следующие шаги:

    • Положил FileDevice Yes в ваш cupsd.conf. (Остановите службу CUPS и перезапустите ее после изменения файла конфигурации.)
    • Запишите ваш текущий URI "backend" для очереди печати, которую вы хотите перехватить, запустив:

      lpstat -v
      

      (Это только для того, чтобы вы могли впоследствии восстановить его в то же рабочее состояние, что и раньше.)

    • Измените существующую очередь CUPS, запустив

      lpadmin -p printername -v file:/var/spool/cups/tmp/ps-test.ps
      
    • Теперь ваша очередь отключена от URI своего реального устройства и "подключена" к "файловому" устройству. Теперь он будет хранить все обработанные задания на печать в каталоге /var/spool/cups/tmp/ps-test.ps. (Вам могут понадобиться привилегии root, чтобы удалить его или прочитать там.)


    Вы будете более "неудачливыми", если ваша версия CUPS достаточно свежая. Там FileDevice Параметр конфигурации был удален из соображений безопасности.

Другие вопросы по тегам