从Python打印到标准打印机?

Pro*_*ica 28 python printing cpython

是否有合理的标准和跨平台方式将文本(甚至PS/PDF)打印到系统定义的打印机?

假设这里有CPython,而不是像使用Jython和Java打印API那样聪明.

Anu*_*pta 25

不幸的是,没有标准的方法可以在所有平台上使用Python进行打印.因此,您需要编写自己的包装函数进行打印.

您需要检测程序运行的操作系统,然后:

对于Linux -

import subprocess
lpr =  subprocess.Popen("/usr/bin/lpr", stdin=subprocess.PIPE)
lpr.stdin.write(your_data_here)
Run Code Online (Sandbox Code Playgroud)

对于Windows:http://timgolden.me.uk/python/win32_how_do_i/print.html

更多资源:

使用python的win32print模块打印PDF文档?

如何在Python 3(跨平台)中打印到OS的默认打印机?


小智 24

这只在Windows上测试过:

您可以执行以下操作:

import os

os.startfile("C:/Users/TestFile.txt", "print")
Run Code Online (Sandbox Code Playgroud)

这将在默认的开启工具中使用动词'print'启动文件,该文件将打印到您的默认打印机.只需要os标准库附带的模块


小智 6

要打印到网络上的任何打印机,您可以将PJL/PCL打印作业直接发送到端口9100上的网络打印机.

请看下面的链接应该是一个良好的开端:

http://frank.zinepal.com/printing-directly-to-a-network-printer

此外,如果有办法调用Windows cmd,您可以使用FTP来打印您的页面9100.下面的链接应该给你详细信息,我已经使用这种方法的HP打印机,但我相信它将适用于其他打印机.

http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpj06165


Adm*_*ian 5

您可以尝试 wxPython 库。它是一个跨平台的 UI 库。

在这里您可以找到打印教程: https://web.archive.org/web/20160619163747/http ://wiki.wxpython.org/Printing