是否有合理的标准和跨平台的方式将文本(甚至是PS/PDF)打印到系统定义的打印机上?从Python打印到标准打印机?
在这里假设CPython,这不像巧用Jython和Java printing API。
是否有合理的标准和跨平台的方式将文本(甚至是PS/PDF)打印到系统定义的打印机上?从Python打印到标准打印机?
在这里假设CPython,这不像巧用Jython和Java printing API。
不幸的是,在所有平台上都没有使用Python进行打印的标准方法。所以你需要编写自己的包装函数来打印。
您需要detect the OS程序运行,然后:
对于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
更多资源:
Print PDF document with python's win32print module?
How do I print to the OS's default printer in Python 3 (cross platform)?
要打印到可以直接发送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
这仅是在Windows上进行测试:
你可以做到以下几点:
import os
os.startfile("C:/Users/TestFile.txt", "print")
这将启动文件,在它的默认打开程序,以动词“打印',它将打印到您的默认打印机。仅需要os
模块随附的标准库
根据https://docs.python.org/2/library/os.html#os.startfile这只适用于Windows – Buzz
您可以尝试wx库。这是一个跨平台的UI库。在这里您可以找到打印教程: http://wiki.wxpython.org/Printing
这是非常有前途的!我不再使用python +打印,但如果打印使用wxpython可以跨平台工作,我会接受这个答案。 –
什么是您的打印机类型?这里有一个关于打印到POS打印机的教程http://goo.gl/rd8lm – Switch
假设Java打印可以做到这一点另一个“聪明”的解决方案是JPype(一种获得cpython和jvm相互通信/运行代码的方式) –