如何在 Zebra Programming Lang (ZPL) 中为 GS1 数据矩阵 (BXN) 连接多个字段

问题描述 投票:0回答:1

我试图在 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 的值

qr-code zpl zpl-ii gs1-ai-syntax gs1-datamatrix
1个回答
0
投票

使用

_
(下划线)转义您的字段分隔符十六进制代码,而不是使用反斜杠。
并且只使用一个
^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

© www.soinside.com 2019 - 2024. All rights reserved.