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

使用Python通过ZPL生成含二维码的9×3cm标签并保存为PDF的方法咨询

要实现9×3厘米的标签PDF生成,按以下步骤修改代码即可:

核心修改逻辑

  • 首先做单位转换:Labelary API的标签尺寸参数采用英寸作为单位,9cm换算为约3.54英寸,3cm换算为约1.18英寸,直接替换接口URL中的尺寸参数即可。
  • 其次调整ZPL布局:你当前使用的是8dpmm的打印精度(每毫米对应8个打印点),3厘米高度对应总打印点数为240,9厘米宽度对应总打印点数为720,原来的ZPL里的边框、文字、二维码坐标都要调整到这个范围内,避免内容溢出被裁切。

修改后可直接运行的代码

import requests
import shutil

zpl = """
^XA
^FO30,20^A0,18^FDID 123456^FS

^FO100,40
^BQN,2,3
^FDQA,QR_CODE^FS

^FO280,60^A0,18^FDTest here^FS
^FO280,90^A0,18^FDSome more text here^FS
^FO10,10^GB700,220,2^FS

^XZ
"""

# 尺寸参数已替换为9cm×3cm对应的英寸值
url = 'http://api.labelary.com/v1/printers/8dpmm/labels/3.54x1.18/0/'
files = {'file' : zpl}
headers = {'Accept' : 'application/pdf'}
response = requests.post(url, headers = headers, files = files, stream = True)

if response.status_code == 200:
    response.raw.decode_content = True
    with open('label.pdf', 'wb') as out_file:
        shutil.copyfileobj(response.raw, out_file)
else:
    print('Error: ' + response.text)

参数调整说明

  • 如果需要调整二维码大小,可以修改^BQN,2,3里的最后一位数字,数值越大二维码越大。
  • 如果需要调整文本位置,修改对应^FO后面的两个数值即可,第一个是横向偏移量,第二个是纵向偏移量,单位都是打印点。
  • 如果需要用竖版标签,把URL里的尺寸改成1.18x3.54,同时对应调整ZPL里的坐标布局即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 19:45:03