Именно одномерные штрих-коды большинство людей ассоциирует с термином «штрих-код». Они состоят из ряда полосок и пробелов разной ширины.
Разработанный Intermec в 1977 году Код 11 похож на Code 2 of 5 Matrix и используется в основном в области телекоммуникации. Могут кодироваться в строки любой длины. Допустимы цифры 0..9 и символ '-'. Используется одна контрольная цифра (алгоритм modulo-11).
Код 2 из 5 представляет собой семейство одномерных штрих-кодов, 8 из которых поддерживается Zint. Обратите внимание, что эти штрих-коды в разных местах могут называться по разному, поэтому перед использованием этих штрих-кодов вам следует убедиться, что вы используете верный формат.
Стандартный Code 2 of 5, также известный как Code 2 of 5 Matrix, это код, обеспечивающий самоконтоль, используемый в промышленности и разработке фотографий. С помощью стандартного Code 2 of 5 можно кодировать числовые данные любой длины (цифры: 0 – 9).
Используется Международным агентством воздушного транспорта (IATA) в авиационных перевозках для обработки багажа. C помощью этого самоконтролируемого кода также кодировать числовые входные данные любой длины (цифры: 0 – 9). Контрольной цифры нет.
Промышленный Code 2 of 5 также может кодировать числовые входные данные любой длины (цифры: 0 – 9). Контрольной цифры нет.
С помощью этого самоконтролируемого форматы кодируют пары чисел, и поэтому можно кодировать только четное число цифр (0 – 9). Если введено нечетное число цифр, Zint добавляет в начала кода цифру 0. Контрольная цифра не добавляется.
Data Logic также не включает контрольную цифру; с его помощью можно кодировать числовые входные данные любой длины (цифры: 0 – 9).
ITF-14, также известный как штрих-код UPC Shipping Container или Case Code основан на Interleaved Code 2 of 5 и требует входные данные из 13 цифр (цифры: 0 – 9). Рассчитывается контрольная цифра (modulo-10).
Leitcode основан на Interleaved Code 2 из 5 и используется немецкой почтой. Кодируется строка из 13 цифр и включает контрольную цифру.
Identcode также основан на Interleaved Code 2 из 5 и также используется немецкой почтой. Кодируется строка из 11 цифр и включает контрольную цифру.
UPC-A используется в США в розничной торговле. Для формирования штрихкода укажите 11 цифр. Контрольная цифра вычисляется Zint. Кроме того, дополнительные коды EAN-2 и EAN-5 могут быть добавлены с помощью знака «+». К примеру, чтобы сформировать UPC-A штрих-код с данными 72527270270 и с надстройкой EAN-5, отображающей данные 12345, используйте команду:
zint --barcode=34 -d 72527270270+12345
или закодируйте строку данных, включив знак «+»:
my_symbol->symbology = BARCODE_UPCA;
error = ZBarcode_Encode_and_Print(my_symbol, "72527270270+12345");
UPC-E представляет собой сжатую версию UPC-A, разработанную для небольших упаковок. Для формирования штрихкода укажите 6 цифр. Контрольная цифра вычисляется Zint. Дополнительные коды EAN-2 и EAN-5 могут быть добавлены использованием знака «+», как и в UPC-A. Кроме того, Zint поддерживает Number System 1. Для этого укажите 7 цифр, начиная с 1. Например:
zint --barcode=37 -d 1123456
или
my_symbol->symbology = BARCODE_UPCE;
error = ZBarcode_Encode_and_Print(my_symbol, "1123456");
EAN используется в розничной торговле в Европе и включает стандарты для кодов EAN-8 и EAN-13. Для их формирования укажите 7 или 12 значное число. (Прим. перев.: если Вы используете Ocvita Barcode ActiveX, то можно указать также 8 или 13 значное число, т.е. включая контрольную цифру). Также могут формироватьс дополнительные коды EAN-2, EAN-5. (2, 5 значные числа соответственно). Zint самостоят, какой формат будет использован, в соответствии с длиной входных данных. Для добавления дополнительных штрих-коды EAN-2 и EAN-5 используется знак «+», как и в формате UPC. Например:
zint --barcode=13 -d 54321
будет отдельно кодировать EAN-5, в то время как
zint --barcode=13 -d 7432365+54321
будет кодировать EAN-8 вместе с дополнительным EAN-5 кодом. Эти же результаты могут быть достигнуты при использовании API:
my_symbol->symbology = BARCODE_EANX;
error = ZBarcode_Encode_and_Print(my_symbol, "54321");
error = ZBarcode_Encode_and_Print(my_symbol, "7432365+54321");
Все штрих-коды EAN включают контрольные данные, которые добавляются Zint.
Штрих-коды EAN-13 (также известные как Bookland EAN-13) также могут быть сформированы из входных данных длиной 9 (SBN), 10 (ISBN) или 13 (ISBN-13) знаков. Входные данные должны включать контрольну. цифру (она будет проверена Zint) Кроме того, дополнительные штрих-коды EAN-2 и EAN-5 могут быть добавлены с помощью знака «+», как и в формате UPC.
Также известный как Plessey Code, этот формат был разработан Plessey Company Ltd в Великобритании. С помощью этого штрих-кода можно кодировать данные любой длины, состоящие из цифр от 0 до 9 или букв от A до F и включающие контрольную цифру (CRC).
Разработанн MSE Data Corporation на основае Plessey. Может кодировать числовые данные любой длины. Доступны следующие варианты использования контрольной цифры (выбирается установкой свойства 'option_2'):
Значение 'option_2' |
Контрольная цифра |
0 |
Не используется |
1 |
Modulo-10 |
2 |
Modulo-10 & Modulo-10 |
3 |
Modulo-11 |
4 |
Modulo-11 & Modulo-10 |
Telepen Alpha был разработан SB Electronic Systems Limited; с его помощью можно кодировать текстовые входные данные формата ASCII любой длины.
Telepen включает контрольную цифру modulo-127.
Telepen Numeric позволяет сжимать числовые данные в штрих-код Telepen. Данные могут состоять из пар чисел или пар, состоящих из чисел, следующих за символом X. Например: 466333 и 466X33 – допустимые коды, а 46X333 – нет (пара цифр “X3” не допустима). Включает контрольную цифру modulo-127.
Стандартный Code 39 был разработан в 1974 году компанией Intermec. Входные данные могут быть любой длины и могут содержать следующие символы: цифры ( 0 – 9), буквы (A – Z), тире (-), точка (.),пробел, звездочка (*), доллар ($), косая черта (/) и плюс (+). Код не требует контрольных цифр, тем не менее контрольная цифра modulo-43 может быть добавлена, если это необходимо, с помощью установки option_2 = 1 или использования --ver=1.
Также известный как Code 39e и Code39+, этот формат расширяет возможности стандартного Code 39: поддерживает все символы ASCII. Код не требует контрольных цифр, тем не менее контрольная цифра modulo-43 может быть добавлена, если это необходимо, с помощью установки option_2 = 1 или использования --ver=1.
Вариация Extended Code 39, Code 93 также поддерживает все символы ASCII. Две контрольные цифры добавляются Zint.
PZN представляет собой формат, основанный на Code 39 и используемый в фармацевтической промышленности в Германии. PZN кодирует 6-значное число и включает контрольную цифру (алгоритм modulo-10).
LOGMARS (Logistics Applications of Automated Marking and Reading Symbols) - Логистические Приложения Автоматической Маркировки и Считывания Штрих-кодов) является разновидностью формата Code 39, используемой Министерством обороны США. С помощью LOGMARS может быть закодирован тот же набор символов, что и Standard Code 39 + добавляется контрольную цифру modulo-43.
Разновидность Code 39, используемая в Министерстве здравоохранения Италии для кодирования фармацевтической продукции. Требует числовых входных данных длиной не более 8 цифр. Контрольная цифра добавляется Zint.
Используется в медицинской промышленности. Аналогичен Standard Code 39, но добавляет знак «+» в начало и контрольная цифру modulo-49 в конец.
Также известный как NW-7, Monarch, ABC Codabar, USD-4, Ames Code и Code 27, этот формат был разработан в 1972 компанией Monarch Marketing Systems для розничной торговли. В 1977 году Американская комиссия крови приняла Codabar в качестве стандартного формата идентификации крови. С помощью Codabar можно кодировать строку любой длины, начинающуюся и заканчивающуюся буквами A-D, между которыми могут находиться: цифры от 1 до 9, тире (-), доллар ($), двоеточие (:), косую черту (/), точку (.) и знак (+). Контрольные цифры не создаются.
Pharmacode, разработанный Laetus, используется для идентификации фармацевтических препаратов. С помощью данного формата можно кодировать целые числа от 3 до 131070.
Один из самых распространенных форматов одномерных штрих-кодов, Code 128 был разработан в 1981 компанией Computer Identics. Этот формат полностью поддерживает ASCII текст и использует три варианта сжатия текста для уменьшения размера штрих-код. Zint автоматически выбирает режимы и добавляет контрольную цифру modulo-103. Code 128 является форматом, который Zint использует по умолчанию. Кроме того, Zint поддерживает кодировку символов Latin-1 (не английских) в Code 128. Кодировка Latin-1 приведена в приложении A.
Используется, если надо закодировать данные состоящие лишь из цифр но в режиме формате Code 128B (если установить просто Code 128, то Zint в таком случае будет использовать Code 128C).
Разновидность Code 128, также известная как UCC/EAN-128, этот формат определяется в Основной спецификации GS1 (GS1 General Specification). Идентификаторы применения должны быть введены в [квадратных скобках]. Они будут преобразованы в удобочитаемый текст в (круглых скобках). Это позволяет использовать круглые скобки к кодируемой строке данных. Данные с фиксированной длиной должны быть введены с соответствующей длиной для правильного кодирования (см. приложение С). GS1-128 не поддерживает расширенные символы ASCII. Контрольные цифры для данных GTIN (AI 01) не создаются и должны быть включены во входные данные. Ниже приведен пример правильных входных данных для GS1-128:
zint --barcode=16 -d "[01]98898765432106[3202]012345[15]991231"
Сокращенный вариант GS1-128, с помощью которого можно кодировать только GTIN данные. На вход подается строка из 13 цифр. Контрольная цифра GTIN и AI (01) добавляются Zint.
Разновидность Code 128 формата Nummber der Versandeinheit включает контрольные цифры как modulo-10, так и modulo-103. На вход подается строка из 17 цифр.
Эта опция добавляет знак «+» в начало и контрольную цифру modulo-49 в конец стандартного Code 128 в соответствии с требованиями штрих-кодов, использующихся в медицинской промышленности.
Также известен как RSS (Reduced Space Symbology - символика сокращенного размера). Эти штрих-коды начиная с 2010 года должны постепенно заменять штрихкоды GS1-128. Если штрих-код GS1 DataBar должен печататься с 2D-компонентом, как указано в ISO 24723, следует установить option_1 = 2 или использовать option --mode=2 в командной строке. (См.раздел 6.3 настоящего руководства, чтобы узнать, как создать штрих-код DataBar с 2D-компонентом)
Также известен как RSS-14. С помощью этого штрих-кода можно закодировать 13-значное число. Контрольная цифра и идентификатор применения (01) добавляются Zint. Обратите внимание, что для полного соответствия стандарту высота штрих-кода должна быть больше или равна 33 модулям. Для сокращенного DataBar-14 установленная высота штрих-кода должна быть не менее 13.
Также известен как RSS Limited. Также как и DataBar-14 , данный формат позволяет кодировать 13-значное число. Однако первой цифрой должно быть 0 или 1 (т.е. числа в диапазоне от 0 до 1999999999999). Контрольная цифра и идентификатор применения (01) также добавляются Zint.
Также известен как RSS Expanded. Длина входных данных переменная. Позволяет кодировать данные нескольких идентификаторов применения в один штрих-код. В исходных данных идентификаторы применения должны быть заключены в [квадратные скобки]. В последствие они будут преобразованы в (круглые скобки), и в таком виде будут отбражены в тексте выводимом рядом со штрих-кодом. В кодируемых данных могут присутствовать круглые скобки. Данные GTIN (идентификатор применения 01) должны также включать в себя контрольную цифру, так как они не вычисляются Zint при кодировании данного формата. Данные с фиксированной длиной должны быть введены с соответствующей длиной для правильного кодирования (см. приложение С). Ниже приведен пример допустимых входных данных для расширенного DataBar:
zint --barcode=31 -d "[01]98898765432106[3202]012345[15]991231"
Корейский почтовый штрих-код обычно используется для кодирования 6-значного числа и включает одну контрольную цифру.
Сильно сжатый штрих-код для числовых данных. Число каналов в штрих-коде может быть от 3 до 8 и определяется установленным значением option_2. Также оно может быть определено длиной входных данных, например, трехсимвольная входная строка по умолчанию создает 4-канальный код. Допустимое максимальное значение зависит от числа используемых каналов, как это показано в таблице ниже:
Каналов (Channels) |
Minimum Value |
Maximum Value |
3 |
00 |
26 |
4 |
000 |
292 |
5 |
0000 |
3493 |
6 |
00000 |
44072 |
7 |
000000 |
576688 |
8 |
0000000 |
7742862 |
Обратите внимание, что 7- и 8-канальные коды требуют большого количества вычислений, поэтому эти коды формируются относительно медленно.
Самый простой способ поместить в штрихкод больше информации - просто использовать несколько одномерных штрихкодов один над другим. (Это используется в основном в автомобильной промышленности). Например
zint -d 'This' -d 'That'
создаст два штрих-кода Code 128, один над другим. Тот же результат можно достигнуть с помощью API, используя функцию ZBarcode_Encode() более одного раза на штрих-код. Например:
my_symbol->symbology = BARCODE_CODE128;
error = ZBarcode_Encode(my_symbol, "This");
error = ZBarcode_Encode(my_symbol, "That");
error = ZBarcode_Print(my_symbol);
Более сложный способ заключается в назначении индексов разным рядам , которые указывают считывателю штрих-кодов, в каком порядке коды должны быть считаны. Этот принцип используется в Code 16k, который является блоком из кодов Code128 и может включать до 16 рядов. Максимальный объем данных: 77 букв или 154 цифры. Code 16k включает две контрольные цифры modulo-107. Кроме того данный формат поддерживает расширенный набор символов ASCII, кодируя его тем же образом, что Code 128.
Формат PDF417 широко используется в почтовой индустрии; с его помощью можно закодировать огромное количество данных на небольшом пространстве. В соответствии с ISO, Zint поддерживает кодирование максимум до 925 кодовых слов, что (при 0 уровне коррекции ошибок) дает максимальный - 1850 букв или 2710 цифр. Ширина генерируемого штрих-кода PDF417 может быть указана в командной строке с помощью переключения параметра --cols, следующего за цифрой от 1 до 30. Количество контрольных цифр может быть задано с помощью параметра --security switch, следующего за цифрой от 0 до 8, количество кодовых цифр равно 2^(значение+1). При использовании API эти значения указываются в option_2 и option_1 соответственно. По умолчанию количество контрольной информации зависит от объема кодируемых данных. Поддержка международных символов осуществляется с помощью набора символов Latin-1, как описано в Приложении А. Отдельный идентификатор формата может быть использован для кодирования данных Health Industry Barcode (HIBC), при этом в начало добавляется знак «+», а также контрольную (алгоритм modulo-49).
Также известен как сокращенный PDF417. Параметры те же, что и для обычного PDF417.
Разновидность стандартного PDF417, MicroPDF417 предназначен для случаев, когда размер штрих-кода должен быть минимальным. Доступно 34 предопределенных размера штрих-кодов с количеством столбцов от 1 до 4 и строчек от 4 до 44. Штрих-код MicroPDF417 максимального размера может содержать 250 буквенно-числовых символа или 366 цифр. Уровень коррекции ошибок зависит от размера штрих-кода. Количество используемых столбцов может быть определено с помощью параметра --cols или option_2, как и в PDF417. Специальный идентификатор формата может быть использован для кодирования данных Health Industry Barcode (HIBC) при этом в начало добавляется знак «+», а также контрольную (алгоритм modulo-49).
Составная разновидность штрих-кода GS1 DataBar-14, использующая такие же входные данные (см. раздел 6.1.12.1). Высота этого штрих-кода фиксирована. Данные кодируются в двухстрочный штрих-код с центральной поисковой структурой. Этот штрихкод может быть создан с дополнительным двумерным компонентом.
Составная разновидность штрих-кода GS1 DataBar-14, требующая такие же входные данные (см. раздел 6.1.12.1). Данные кодируются в двухстрочный штрих-код с центральной поисковой структурой. Чтобы создать составной штрих-код, этот штрих-код может быть сгенерирован с двумерным компонентом.
Составная вариация штрих-кода GS1 DataBar Expanded для маленьких упаковок. Входные данные такие же, как для GS1 DataBar Расширенный (см. раздел 6.1.12.3). Кроме того, ширина штрих-кода может быть изменена с помощью параметра –cols или option_2. В этом случае количество столбцов зависит от числа пар символов на каждой строке штрих-кода. Для символов с 2D-компонентом количество столбцов должны быть не менее 2. Этот штрих-код может быть сгенерирован с двумерным компонентом.
Code 49, разработанный в 1987 году в Intermec, это нечто среднее между UPC и Code 39. Code 49 является одним из ранних многорядных штрих-кодов, и именно он во многом повлиял на дизайн Code 16K, разработанного несколькими годами позже. Он поддерживает полные 7-битные входные данные ASCII длиной до 49 символов или 81 цифр. Также поддерживается кодирование данных GS1.
Составные штрихкоды используют несколько компонентов, чтобы дать более полную информацию о продукте. Допустимое содержание составного штрих-кода определяется в соответствии с GS1 General Specification. Составные штрих-коды состоят из линейного компонента, которым могут быть штрих-коды EAN, UPC, GS1-128 или GS1 DataBar, 2D-компонента, основанного на PDF417 или MicroPDF417, и разделительной структуры. Тип используемого линейного компонента задается с помощью параметра –b или --barcode= или настройки symbol->symbology, как и обычно. Допустимые значения приведены ниже:
Значение |
Имя |
Формат |
130 |
BARCODE_EANX_CC |
Составной штрих-код с линейным компонентом EAN |
131 |
BARCODE_EAN128_CC |
Составной штрих-код с линейным компонентом GS1-128 |
132 |
BARCODE_RSS14_CC |
Составной штрих-код с линейным компонентом GS1 DataBar-14 |
133 |
BARCODE_RSS_LTD_CC |
Составной штрих-код с компонентом GS1 DataBar Ограниченный |
134 |
BARCODE_RSS_EXP_CC |
Составной штрих-код с компонентом GS1 DataBar Расширенный |
135 |
BARCODE_UPCA_CC |
Составной штрих-код с линейным компонентом UPC A |
136 |
BARCODE_UPCE_CC |
Составной штрих-код с линейным компонентом UPC E |
137 |
BARCODE_RSS14STACK_CC |
Составной штрих-код с компонентом GS1 DataBar-14 Составной |
138 |
BARCODE_RSS14_OMNI_CC |
Составной штрих-код с компонентом GS1 DataBar-14 Составной Всенаправленный |
139 |
BARCODE_RSS_EXPSTACK_CC |
Составной штрих-код с компонентом GS1 DataBar-14 Расширенный Составной |
Данные для кодирования в линейный компонент составного штрих-кода должны быть введены в основную строку с данными для 2D-компонента, вводимыми в обычном порядке. Для этого в командной строке используйте --primary= command. К примеру:
zint -b 130 --mode=1 --primary=331234567890 -d "[99]1234-abcd"
Это создает линейный компонент EAN-13 с данными "331234567890" и 2D CC-A (см. ниже) компонент с данными "(99)1234-abcd". Такие же результаты могут быть достигнуты с помощью API, как показано ниже:
my_symbol->symbology = 130;my_symbol->option_1 = 1;
strcpy(my_symbol->primary, "331234567890");
ZBarcode_Encode_and_Print(my_symbol, "[99]1234-abcd");
Дополнительные данные EAN-2 и EAN-5 могут быть использованы со штрих-кодами EAN и UPC с помощью знака «+», как описано в разделах 6.1.3 и 5.1.4.
2D-компонент составного штрих-кода может использовать одну из трех следующих систем: CC-A, CC-B и CC-C, как описано ниже. Тип 2D-компонента может быть автоматически выбран Zint в зависимости от длины входной строки. Также три режима могут быть заданы с помощью функции --mode= prompt, перед которой ставятся цифры 1, 2 или 3, соотвественно, или с помощью переменной option_1, как показано выше.
Используется разновидность MicroPDF417, оптимизированную для небольшого размера. Размер 2D-компонента и уровень коррекции ошибок определяется размером кодируемых данных и типом используемого линейного компонента. С помощью CC-A можно кодировать до 56 цифр или буквенно-числовую строку меньшей длины. Чтобы выбрать CC-A, установите --mode=1.
Используется MicroPDF417 для кодирования 2D-компонента. Размер 2D-компонента и уровень коррекции ошибок определяется размером кодируемых данных и типом используемого линейного компонента. С помощью CC-B можно кодировать до 338 цифр или буквенно-числовую строку меньшей длины. Чтобы выбрать CC-A, установите --mode=2.
Используется PDF417 и только в сочетании с линейным компонентом GS1-128. С помощью CC-C можно кодировать до 2361 цифр или буквенно-числовую строку меньшей длины. Чтобы выбрать CC-A, установите --mode=3.
Двухрядный Pharmacode, разработанный Laetus, является альтернативой обычного Pharmacode OneTrack, используемого для идентификации лекарственных средств. С помощью этого штрих-кода можно кодировать целые числа от 4 до 64570080.
Штрих-код PostNet до 2009 года использовался почтовой службой США для кодирования индексов почтовых отправлений. PostNet использует числовые входные данные и включает одну контрольную цифру modulo-10. Zint будет кодировать штрих-коды PostNet любой длины, однако стандартными длинами, используемой USPS, были PostNet6 (5-значные входные данные ZIP), PostNet10 (5-значные ZIP + 4-значные пользовательские данные) и PostNet12 (5-значные ZIP + 6-значные пользовательские данные).
Штрих-код PLANET до 2009 года использовался почтовой службой США для кодирования данных о маршрутизации почтовых отправлений. PLANET использует числовые входные данные и включает одну контрольную цифру modulo-10. Zint будет кодировать штрих-коды PLANET любой длины, однако стандартными длинами, используемой USPS, были Planet12 (11-значные входные данные) и Planet14 (13-значные входные данные).
Стандартный Австралийский Почтовый Клиентский Штрих-код, Клиентский Штрих-код 2 и Клиентский Штрих-код 2 представляют собой, соответственно, 37-, 52- и 67-полосные форматы, разработанные Австралийской Почтой для печати идентификаторов пунктов доставки и клиентской информации на почтовых отправлениях. Допустимые символы: 0-9, A-Z, a-z, пробел и решетка. Код Контроля Формата (FCC) добавляется Zint и не должен присутствовать во входных данных. Данные коррекции ошибок (Reed-Solomon) создаются Zint. Режим кодирования определяется длиной входных данных в соответствии с формулой, приведенной в таблице ниже:
Длина входных данных |
Требуемый формат входных данных |
Длина штрих-кода |
Код Контроля Данных (FCC) |
Кодирование таблицы |
8 |
99999999 |
37полос |
11 |
None |
13 |
99999999AAAAA |
52 полосы |
59 |
C |
16 |
9999999999999999 |
52 полосы |
59 |
N |
18 |
99999999AAAAAAAAAA |
67 полос |
62 |
C |
23 |
9999999999999999999999 |
67 полос |
62 |
N |
Данный штрих-код является разновидностью 4х рядногоAustralia Post Barcode (FCC 45), требующей 8-значные входные данные идентификаторов пунктов доставки.
Данный штрих-код является разновидностью 4х рядногоAustralia Post Barcode (FCC 87), требующей 8-значные входные данные идентификаторов пунктов доставки.
Данный штрих-код является разновидностью 4х рядногоAustralia Post Barcode (FCC 92), требующей 8-значные входные данные идентификаторов пунктов доставки.
Этот формат используется Royal Dutch TPG Post (Нидерланды) для почтового индекса и автоматической сортировки почты. Входные данные могут состоять из цифр (0 -9) и латинских букв (A-Z) и должны включать 11 символов. Контрольные цифры не добавляются.
Формат RM4SCC используется Королевской Почтой Великобритании для кодирования почтовых индексов и клиентских данных на почтовых отправлениях. Входные данные могут состоять из цифр (0 -9) и латинских букв (A-Z) и обычно включают почтовый индекс места доставки, следующий за номером дома. Например, "W1J0TR01" для дома № 1 на Пиккадилли-Серкус в Лондоне. Контрольные цифры генерируются Zint.
Также известная как Intilligent Maik штрих-код. Используется Почтовой Службой США, система OneCode в 2009 заменила PostNet и PLANET форматы. OneCode – это фиксированной длины (65-полосный) штрих-код, объединяющая маршрутную и клиентскую информацию в один символ. Входные данные состоят из 20-значного кода отслеживания, следующего за знаком тире (-), следующего за zip-кодом пункта доставки, который может состоять из 0, 5, 9 или 11 цифр. Так, все нижеуказанные входные данные являются допустимыми:
"01234567094987654321"
"01234567094987654321-01234"
"01234567094987654321-012345678"
"01234567094987654321-01234567891"
Используются для кодирования адресных данных на почтовых отправлениях. Допустимыми символами являются 0-9, A-Z и тире (-). Контрольная цифра modulo 19 добавляется.
Также известный как Semacode формат DataMatrix был разработан Acuity CiMatrix в партнерстве с Министерством Обороны США и NASA в1989. С помощью данного штрих-кода можно кодировать большой объем данных на маленькой площади. Data Matrix может кодировать все символы набора Latin-1 и GS1 данные. Размер генерируемого штрих-кода может быть отрегулирован с помощью параметра --vers= или настройки option_2, как это показано в таблице ниже. Индивидуальный идентификатор формата может быть использован для кодирования данных Health Industry Barcode (HIBC), который добавляет в начало знак «+» и контрольную цифру modulo-49 к закодированным данным. Обратите внимание, что этот штрих-код поддерживает только кодирование ECC200; более старые форматы уже удалены из Zint.
Входные данные |
Размер штрих-кода |
Входные данные |
Размер штрих-кода |
1 |
10 x 10 |
16 |
64 x 64 |
2 |
12 x 12 |
17 |
72 x 72 |
3 |
14 x 14 |
18 |
80 x 80 |
4 |
16 x 16 |
19 |
88 x 88 |
5 |
18 x 18 |
20 |
96 x 96 |
6 |
20 x 20 |
21 |
104 x 104 |
7 |
22 x 22 |
22 |
120 x 120 |
8 |
24 x 24 |
23 |
132 x 132 |
9 |
26 x 26 |
24 |
144 x 144 |
10 |
32 x 32 |
25 |
8 x 18 |
11 |
36 x 36 |
26 |
8 x 32 |
12 |
40 x 40 |
27 |
12 x 26 |
13 |
44 x 44 |
28 |
12 x 36 |
14 |
48 x 48 |
29 |
16 x 36 |
15 |
52 x 52 |
30 |
16 x 48 |
Для штрих-кодов Data Matrix доступна настройка, при которой будут формироваться только квадратные. Чтобы использовать эту функцию, в командной строке установите параметр --square, или option_3 = DM_SQUARE.при использовании API.
При использованнии Ocvita Barcode для формирования только квадратных штрихкодов укажите 100 в поле option_3.
Начиная с версии 1.1 Ocvita Barcode позволяет принудительно выбирать вид кодирования, указав соответствующее значение в поле setting_1
Setting_1 |
Вид кодирования |
0 |
Автовыбор. Примечание: в этом режиме в пределах одного символа может быть использовано несколько указанных ниже видов кодирования. Например первые 20 байт кодируются как ASCII, 40 байт далее как BASE256 и т.п. Виды кодирования выбираются исходя из содержимого для получения оптимального размера символа. В Ocvita Barcode 1.0 использовался только такой режим. |
1 |
ASCII |
2 |
C40 |
3 |
TEXT |
4 |
X12 |
5 |
EDIFACT |
6 |
BASE256 |
6.6.2 QR Code (ISO 18004)
QR Code , также известен как Quick Response. Формат был разработан Denso. Четыре уровня коррекции ошибок могут быть установлены с помощью опции security= или настройки option_1, как показано в таблице ниже.
Входные данные |
Уровень коррекции ошибок |
Объем коррекции ошибок |
Возможность восстановления |
1 |
L (по умолчанию) |
Приблизительно 20% штрих-кода |
Приблизительно 7% |
2 |
M |
Приблизительно 37% штрих-кода |
Приблизительно 15% |
3 |
Q |
Приблизительно 55% штрих-кода |
Приблизительно 25% |
4 |
H |
Приблизительно 65% штрих-кода |
Приблизительно 30% |
Размер штрих-кода может быть установлен с помощью опции vers= или установки значения option_2 от 1 до 40 для требуемой версии QR Code. Размеры создаваемых символов приведены в таблице ниже.
Значение |
Размер |
Значение |
Размер |
1 |
21 x 21 |
21 |
101 x 101 |
2 |
25 x 25 |
22 |
105 x 105 |
3 |
29 x 29 |
23 |
109 x 109 |
4 |
33 x 33 |
24 |
113 x 113 |
5 |
37 x 37 |
25 |
117 x 117 |
6 |
41 x 41 |
26 |
121 x 121 |
7 |
45 x 45 |
27 |
125 x 125 |
8 |
49 x 49 |
28 |
129 x 129 |
9 |
53 x 53 |
29 |
133 x 133 |
10 |
57 x 57 |
30 |
137 x 137 |
11 |
61 x 61 |
31 |
141 x 141 |
12 |
65 x 65 |
32 |
145 x 145 |
13 |
69 x 69 |
33 |
149 x 149 |
14 |
73 x 73 |
34 |
153 x 153 |
15 |
77 x 77 |
35 |
157 x 157 |
16 |
81 x 81 |
36 |
161 x 161 |
17 |
85 x 85 |
37 |
165 x 165 |
18 |
89 x 89 |
38 |
169 x 169 |
19 |
93 x 93 |
39 |
173 x 173 |
20 |
97 x 97 |
40 |
177 x 177 |
Максимальный объем штрих-кода QR Code составляет 7089 цифр, 4296 буквенно-числовых символов или 2953 байта данных ( в версии 40). QR Code также может быть использован для кодирования данных GS1. С помощью данного штрих-кода можно кодировать символы Latin-1 и Kanji, являющихся частями схемы кодирования Shift-JIS. Обратите внимание, что изначально входные данные должны быть введены как UTF-8 поток; позже Zint автоматически переведет их в Shift-JIS. Специальный идентификатор формата может быть использован для кодирования данных Health Industry Barcode (HIBC), который добавляет в начало знак «+» и контрольную цифру modulo-49 к закодированным данным.
Микро QR Code - это миниатюрная версия штрих кода QR Code, предназначенная для коротких сообщений. Для этого штрих-кода доступны те же уровни коррекции, что и для стандартной версии (выше). С помощью данного штрих-кода также можно кодировать символы форматов Latin-1 и Kanji, являющихся частями схемы кодирования Shift-JIS. Обратите внимание, что изначально входные данные должны быть в кодировке UTF-8, позже Zint автоматически переведет их в Shift-JIS. Предпочтительный размер штрих-кода может быть выбран с помощью опции vers= или настройки option_2, хотя Zint может установить и другой размер, если это будет необходимо. Возможные размеры приведены в таблице ниже:
Входные данные |
Версия |
Размер штрих-кода |
1 |
M1 |
11 x 11 |
2 |
M2 |
13 x 13 |
3 |
M3 |
15 x 15 |
4 |
M4 |
17 x 17 |
Штрих-код Maxicode, разработанный UPS, представляет собой сетку из шестиугольников, окружающих символ «бычий глаз». Данный формат предназначен для идентификации посылок. Штрих-коды Maxicode могут быть закодированы в одном из пяти доступных режимов.
В режимах 2 и 3 код состоит из двух частей, называющихся первичное и вторичное сообщения. Первичное сообщение состоит из структурированной области данных, включающей в себя различную информацию об отправленном пакете; вторичное сообщение обычно состоит из адресных данных в специальной структуре. Формат первичного сообщения, требуемый Zint, указан в таблице следующей таблице:
Символы |
Значение |
1-9 |
Почтовый индекс, который может содержать до 9 цифр (в режиме 2) и до 6 буквенно-числовых символов ( в режиме 3).Оставшиеся неиспользованные места для данных должны быть заполнены пробелами (ASCII 32). |
10-12 |
Трехзначный код страны в соответствии с ISO 3166 (см. приложение B). |
13-15 |
Трехзначный служебный код, зависящий от почтового курьера. |
Первичное сообщение может быть определено в командной строке с помощью изменения ключа --primary=. Для вторичного сообщения используется стандартный способ ввода данных. К примеру:
zint -o test.eps -b 57 --primary='999999999840012' -d 'Secondary Message Here'
При использовании API первичное сообщение должно быть помещено в строку symbol->primary. Вторичное вводится тем же способом, как описано в разделе 5.2. Zint проанализирует первичное сообщение и определит, какой из режимов (2 или 3) подходит больше.
Режимы 4, 5 и 6 можно установить с помощью ключа --mode= или настройки option_1. Эти режимы не требуют первичного сообщения. Например:
zint -o test.eps -b 57 --mode=4 -d 'A MaxiCode Message in Mode 4'
Режим 6 зарезервирован для обслуживания аппаратной части сканера и не должен использоваться для кодирования пользовательских данных.
Все режимы поддерживают расширенный набор символов ASCII и сжатие чисел. Максимальная длина текста, который может быть вмещен в штрих-код Maxicode, зависит от типов символов, используемых в этом тексте. Примеры максимальных длин данных приведены в таблице ниже:
Режим |
Максимальное количество прописных букв |
Максимальное количество цифр |
Число кодовых слов коррекции ошибок |
2 (только вторичное сообщение) |
84 |
126 |
50 |
3(только вторичное сообщение) |
84 |
126 |
50 |
4 |
93 |
135 |
50 |
5 |
77 |
110 |
66 |
6 |
93 |
135 |
50 |
Aztec Code, изобретенный Эндрю Лонгакром из Welch Allyn Inc в 1995, это матричный штрих-код с характерной структурой поиска «бычий глаз». Zint может генерировать сжатый (compact) Aztec Code (иногда называемый малым (small) Aztec Code) также, как полный (full-range), и по умолчанию автоматически выбирает тип и размер штрих-кода в зависимости от длины кодируемых данных. Кодовые слова коррекции ошибок обычно занимают по крайней мере 23% штрих-кода. Для изменения этих настроек используйте два следующих способа:
Размер штрих-кода может быть задан с помощью опции --ver= или указанием значения option_2 от 1 до 36 в соответствии с таблицей ниже. Штрих-коды, отмеченные в таблице звездочкой (*), являются сжатыми, то есть имеют в центре поисковую структуру меньшего размера.
Входные данные |
Размер штрих-кода |
Входные данные |
Размер штрих-кода |
1 |
15 x 15* |
19 |
79 x 79 |
2 |
19 x 19* |
20 |
83 x 83 |
3 |
23 x 23* |
21 |
87 x 87 |
4 |
27 x 27* |
22 |
91 x 91 |
5 |
19 x 19 |
23 |
95 x 95 |
6 |
23 x 23 |
24 |
101 x 101 |
7 |
27 x 27 |
25 |
105 x 105 |
8 |
31 x 31 |
26 |
109 x 109 |
9 |
37 x 37 |
27 |
113 x 113 |
10 |
41 x 41 |
28 |
117 x 117 |
11 |
45 x 45 |
29 |
121 x 121 |
12 |
49 x 49 |
30 |
125 x 125 |
13 |
53 x 53 |
31 |
131 x 131 |
14 |
57 x 57 |
32 |
135 x 135 |
15 |
61 x 61 |
33 |
139 x 139 |
16 |
67 x 67 |
34 |
143 x 143 |
17 |
71 x 71 |
35 |
147 x 147 |
18 |
75 x 75 |
36 |
151 x 151 |
Обратите внимание, что при указании для штрихкода конкретного размера, объем коррекции ошибок зависит от длины входных данных. Zint может уменьшить объем коррекции ошибок до 3 кодовых слов.
Альтернативный вариант - задать объем коррекции ошибок с помощью опции --mode= или установки значения option_1 из следующей таблицы:
Режим |
Объем коррекции ошибок |
1 |
>10% + 3 кодовых слова |
2 |
>23% + 3 кодовых слова |
3 |
>36% + 3 кодовых слова |
4 |
>50% + 3 кодовых слова |
Для одного и того же штрих-кода невозможно выбрать и размер и объем коррекции ошибок. Если вы зададите оба параметра, выбор объема коррекции ошибок будет проигнорирован.
Aztec Code имеет возможность кодирования данных расширенного ASCII формата длиной до приблизительно 3823 цифр или 3067 букв, или 1914 байта. Специальный идентификатор формата может быть использован для кодирования данных Health Industry Barcode (HIBC), который добавляет в начало знак «+» и контрольную цифру modulo-49 к закодированным данным.
Сокращенная разновидность сжатого Aztec Code, используемая для кодирования целых чисел от 0 до 255. Включает коррекцию ошибок Reed-Solomon. Определен в ISO / IEC 24778 Приложение А.
Матричный штрих-код, разработанный Тедом Уильямсом в 1992, кодирующий данные тем же образом, что и Data Matrix. С помощью Code One можно кодировать набор символов Latin-1 и данные GS1. Существует два типа Code One – штрих-код переменной высоты, имеющий примерно квадратную форму (версии A – H), и штрих-код фиксированной длины (версии S и T). Они могут быть выбраны с помощью опции --vers= или установки значения option_2, как показано в таблице ниже:
Значение |
Версия |
Размер |
Максимальное число цифр |
Максимальное число букв |
1 |
A |
16 x 18 |
22 |
13 |
2 |
B |
22 x 22 |
44 |
27 |
3 |
C |
40 x 42 |
104 |
64 |
4 |
D |
40 x 42 |
217 |
135 |
5 |
E |
52 x 54 |
435 |
271 |
6 |
F |
70 x 76 |
886 |
553 |
7 |
G |
104 x 98 |
1755 |
1096 |
8 |
H |
148 x 134 |
3550 |
2218 |
9 |
S |
8X высота |
18 |
- |
10 |
T |
16X высота |
90 |
55 |
С помощью штрих-кодов версии S могут быть закодированы лишь числовые данные. Ширина штрих-кодов версий S и T определяется длиной входных данных.
Один из новейших форматов кодирования, поддерживаемый Zint. Grid Matrix в 2008 году стал AIM стандартом. Данный штрих-код позволяет кодировать символы Latin-1и китайские иероглифы стандартного набора GB 2312 в шахматном порядке. Входные данные должны быть введены как UTF-8 поток; перевод в GB 2312 Zint осуществляет автоматически. Размер штрих-кода и объем коррекции ошибок могут быть заданы. Если указать значения обоих параметров, Zint постарается наилучшим образом удовлетворить обоим условиям. Размер штрих-кода может быть выбран с помощью опции ver= или указания значения option_2, объем коррекции ошибок – с помощью опции security= или или указания значения option_1 согласно следующей таблице:
Значение |
Размер |
1 |
18 x 18 |
2 |
30 x 30 |
3 |
42 x 42 |
4 |
54 x 54 |
5 |
66 x 66 |
6 |
78 x 78 |
7 |
90x 90 |
8 |
102 x 102 |
9 |
114 x 114 |
10 |
126 x 126 |
11 |
138 x 138 |
12 |
150 x 150 |
13 |
162 x 162 |
Формат FIM используется Почтовой Службой США для автоматизированной обработки почты. Этим штрихкодом можно кодировать одну букву из диапазона A – D, как показано в таблице ниже:
Кодируемая буквы |
Использование |
A |
Используется для ответных писем и почтовых отправлении, оплаченных по тарифу, с заранее напечатанным штрих-кодом PostNet. |
B |
Используется для деловых писем без заранее напечатанного zip-кода. |
C |
Используется для деловых писем с заранее напечатанным zip-кодом. |
D |
Используется для IBI (Information Based Indicia) посылок. |
Flattermarken, используется в типографиях для определения последовательности страниц. По сути не является настоящим штрих-кодом и требует точной информации о местоположении знака на странице. Flattermarken позволяет кодировать числа любой длины и не содержит контрольных цифр.
Метод создания кодов 4х рядных (4-state) кодов, где входные данные предоставляются внешней программой. Входные данные должны состоять из букв 'D', 'A', 'F' и 'T', которые являются ссылками на использование нижней линии, верхней линии, обеих линий (и нижней, и верхней) и не одной из линии (ни нижней, ни верхней) соответственно. Все прочие символы игнорируются.