我有一个postscript文件,希望它打印在支持IPP的设备(或CUPS服务器)上。我可以做到的最小代码和依赖项是什么。
使用LPR或libcups给了我很多跨平台的依赖关系。所以我的第一种方法是实现IPP的最小子集(杯子和许多现代打印机使用的协议),因为“它只是扩展的HTTP”。但不幸的是,IPP客户端的代码远远多于几行代码,到目前为止,我发现没有IPP客户端实现仅用于打印而不管理打印服务器。
我更喜欢Python中的解决方案,但也会对使用动态语言的内容感到满意。
答案 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
直接与打印服务器通信比包装平台相关的命令行工具要好得多。