从Python打印到标准打印机?
是否有合理的标准和跨平台的方式来打印文本(甚至是PS / PDF)到系统定义的打印机?
假设CPython在这里,不像使用Jython和Java打印API那样聪明。
不幸的是,在所有平台上都没有使用Python进行打印的标准方法。 所以你需要编写自己的包装函数来打印。
您需要检测您的程序正在运行的操作系统 ,然后:
对于Linux –
import subprocess lpr = subprocess.Popen("/usr/bin/lpr", stdin=subprocess.PIPE) lpr.stdin.write(your_data_here)
对于Windows: http : //timgolden.me.uk/python/win32_how_do_i/print.html
更多资源:
用python的win32print模块打印PDF文档?
如何在Python 3(跨平台)中打印到操作系统的默认打印机?
这只在Windows上进行过testing:
您可以执行以下操作:
import os os.startfile("C:/Users/TestFile.txt", "print")
这将在其默认开启器中启动该文件,其中动词“print”将打印到默认打印机。只需要标准库附带的os
模块
要打印到networking上的任何打印机,您可以将PJL / PCL打印作业直接发送到端口9100上的networking打印机。
请看下面的链接应该给一个好的开始:
http://frank.zinepal.com/printing-directly-to-a-network-printer
此外,如果有一种方法可以调用Windows cmd,则可以使用FTP将打印页面打印在9100上。下面的链接应该会给出详细信息,我已经将这种方法用于惠普打印机,但是我相信它可以用于其他打印机。
http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpj06165
你可以试试wx库。 这是一个跨平台的UI库。 在这里你可以find打印教程: http : //wiki.wxpython.org/Printing