0

我试图在 GS1 Datamatrix 中显示一些数据,其中字段分隔符(FNC1,GS)在变量中传递给 zpl 模板。

最初,在 ZebraDesigner 中,我无法让 zpl 允许我在参数/变量中传递分隔符。分隔符只会在数据中显示为文本,而不是扫描仪的控制字符。(我能够将分隔符作为修复数据传递,但是它需要使用参数)。

或者,我希望编辑 zpl 并将控制字符和 QR 值连接到 Datamatrix 的一个打印数据中。

这是使用一个变量 QRCode 的 zpl:(这有效,但不适用于传递的分隔符)

^BY208,208^FT448,1123^BXN,8,200,0,0,1,~
^FH\^FN18^FDQRCode^FS

这是使用 FNC1 为 \7E 而 GS 为 \1D 的固定数据:(这有效,但不使用变量/参数)

^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

不幸的是,二维码只显示最后一个 var QRData3 的值

4

1 回答 1

0

_使用(下划线)而不是反斜杠来转义您的字段分隔符十六进制代码。
并且只使用一个^FD命令,就像你的第二个例子一样。

^FD有关参考,请参阅命令页面^FHZebra ZPL II Programming Giude^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

为 Data Matrix、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

于 2019-05-10T09:22:25.623 回答