我想使用Python将文本文件打印到本地打印机(名称:“XP-58”,类型:热敏POS打印机,操作系统:Windows 8.1)。最佳方法是什么?我找到了这个,但我找不到方法去做。一个最优的解决方案可能是这样的:
我试图使用上面链接中的原始打印功能,将其更改为函数,但我在打印机上没有得到任何东西。这是我的代码:
- currentprinter = X
- tempprinter = "XP-58"
- 打开文件“test.txt”
- 打印到临时打印机
- 将打印机设置为当前打印机
我试图使用上面链接中的原始打印功能,将其更改为函数,但我在打印机上没有得到任何东西。这是我的代码:
import os, sys
import win32print
printer_name = win32print.GetDefaultPrinter ()
hPrinter = win32print.OpenPrinter (printer_name)
def prn_txt(text):
if sys.version_info >= (3,):
raw_data = bytes (text, "utf-8")
else:
raw_data = text
try:
hJob = win32print.StartDocPrinter (hPrinter, 1, ("test of raw data", None, "RAW"))
try:
win32print.StartPagePrinter (hPrinter)
win32print.WritePrinter (hPrinter, raw_data)
win32print.EndPagePrinter (hPrinter)
finally:
win32print.EndDocPrinter (hPrinter)
finally:
win32print.ClosePrinter (hPrinter)
txt = "blabla"
print prn_txt(txt)
但是什么也没有发生?我做错了什么?