SiriBen
2021-03-17 11:03
采纳率: 25%
浏览 151

python3 pywin32print模块调用系统打印机出现中文乱码

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()

就这么一段简单的代码 ,确实能实现调用打印机并且打印出字符串,但问题是如果是中文就是乱码,可以我在控制台打印出来是正常的中文。求大神帮助

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题