打印到远程IPP / CUPS服务器或打印机的最简单方法(在python中)是什么?

时间:2009-08-19 21:11:42

标签: python printing cups ipp-protocol

我有一个postscript文件,希望它打印在支持IPP的设备(或CUPS服务器)上。我可以做到的最小代码和依赖项是什么。

使用LPR或libcups给了我很多跨平台的依赖关系。所以我的第一种方法是实现IPP的最小子集(杯子和许多现代打印机使用的协议),因为“它只是扩展的HTTP”。但不幸的是,IPP客户端的代码远远多于几行代码,到目前为止,我发现没有IPP客户端实现仅用于打印而不管理打印服务器。

我更喜欢Python中的解决方案,但也会对使用动态语言的内容感到满意。

3 个答案:

答案 0 :(得分:1)

您需要将远程打印机添加到CUPS:

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

其中driver.ppd是用

打印的驱动程序

ps:如果之前设置了打印机,这也适用于程序访问。

答案 1 :(得分:1)

github上提供了CUPS ipptool的python包装器:

您可能还想查看this answer

答案 2 :(得分:0)

pycups是一个很好的工具;下面是一些使用它的代码示例 - 包括设置一些选项,如fit-to-page 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

直接与打印服务器通信比包装平台相关的命令行工具要好得多。