You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python Escpos打印票据末尾5cm空白如何消除以节省纸张

Python Escpos 适配 PRINTER TG2460HIII 消除末尾多余空白方案

末尾5cm多余空白是Escpos库默认参数和该型号硬件参数不匹配导致的,不需要设置最大打印尺寸,按以下步骤调整即可完全消除空白:

  • 核心参数修正:替换默认切纸走纸长度
    Escpos库默认切纸前走纸长度是48mm左右,刚好对应你看到的5cm空白,而TG2460HIII的切刀、弹票模块距离热敏打印头的物理间距仅为18mm,直接在切纸指令里指定匹配的走纸长度即可,参考代码:

    from escpos.printer import Usb, Serial
    
    # 按你实际的连接方式初始化,USB/RS232二选一即可
    # USB连接示例,idVendor和idProduct可在系统设备管理器中查询
    p = Usb(idVendor=0x20d1, idProduct=0x7009)
    # RS232串口连接示例,按你实际的串口号、波特率修改
    # p = Serial(devfile='/dev/ttyUSB0', baudrate=9600, bytesize=8, parity='N', stopbits=1)
    
    # 常规打印参数配置
    p.set(align='left', font='a', width=1, height=1)
    
    # 写入你的所有票据内容:文本、二维码、条码、图片等
    p.text("=== 消费凭证 ===\n")
    p.text("消费金额:100.00元\n")
    p.qr("order_123456", size=6)
    
    # 关键:切纸+弹票时指定走纸长度为18mm,不要用默认值
    p.cut(mode='FULL', feed=18)
    # 触发弹票动作不需要额外走纸
    p._raw(b'\x1b\x70\x00\x20\x20')
    

    切纸指令的feed参数是核心调整项,默认值适配的是老式爱普生票据机的48mm走纸量,和你当前使用的TG2460HIII硬件不匹配才会产生固定长度的末尾空白。

  • 额外配置:关闭打印机固定页长模式
    如果修改切纸参数后仍有多余空白,是打印机默认开启了固定页长检测,会强制走纸到预设页长才停止,发送原生ESC指令切换为连续纸模式即可:

    # 关闭固定页长配置,切换为连续热敏纸模式
    p._raw(b'\x1d\x6c\x00')
    # 禁用自动走纸到下一页起始位逻辑
    p._raw(b'\x1b\x43\x00')
    
  • 避坑说明

    • 不要在代码里设置page_height参数,连续纸模式下设置固定页高会强制走纸到对应高度,反而产生空白
    • 打印内容过程中不要无意义调用p.ln()多次走纸,所有内容打印完成后仅在切纸前走18mm即可
    • 不要开启Escpos库的auto_feed自动走纸开关,该开关默认会在打印结束后追加30mm以上的走纸量

内容的提问来源于stack exchange,提问作者macop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 21:15:43