Menu
ZPL 中的二维码深度解析

ZPL 二维码 — ^BQ 命令完整指南

在 ZPL 中生成二维码所需的一切:^BQ 语法、参数、纠错、尺寸和复制粘贴示例——免费,无需注册。

TL;DR

ZPL 中的二维码由 ^BQ 命令生成。基本语法:^FOx,y ^BQ 方向,模型,放大倍数 ^FD <ECC><模式>,数据 ^FS。务必使用模型 2(模型 1 是旧版)。^FD 的 payload 以两个字母开头:第一个是纠错级别(H、Q、M、L),第二个是输入模式(A = 自动编码,M = 手动分段)。HA, 是物流/户外的安全默认(H 恢复 + 自动)。放大倍数(1-10)控制模块大小——在 203 dpi 的 4×6 英寸标签上从 5 开始。在格式内添加 ^CI28 以在 payload 中启用 UTF-8。

立即试用我们的免费ZPL工具

免费,浏览器内运行 — 即时结果

ZPL 中的二维码是什么?

ZPL 中的二维码是由 ^BQ 命令生成的二维条形码——Zebra 打印机支持的最强大符号体系之一。单个二维码可存储多达 4,296 个字母数字字符或 7,089 个数字,支持 Reed–Solomon 纠错(部分损坏或脏污仍可读),可被任何智能手机摄像头和工业扫描器识别。因此它是追踪 URL、vCard 名片、GS1 应用标识符、WiFi 凭据、交通票据以及超出 1D 条形码 20 字符最佳区间的任何 payload 的通用选择。

在 ZPL 中,二维码像任何其他字段一样存在于 ^XA..^XZ 格式中。用 ^FO 或 ^FT 定位,用 ^BQ 声明,并在 ^FD 中在逗号和实际数据之前加两个字符:第一个字符是纠错级别(H、Q、M 或 L),第二个是输入模式(A 表示自动编码选择,M 表示手动分段)。对于大多数生产用例,你写 ^FDHA,数据^FS——高恢复,自动编码。没有单独的 ^BY 宽度步骤,因为模块大小由放大倍数参数直接控制——在 203 dpi 的 4×6 英寸标签上典型值为 4 到 8。模型参数应始终为 2(模型 1 是旧版,不推荐用于新设计)。

^BQ 命令语法

最小二维码声明在 ^BQ 后接 3 个参数——方向、模型和放大倍数。纠错级别和输入模式作为 2 字符前缀加逗号放在 ^FD 内(见下方的「Field Data 格式」一节)。标准结构如下:

^XA
^CI28                                ; 国际数据使用 UTF-8
^FO50,50                             ; 位置 X=50, Y=50
^BQ 方向,模型,放大倍数                ; 方向 N/R/I/B,模型 2,放大 1-10
^FD <ECC><模式>,<payload>^FS         ; ECC = H/Q/M/L,模式 = A(自动)或 M(手动)
^XZ

; 典型生产行:高恢复 + 自动编码
; ^FDHA,https://zplpdf.com^FS

^BQ 参数

参数描述有效值默认
方向QR 符号在标签上的旋转。物流标签用 N,垂直堆叠内容时用 R。N, R, I, BN
模型QR 模型。新设计始终使用 2。模型 1 是 1994 年的旧规范,大多数现代扫描器只针对模型 2。1, 22
放大倍数模块(点)大小乘数。每单位在 203 dpi 下每模块约增加 5 dots。值越大 = 二维码越大越易扫描,但占用更多标签空间。1–10依 dpi
ECC override在 ^BQ 命令本身的可选纠错覆盖。实际上此槽留空,级别由 ^FD 的第一个字符选择(H/Q/M/L)——见 Field Data 格式。H, Q, M, L空(用 ^FD 前缀)
掩码值当自然 payload 产生均匀区域时,可选的位模式掩码改善扫描器可读性。几乎不需要手动设置。0–77

Field Data 格式:<ECC><模式>,数据

^BQ 的 ^FD payload 总是以逗号前的两个字符开头:第一个是纠错级别(H、Q、M 或 L),第二个是输入模式(A 表示自动编码选择,M 表示手动分段,你用 N/A/B/K 前缀标记每段编码)。下面的四张卡片显示你在生产中会用到的组合。选对组合是最重要的决定——大多数生产 bug 都源于误读这两个字符。

高恢复 + 自动(推荐默认)

HA,

~30% 损坏恢复和自动编码选择。对于可能磨损的物流、货运和户外标签,这是最安全的选择。

^FO50,50^BQN,2,6^FDHA,https://zplpdf.com/track/A-7782^FS

中等恢复 + 自动(通用)

MA,

~15% 恢复——为干净的室内标签(办公、零售、电商)提供最佳的容量与可恢复性平衡。

^FO50,50^BQN,2,6^FDMA,SKU:COF-ORG-250^FS

低恢复 + 自动(最大容量)

LA,

~7% 恢复,最密集编码。仅当 payload 较长且标签在室内高分辨率打印时使用。

^FO50,50^BQN,2,6^FDLA,<带许多参数的长URL>^FS

高恢复 + 手动模式(高级)

HM,

手动模式允许在数据中用 N(数字)、A(字母数字)、B(字节)或 K(汉字)前缀按段标记编码。仅当自动模式产生次优编码时使用。

^FO50,50^BQN,2,6^FDHM,N0123456789AABC1234^FS

纠错级别(H / Q / M / L)

Reed–Solomon 纠错允许二维码即使在符号部分缺失或损坏时仍可读。代价是容量:级别越高添加更多冗余,留给实际数据的空间越少。级别由 ^FD 前缀的第一个字符选择——HA 表示 H + 自动,MA 表示 M + 自动,依此类推。没有隐式默认值——你始终明确声明级别。对于物流和户外,HA 是推荐的起点;对于干净的室内标签,MA 节省空间。

级别恢复何时使用
L~7%最大容量,干净的室内标签,高分辨率打印的营销海报。
M~15%通用默认。办公、零售、电商标签的良好平衡。
Q~25%暴露于磨损的热敏标签(仓库、货运)和稍微脏污的环境。
H~30%户外标签、冷链,任何二维码可能被刮擦、弄脏或部分撕裂的地方。用 HA, 前缀选择。

尺寸和放大倍数

ZPL 中的二维码尺寸由放大倍数参数(1–10)控制——二维码没有 ^BY 步骤。每单位在 203 dpi 时将模块(二维码最小方块)乘以 4 dots,在 300 dpi 时乘以 6 dots。符号总大小取决于放大倍数和 payload 长度(数据越多 → 模块越多 → 代码越大)。

  • 203 dpi 打印机 + 放大倍数 5 ≈ 200×200 dots ≈ 25×25 mm,带 50 字符 URL。
  • 203 dpi 打印机 + 放大倍数 8 ≈ 320×320 dots ≈ 40×40 mm — 推荐用于 >50 cm 的户外扫描。
  • 300 dpi 打印机 + 放大倍数 5 ≈ 300×300 dots ≈ 25×25 mm,带 50 字符 URL。
  • 如果 URL 较短(≤25 字符)且标签距摄像头 20 cm 以内,智能手机可可靠读取放大倍数 3。
  • 始终先在最慢的预期扫描器上测试;将放大倍数提高 1 比现场扫描失败更便宜。
  • 低于 0.4 mm 的模块大小在大多数低端成像仪上变得不可读——203 dpi 打印机上保持放大倍数 ≥4。

复制粘贴二维码示例

下面每个示例都是完整的 ^XA..^XZ 块。粘贴到 ZPLPDF 查看器以查看打印机将精确产生的内容。

带高恢复的追踪 URL(最常见)

90% 的情况:用任何智能手机摄像头扫描时打开追踪 URL 的二维码。HA, 提供高纠错(~30% 恢复)加自动编码选择——是任何物流或电商标签的安全默认。

^XA
^CI28
^FO50,50
^BQN,2,6
^FDHA,https://zplpdf.com/track/A-7782^FS
^XZ

vCard 名片

存储完整联系人(姓名、电话、邮箱、组织)以便扫描标签时将联系人添加到智能手机。使用 MA,(中等恢复 + 自动)和放大倍数 7 以保持约 250 字符可扫描。

^XA
^CI28
^FO50,50
^BQN,2,7
^FDMA,BEGIN:VCARD\nVERSION:3.0\nN:李;明\nFN:李明\nORG:ZPLPDF Inc.\nTEL:+86-10-5555-0142\nEMAIL:liming@zplpdf.com\nEND:VCARD^FS
^XZ

GS1 应用标识符(制药)

按照 GS1 Digital Link 约定,在单个二维码中编码 (01) GTIN + (17) 有效期 + (10) 批次。常用于制药追溯——HA, 提供该标准期望的高恢复。

^XA
^CI28
^FO50,50
^BQN,2,6
^FDHA,https://id.gs1.org/01/07640123456789/17/270930/10/B25C-0481^FS
^XZ

WiFi 凭据(Android 与 iOS)

扫描二维码会自动将设备连接到 WiFi 网络。在包装或活动徽章上使用。将 SSID 和密码替换为你的值。MA,(中等 + 自动)对于干净的室内标签足够。

^XA
^CI28
^FO50,50
^BQN,2,6
^FDMA,WIFI:T:WPA;S:Office-Guest;P:Welcome2026;;^FS
^XZ

高恢复户外/冷链标签

当标签可能被刮擦、弄脏或部分撕裂时(冷链、货运、恶劣物流),提高放大倍数并保持 HA, 前缀,以便二维码经受住部分损坏。

^XA
^CI28
^FO50,50
^BQN,2,8
^FDHA,FREIGHT-A-7782^FS
^XZ

国际字符(UTF-8)

非 ASCII 字符(中文, ñ, ç, é)需要在格式内使用 ^CI28 以便打印机将 payload 视为 UTF-8。MA,(中等 + 自动)会透明地处理字节段;没有 ^CI28,数据中会显示 ?。

^XA
^CI28
^FO50,50
^BQN,2,6
^FDMA,客户订单 #A-7782\n姓名: 李明^FS
^XZ

常见二维码错误及修复方法

二维码打印但扫描器无法读取。

对于数据 payload 放大倍数过低——模块比扫描器最小值还小。

将放大倍数增加 2(例如 5 → 7),并确认模块宽度至少 0.4 mm。

扫描器读取但 UTF-8 字符显示为 ?。

^BQ 前缺少 ^CI28——默认代码页删除非 ASCII 字节。

在 ^XA 后立即添加 ^CI28。HA,/MA, 自动输入模式会正确处理 UTF-8 字节。

二维码看起来呈块状,智能手机摄像头拒绝识别。

在 ^BQ 中使用了模型 1(旧版)而不是模型 2。

使用 ^BQN,2,<mag>——新设计的模型槽始终为 2。

长 URL 打印但在部分磨损的标签上扫描失败。

选择了低 ECC 级别(LA, 或 MA,),所以二维码无法承受部分损坏。

对任何可能在现场被磨损的标签使用 HA,(高恢复,~30% 损坏容忍)。

二维码周围多余的空白迫使标签过大。

因为显式 ^FO 继承了格式中较早 1D 条形码的旧 ^BY 值,安静区过大。

在符号体系之间重置 ^BY,或简单地用 QR 自己的 ^FO 在任何先前 ^BY 块之外定位。

二维码在查看器上编码正确但在 Datalogic / Honeywell 扫描器上失败。

工业成像仪通常需要最小模块大小和 4 模块的安静区。

将放大倍数增加到 ≥6,并在符号周围保持至少 4 模块的边距。

ZPL 二维码——常见问题

二维码的 ZPL 命令是什么?

^BQ 在 ZPL 中生成二维码。最小语法是 ^BQ 方向,模型,放大倍数,后跟 ^FD <ECC><模式>,数据 ^FS,其中 <ECC> 是纠错级别(H/Q/M/L),<模式> 是 A(自动编码)或 M(手动分段)。示例:^FO50,50 ^BQN,2,6 ^FDHA,https://example.com ^FS 在位置 (50,50) 打印一个二维码,使用模型 2、放大倍数 6、高恢复和自动编码。

^FD 中逗号前的两个字符(HA、MA、QA…)是什么意思?

第一个字符是纠错级别:H(~30% 恢复)、Q(~25%)、M(~15%)、L(~7%)。第二个是输入模式:A 表示自动编码(打印机选择数字、字母数字或字节)或 M 表示手动分段(你用 N/A/B/K 前缀标记每段)。所以 HA, 表示高恢复 + 自动编码——安全默认。QA, 表示四分位恢复(~25%)+ 自动编码,不是「高恢复」。

如何更改 ZPL 中二维码的大小?

使用 ^BQ 中的放大倍数参数。1 到 10 的值乘以模块大小。在 203 dpi 打印机上,放大倍数 5 为 50 字符的 URL 产生约 25 mm 的二维码;放大倍数 8 产生约 40 mm 用于户外扫描。

应该使用哪个纠错级别?

HA,(~30% 恢复 + 自动编码)是物流、户外以及任何可能被磨损的标签的最安全默认值。MA,(~15%)在干净的室内标签(办公、零售、电商)上节省空间。QA,(~25%)是中间选项。LA,(~7%)只在你绝对需要最大容量且标签保持完好时使用。

为什么我的二维码不适用于国际字符?

默认情况下打印机会剥离非 ASCII 字节。在格式内(紧接在 ^XA 之后)添加 ^CI28 以在 payload 中启用 UTF-8。HA, 或 MA, 自动输入模式会正确处理 UTF-8 字节序列——你不需要仅为重音或 CJK 字符切换到手动模式。

ZPL 中的二维码可以存储 vCard 或 WiFi 凭据吗?

可以。两者都是遵循标准 QR 约定的纯文本 payload。使用 MA,(或在标签可能被磨损时使用 HA,)并将放大倍数提高到 7+,因为 payload 比 URL 更长。请参阅上面的 vCard 和 WiFi 复制粘贴模板。

ZPL 二维码的最大 payload 是多少?

理论最大值是 7,089 个数字、4,296 个字母数字或 2,953 个字节——但在纠错 H 下。实际上,对于 203 dpi 放大倍数 5–6 的可靠热敏打印,payload 应保持在 300 个字符以下。

二维码模型 1 vs 模型 2 — ZPL 使用哪个?

始终使用模型 2(^BQ 中的第二个参数)。模型 1 是 1994 年的旧规范,容量较小且纠错级别较少。大多数现代扫描器只针对模型 2。

我可以在没有打印机的情况下测试 ZPL 二维码吗?

可以——将基于 ^BQ 的 ZPL 代码粘贴到我们的免费在线 ZPL 查看器中,即可看到打印机渲染的二维码,然后在送入打印机前用任何智能手机验证扫描。

所有 Zebra 打印机型号都支持二维码吗?

是。所有支持 ZPL II 的现代 Zebra 打印机(ZD、ZT、ZE、ZQ、GK、GX 系列及更新机型)都支持 ^BQ。工业型号上的旧固件可能默认为模型 1,因此始终显式声明模型 2。

立即渲染您的二维码

将本页面上的任何示例粘贴到我们的免费在线 ZPL 查看器中,即可看到打印机将精确产生的二维码。