Какой самый простой способ (в Python) для печати на удаленный сервер IPP / CUPS или принтер? - PullRequest
7 голосов
/ 20 августа 2009

У меня есть файл postscript, и я хочу, чтобы он печатался на устройстве с поддержкой IPP (или на сервере CUPS). Каков минимальный код и зависимости, с которыми я мог бы справиться.

Использование LPR или libcups дает мне много кроссплатформенных зависимостей. Поэтому мой первый подход состоял в том, чтобы реализовать минимальное подмножество IPP (протокол, используемый чашками и многими современными принтерами), поскольку «это только расширенный HTTP». Но, к сожалению, клиент IPP - это гораздо больше кода, чем несколько строк, и до сих пор я не нашел реализации клиента IPP, предназначенной только для печати и не для управления сервером печати. ​​

Я бы предпочел решение на Python, но также был бы рад чему-то на другом динамическом языке.

Ответы [ 3 ]

1 голос
/ 29 января 2015

На github доступна оболочка Python для CUPS ipptool:

Вы также можете проверить этот ответ .

1 голос
/ 20 августа 2009

вам нужно добавить удаленный принтер в CUPS:

lpadmin -p printername -E -v //IPADDRESS/spool -m driver.ppd

где driver.ppd - драйвер для печати с

ps: это также может работать для программного доступа, если принтер установлен ранее.

0 голосов
/ 31 мая 2018

pycups - отличный инструмент; Вот пример кода, который его использует, включая настройку некоторых параметров, таких как подгонка к странице https://sourceforge.net/p/coils/coils-code/ci/master/tree/coils/logic/workflow/actions/doc/ipp_print.py#l58

Существует также код для использования протокола LPR. https://sourceforge.net/p/coils/coils-code/ci/master/tree/coils/logic/workflow/actions/doc/lpr_print.py

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

...