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

使用^FN命令结合^BQ生成QR码时丢失前3字符的技术求助

解决ZPL中RFID数据生成QR码丢失前3字符的问题

问题情况

通过^FN命令调用^RF读取的RFID数据生成QR码时,QR码会丢失前3个字符,但PDF417、Datamatrix、Code128等条码可正常生成完整内容。

原格式定义与调用代码:

^XA
^DFR:MYFORMAT.ZPL^FS
^FO210,50^A0N,30,30^FDTag Data:^FS
^FO210,100^A0N,30,30^FN1^FS
^FO250,130
^BQN,2,6^FN1^FS
^XZ

^XA
^XFR:MYFORMAT.ZPL^FS
^FN1^RFR,H,0,1,E^FS
^XZ

曾尝试在^FD中加入QR码开关QA,(如^FN1^FDQA,^RFR,H,0,64,E^FS),但生成的QR码无法被识别。

解决方案

核心是给QR码的^BQ命令单独指定数据格式开关,而非将开关写入^FN的赋值内容中。修改后的代码如下:

格式定义部分

^XA
^DFR:MYFORMAT.ZPL^FS
^FO210,50^A0N,30,30^FDTag Data:^FS
^FO210,100^A0N,30,30^FN1^FS
^FO250,130
^BQN,2,6^FDQA,^FN1^FS  // 在^BQ的^FD中添加QA,开关,再引用存储RFID数据的^FN1
^XZ

调用部分(保持不变)

^XA
^XFR:MYFORMAT.ZPL^FS
^FN1^RFR,H,0,1,E^FS
^XZ

原理说明

  • ZPL中QR码默认会对部分数据类型跳过前3个字符,通过在^BQ的^FD里添加QA,开关,可强制QR码完整解析后续所有数据。
  • 之前的错误尝试是把QA,写入^FN的赋值内容,导致QA,被当成数据的一部分存储,而非QR码的格式识别开关,因此无法正常识别。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 17:02:35