Как создать штрих-код GS1-128 с помощью ZPL с контрольной цифрой - PullRequest
1 голос
/ 19 июня 2019

Мне нужно сгенерировать штрих-код GS1-128 с помощью ZPL. Это должно включать контрольную цифру. Я не вижу контрольной цифры.

Here is my code:
^BCN,088,Y,Y,Y,D^FD(00)00123456000057763^FS

The first "Y"  is saying to print the human readable along with the 
barcode.  The third "Y" is supposed to tell it to include a check digit.  
I'm not seeing the check digit in the human readable, my scanner is not 
displaying a check digit, so I'm assuming it is also not in the barcode?  


Here is from the spec:
SSCC Barcode Structure (20 digits) 
Application Identifier = (00) 
Positions of SSCC barcode: 
 1 = Extension Digit (0-9 assigned by Vendor) 
 2 = 0 if mfg id # assigned by GS1 US; 
 1-9 if mfg id # assigned by another GS1 MO 
 3 thru 8 = 6-digit mfg id # 
 9 thru 17 = 9-digit serial id # -must be unique for one year
 18 = Modulo 10 check character

1 Ответ

0 голосов
/ 19 июня 2019

TLDR; ^BCN,088,Y,Y,,D ^FD(00)001234560000577630^FS

Третий Y включает Checkdigit, но не тот, который вам нужен (Руководство по ZPL, стр. 73):

Мод 103 контрольная цифра всегда есть. Он не может быть включен или выключен. Моды 10 и 103 появляются вместе с включенным [третий Y].

Когда вы используете D, он автоматически добавляет контрольную цифру (Руководство по ZPL, p80):

принтер автоматически определяет, требуется ли контрольная цифра, вычисляет ее и распечатывает.

Но что более важно, он ожидает, что вы отправите 18 цифр:

Круглые скобки и пробелы могут быть в полевых данных. '00' идентификатор приложения, затем на 17 символов, за которыми следует фиктивный заполнитель контрольной цифры.

Он уберет 18-ю цифру и заменит ее как в штрих-коде, так и в удобочитаемой для человека части.

https://www.zebra.com/content/dam/zebra/manuals/printers/common/programming/zpl-zbi2-pm-en.pdf

...