我可以從PDF,PRN或PS文件開始。如何使用Python將其發送到USB打印機?我應該開始使用哪個模塊?使用Python將打印作業發送到USB打印機
6
A
回答
1
據我所知,這是兩個封裝:
2
這聽起來像你正在使用Windows,所以讓我們先從在於 - 如果您使用的是Linux,則應答更改。
在Windows中有兩種打印方法。第一種最常見的方式是通過Windows GDI接口發送各個繪圖命令。要做到這一點,您必須將每個單獨的元素放置在適當的位置(文本字符串,圖像和形狀),同時選擇正確的顏色和字體。如果您要自己生成數據,那麼很容易,如果您必須解析正在閱讀的文件,則要困難得多。
另一種選擇是以「原始」模式發送到打印機,打印機驅動程序基本上被旁路。爲了達到這個目的,打印機必須本地理解你提供給它的字節流。有一些打印機本身可以理解Postscript,但我不確定PDF,PRN不是標準格式。
我從來沒有過的Python做原料印刷自己,但這裏給的示例代碼很短的片段的鏈接(和問題的想法,希望):http://bytes.com/topic/python/answers/512143-printing-raw-postscript-data-windows
0
import wx
import win32api
import win32print
class ComboBoxFrame(wx.Frame):
def __init__(self):
# creates a drop down with the list of printers available
wx.Frame.__init__(self, None, -1, 'Printers', size=(350, 300))
panel = wx.Panel(self, -1)
list=[]
#Enum printers returns the list of printers available in the network
printers = win32print.EnumPrinters(
win32print.PRINTER_ENUM_CONNECTIONS
+ win32print.PRINTER_ENUM_LOCAL)
for i in printers:
list.append(i[2])
sampleList = list
wx.StaticText(panel, -1, "Please select one printer from the list of printers to print:", (15, 15))
self.combo =wx.ComboBox(panel, -1, "printers", (15, 40), wx.DefaultSize,sampleList, wx.CB_READONLY)
btn2 = wx.Button(panel, label="Print", pos=(15, 60))
btn2.Bind(wx.EVT_BUTTON, self.Onmsgbox)
self.Centre()
self.Show()
def Onmsgbox(self, event):
filename='duplicate.docx'
# here the user selected printer value will be given as input
#print(win32print.GetDefaultPrinter())
win32api.ShellExecute (
0,
"printto",
filename,
'"%s"' % self.combo.GetValue(),
".",
0
)
print(self.combo.GetValue())
if __name__ =='__main__':
app = wx.App()
ComboBoxFrame().Show()
app.MainLoop()
+0
代碼轉儲(技術上可能是正確的)並不一定幫助OP或未來的訪問者。我會通過解釋代碼來填補答案,即使代碼中的註釋也很有幫助。 – Bugs 2017-03-06 09:08:14
相關問題
- 1. Java打印服務API:將作業發送到打印機後臺打印?
- 2. 在Mac上使用Python打印到USB打印機
- 3. 如何通過React Native向打印機發送打印作業
- 4. 將打印作業發送到SAP Business One的多臺打印機
- 5. 如何自動將打印作業從「Cloud」服務器發送到打印機?
- 6. 從FoxPro打印到USB打印機2.6
- 7. Java打印機:將文檔發送到遠程打印機
- 8. Node.js:如何將打印作業添加到打印機
- 9. 發送要打印到默認打印機的圖像... python
- 10. PDF Java打印:在打印機作業隊列中發送的作業,但沒有打印
- 11. Python打印到/ dev/usb/lp0
- 12. 如何獲取打印機的狀態以及使用wxWidgets發送到打印機的作業
- 13. 從Python打印到標準打印機?
- 14. 從雲發送異步打印作業
- 15. 如何找到哪臺計算機發送打印作業?
- 16. 使用android通過USB從打印機獲取打印
- 17. Python/perl打印服務器;編寫打印作業到文件
- 18. 虛擬打印機:攔截數據發送到打印機使用c#
- 19. 如何使用C#通過USB將原始ZPL發送到斑馬打印機
- 20. 打印bufferedimage到打印機
- 21. Java「打印機不接受作業」舊Brother打印機
- 22. c#將純文本發送到摺紙打印機(Zebra打印機)
- 23. 發送文件到打印機,什麼都不打印
- 24. C#打印 - 數據何時發送到打印機?
- 25. C++發送圖像到打印機,(打印)
- 26. 當我點擊打印時發送到打印機的數據
- 27. USB打印機直通XenServer
- 28. 通過USB發送原始ZPL到Zebra打印機
- 29. 在Delphi中發送數據到USB打印機
- 30. 如何發送命令到USB打印機?
這的確是一個問題超級用戶網站。 – Keith 2011-06-13 02:02:20
你說「USB」就好像它改變了問題。 – 2011-06-13 02:05:40
@Ignacio:也許他認爲它做到了。我們都在這裏學習。 – mpen 2011-06-13 04:20:29