para344
V2EX  ›  问与答

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

  •  
  •   para344 · May 14, 2020 · 3426 views
    This topic created in 2216 days ago, the information mentioned may be changed or developed.

    现在用的是 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 replies    2020-05-14 12:04:42 +08:00
    mlxy123123
        1
    mlxy123123  
       May 14, 2020
    打完文字不切纸,等二维码打完再切就行了
    看打印机支不支持 ESC/POS 指令,直接发二进制呗
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4779 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 09:54 · PVG 17:54 · LAX 02:54 · JFK 05:54
    ♥ Do have faith in what you're doing.