import win32print
import win32api
import win32ui
import win32con
import sys
def send_to_printer(title, txt):
print(title)
print(txt)
INCH = 1440
hDC = win32ui.CreateDC()
hDC.CreatePrinterDC(win32print.GetDefaultPrinter())
hDC.StartDoc(title)
hDC.StartPage()
hDC.SetMapMode(win32con.MM_TWIPS)
ulc_x = 1000
ulc_y = 1000
lrc_x = 16000
lrc_y = 11000
hDC.DrawText(txt, (0, INCH * -1, INCH * 8, INCH * -2), win32con.DT_LEFT)
hDC.EndPage()
hDC.EndDoc()
def hello():
text = u'text doc-测试标题'
content = u'TEST HELLO WORLD! CORSS FIREWALL, WE TOUCH THE WORLD!这是一条测试打印'
send_to_printer(text, content)
if __name__ == '__main__':
hello()
就这么一段简单的代码 ,确实能实现调用打印机并且打印出字符串,但问题是如果是中文就是乱码,可以我在控制台打印出来是正常的中文。求大神帮助