Как объединить несколько полей для матрицы данных GS1 (BXN) в Zebra Programming Lang (ZPL)
Я пытаюсь показать некоторые данные в матрице данных GS1, в которой разделители полей (FNC1,GS) передаются внутри переменной в шаблон zpl.
Первоначально в ZebraDesigner я не мог заставить zpl позволить мне передавать разделители внутри параметра / переменной. Разделители будут отображаться только как текст внутри данных, а не как управляющие символы для сканера. (Я смог передать разделители как Fix Data, однако он должен работать с параметром).
В качестве альтернативы я надеялся отредактировать zpl и объединить управляющие символы и значения QR в одну распечатанную информацию для Datamatrix.
Это zpl с использованием одной переменной QRCode: (это работает, но не с пропущенными разделителями)
^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
К сожалению, QR-код показывает только значение для последней переменной QRData3
1 ответ
Побег ваш шестнадцатеричный код полевого сепаратора с _
(подчеркивание), а не с обратной косой чертой.
И использовать только один ^FD
команда, как в вашем втором примере.
Для справки смотрите страницы команд ^FD
, ^FH
а также ^BX
в программировании Zebra ZPL II
Как выяснил ОП, полевой сепаратор _d029
работал на него! Это шестнадцатеричное значение (0xD029) для управляющего символа.
Более подробную информацию можно найти здесь:
Кодировать GS,RS и EOT для кода 128 и PDF417
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
Кодировать GS,RS и EOT для матрицы данных, ацтеков и QR-кода
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