【问题标题】:What is the simplest way (in python) to print to a remote IPP/CUPS server or printer?打印到远程 IPP/CUPS 服务器或打印机的最简单方法是什么(在 python 中)?
【发布时间】:2010-11-21 02:52:03
【问题描述】:

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

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

我更喜欢 Python 中的解决方案,但也对其他动态语言中的某些东西感到满意。

【问题讨论】:

    标签: python printing cups ipp-protocol


    【解决方案1】:

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

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

    其中 driver.ppd 是用于打印的驱动程序

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

    【讨论】:

    【解决方案2】:

    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

    直接与打印服务器通信比封装依赖于平台的命令行工具要好得多。

    【讨论】:

      【解决方案3】:

      在 github 上有一个用于 CUPS ipptool 的 python 包装器:

      这个 python 库看起来也很有前途:

      您可能还想查看this answer

      【讨论】:

        猜你喜欢
        • 2011-10-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-18
        • 2012-12-05
        • 2010-12-11
        • 1970-01-01
        • 2021-11-11
        相关资源
        最近更新 更多