我试图在 GS1 Datamatrix 中显示一些数据,该数据矩阵具有字段分隔符(FNC1,GS),在变量中传递给 zpl 模板。
最初,在 ZebraDesigner 中,我无法让 zpl 允许我在参数/变量中传递分隔符。分隔符只会显示为数据中的文本,而不是扫描仪的控制字符。 (我能够将分隔符作为固定数据传递,但是它需要使用参数)。
或者,我希望编辑 zpl 并将控制字符和 QR 值连接到 Datamatrix 的一个打印数据中。
This is zpl using one variable QRCode: (This works but not with passed separators)
^BY208,208^FT448,1123^BXN,8,200,0,0,1,~
^FH\^FN18^FDQRCode^FS
这是使用 FNC1 为 E 且 GS 为 D 的固定数据:(这有效但不使用变量/参数)
^BY208,208^FT448,1123^BXN,8,200,0,0,1,~
^FH\^FD\7E188text234567890\1Dmoretext^FS
这是我尝试连接分隔符和变量 QRData1...:
^BY208,208^FT448,1123^BXN,8,200,0,0,1,~
^FH\^FD\7E^FN18^FDQRData1^FN22^FD\1D^FDQRData2^FD\1D^FN23^FDQRData3^FS
不幸的是,二维码只显示最后一个变量 QRData3 的值
使用
_
(下划线)转义您的字段分隔符十六进制代码,而不是使用反斜杠。^FD
命令,就像在你的第二个例子中一样。
有关参考,请参阅
Zebra ZPL II Programming Giude
中的命令
^FD
、
^FH
和^BX
的页面
OP 发现,字段分隔符
_d029
对他有用!这是控制字符的十六进制值 (0xD029)。
可以在这里找到更多信息:
为 Code 128 和 PDF417 编码 GS、RS 和 EOT
GS 是~029
RS 是~030
EOT 是~004例子:
[)><RS>06<GS>13V12GG7<GS>1P029-102489-157<GS>NC-411-661478-1<RS><EOT>
输入数据为:
[)>~03006~d02913V12GG7~0291P029-102489-157~029NC-411-661478-1~030~004
为数据矩阵、Aztec 和 QR 码编码 GS、RS 和 EOT
GS 是 ~d029
RS 是 ~d030
EOT 是 ~d004例子:
[)><RS>06<GS>13V12GG7<GS>1P029-102489-157<GS>NC-411-661478-1<RS><EOT>
输入数据为:
[)>~d03006~d02913V12GG7~d0291P029-102489-157~d029NC-411-661478-1~d030~d004