是否有合理的標準和跨平臺的方式將文本(甚至是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相互通信/運行代碼的方式) –