V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
para344
V2EX  ›  问与答

Python 通过小票打印机打印中文及二维码

  •  
  •   para344 · 2020-05-14 10:50:24 +08:00 · 2529 次点击
    这是一个创建于 1436 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在用的是 win32ui 调用打印机,然后可以直接打印文字,大概代码如下:

    hDC = win32ui.CreateDC()

    hDC.CreatePrinterDC(self.printer_name.decode('utf-8'))

    hDC.StartDoc("document start")

    hDC.StartPage()

    hDC.DrawText(......)

    hDC.EndPage()

    hDC.EndDoc()

    hDC.DeleteDC()

    现在想用打印机打印的小票下方包括二维码,目前用的是 Image 打印的方式,大概代码:

    hDC = win32ui.CreateDC()

    hDC.CreatePrinterDC(self.printer_name.decode('utf-8'))

    hDC.StartDoc("document start")

    hDC.StartPage()

    dib1 = ImageWin.Dib(img)

    dib1.draw(hDC.GetHandleOutput(), (30, 0, 4000, -5000))

    hDC.EndPage()

    hDC.EndDoc()

    hDC.DeleteDC()

    但是上方的打印文字和打印图片不能合在一个页面打印,除非我直接编辑待打印的 img,在 img 上写汉字,再直接打印出 img,但是这样打印出来的 img 里排版不太好看。

    请问各位是否知道 python 有什么相关的类库可以直接在打印的汉字下面 接二维码图像吗?

    1 条回复    2020-05-14 12:04:42 +08:00
    mlxy123123
        1
    mlxy123123  
       2020-05-14 12:04:42 +08:00
    打完文字不切纸,等二维码打完再切就行了
    看打印机支不支持 ESC/POS 指令,直接发二进制呗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5300 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 1220ms · UTC 07:50 · PVG 15:50 · LAX 00:50 · JFK 03:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.