Штрихкоды ZPL: Code 128, QR, EAN, GS1-128, Data Matrix

Обновлено 30 сентября 2026 г.

Штрихкоды Code 128, QR, EAN-13 и Data Matrix, созданные командами ZPL на термоэтикетке

Большинство термоэтикеток существуют ради штрихкодов. В ZPL есть отдельная команда для каждой распространённой символики, а полосы рисует сам принтер в собственном разрешении, поэтому штрихкоды ZPL печатаются чётче, чем изображения штрихкодов.

Это руководство охватывает команды, которые вам действительно понадобятся: ^BY для размеров, ^BC для Code 128 и GS1-128, ^BQ для QR-кодов, ^BE для EAN-13, ^BX для Data Matrix и ^B7 для PDF417, с рабочими примерами и правилами размеров, от которых зависит, считается ли штрихкод.

Какую команду штрихкода ZPL использовать

Распространённые символики штрихкодов и их команды ZPL
СимволикаКомандаТипичное применение
Code 128^BCАртикулы, номера заказов, трекинг и любые буквенно-цифровые данные
GS1-128^BC … DЛогистические данные с идентификаторами применения GS1, паллетные этикетки SSCC
QR code^BQВеб-ссылки, инвентарные метки и сканирование с телефона
EAN-13^BEРозничные товары на кассе
UPC-A^BUРозничные товары в Северной Америке
Data Matrix^BXМелкие детали, электроника и здравоохранение (GS1 DataMatrix)
PDF417^B7Документы и удостоверения, где на малой площади нужно много данных
Code 39^B3Старые промышленные и автомобильные системы
Interleaved 2 of 5^B2Транспортные коробки (ITF-14)

Размер штрихкода с помощью ^BY

^BY задаёт значения по умолчанию для следующих за ним штрихкодов: ширину модуля (ширину самой узкой полосы в точках), отношение широкой полосы к узкой для символик, где оно используется, и высоту штрихкода. Ширина модуля определяет почти всё в линейном штрихкоде, потому что весь символ масштабируется вместе с ней.

^BYw,r,h
^BY2,3,100

При 203 dpi одна точка равна 0,125 мм, поэтому ширина модуля 2 даёт полосы 0,25 мм, а ширина модуля 3 — 0,375 мм. Ручные сканеры обычно уверенно читают модули в 2 точки; этикеткам, которые сканируют с расстояния или на изогнутых поверхностях, лучше подходят 3 и больше. Поскольку модули должны состоять из целых точек, штрихкод нельзя растянуть до произвольной ширины, не изменив его считываемость.

Code 128 с ^BC

Code 128 компактно кодирует буквы, цифры и символы и является выбором по умолчанию для артикулов и номеров заказов. ^BC принимает ориентацию, высоту штрихкода, нужно ли печатать строку для чтения человеком (и над или под штрихкодом) и режим. Контрольный символ принтер вычисляет автоматически.

^XA
^BY2,3,90
^FO40,40^BCN,90,Y,N,N^FDSKU-100245^FS
^XZ

GS1-128 с ^BC в режиме D

GS1-128 — это Code 128 с идентификаторами применения GS1 (AI), такими как (01) для GTIN, (10) для партии или лота и (00) для SSCC. В режиме D записывайте AI в скобках в ^FD: принтер вставит нужные символы FNC1, не включит скобки в закодированные данные и напечатает их в строке для чтения человеком.

^XA
^BY2
^FO40,40^BCN,110,Y,N,N,D^FD(01)09520123456788(10)LOT7^FS
^XZ

У данных GS1 строгие правила: AI фиксированной длины, контрольные цифры и допустимые символы. В конструкторе ZPLCraft есть помощник GS1, который собирает данные по одному AI и проверяет их до попадания на этикетку.

Штрихкод GS1-128 SSCC на транспортной этикетке; помощник GS1 показывает идентификатор применения 00 и его значение
Помощник GS1 проверяет идентификаторы применения до их применения.

QR-коды с ^BQ

^BQN,2,6 выбирает обычную ориентацию, QR модели 2 и увеличение 6 (каждый модуль — 6 × 6 точек). Данные поля начинаются с уровня коррекции ошибок и режима ввода, за которыми следует запятая: LA, означает уровень L с автоматическим вводом. Если код может быть поцарапан или частично закрыт, используйте H или Q вместо L.

^XA
^FO40,40^BQN,2,6^FDLA,https://example.com/p/100245^FS
^XZ

EAN-13 и UPC-A с ^BE и ^BU

Для EAN-13 передайте первые 12 цифр, и принтер добавит контрольную цифру; UPC-A с ^BU работает так же с 11 цифрами. Розничные штрихкоды должны использовать GTIN, присвоенный вашей компании организацией GS1, и не должны масштабироваться меньше размера, который требует ваш ритейлер.

^XA
^BY3
^FO40,40^BEN,90,Y,N^FD590123412345^FS
^XZ

Data Matrix и PDF417

^BX печатает Data Matrix: второй параметр — размер каждого модуля в точках, а уровень качества 200 выбирает стандартную версию ECC 200. Он хранит много данных в очень маленьком квадрате, поэтому часто встречается на мелких деталях и медицинских изделиях. ^B7 печатает PDF417 — многострочный штрихкод для документов и удостоверений; его параметры задают высоту строки и уровень коррекции ошибок.

^XA
^FO40,40^BXN,8,200^FD100245-LOT7^FS
^FO300,40^BY2^B7N,6,3,,,N^FDORDER 100245 / 3 PARCELS^FS
^XZ

Рабочий пример штрихкодов

Эта этикетка печатает по одному штрихкоду каждой распространённой символики на 4-дюймовой этикетке при 203 dpi. Откройте её в просмотрщике, чтобы менять данные и параметры и видеть, как обновляются штрихкоды.

^XA
^PW812
^LL1000
^CI28
^CF0,28
^FO40,30^FDCode 128^FS
^BY2,3,90
^FO40,70^BCN,90,Y,N,N^FDSKU-100245^FS
^FO470,30^FDQR code^FS
^FO470,60^BQN,2,6^FDLA,https://example.com/p/100245^FS
^FO40,260^FDEAN-13^FS
^BY3
^FO40,300^BEN,90,Y,N^FD590123412345^FS
^FO470,260^FDData Matrix^FS
^FO470,300^BXN,8,200^FD100245-LOT7^FS
^FO40,500^FDGS1-128^FS
^BY2
^FO40,540^BCN,110,Y,N,N,D^FD(01)09520123456788(10)LOT7^FS
^FO40,730^FDPDF417^FS
^BY2
^FO40,770^B7N,6,3,,,N^FDORDER 100245 / 3 PARCELS^FS
^XZ

Открыть этот пример штрихкодов в ZPL-просмотрщике

ZPL-просмотрщик отрисовывает штрихкоды Code 128, QR, EAN-13, Data Matrix, GS1-128 и PDF417 из примера кода
Пример этикетки, отрисованный в ZPL-просмотрщике.

Создание штрихкодов без написания ZPL

В конструкторе ZPLCraft добавьте Code 128, QR-код или EAN / GS1 на панели «Коды». Панель «Свойства» предлагает те же настройки, что и команды ZPL: символика, содержимое, ширина модуля и высота штрихкода в точках, а также показ текста для чтения человеком. «Сохранять размер штрихкода» вписывает меняющиеся значения в текущие размеры, что удобно, когда содержимое берётся из таблицы.

Штрихкод Code 128, выбранный в редакторе ZPLCraft, с настройками содержимого, символики, ширины модуля и высоты штрихкода
Свойства штрихкода напрямую соответствуют параметрам ZPL.

Для штрихкодов GS1 помощник GS1 позволяет выбрать каждый идентификатор применения из списка, проверяет длины и контрольные цифры и показывает итоговый вывод до применения.

Как создать этикетку ZPL: пошаговое руководство →

Почему штрихкод ZPL не считывается

  • Слишком малая ширина модуля. Модули в одну точку при 203 dpi равны 0,125 мм, и многие сканеры не могут их различить. Увеличьте ширину модуля в ^BY.
  • Нет свободной зоны. Линейным штрихкодам нужно пустое место с обеих сторон — для Code 128 не менее десяти ширин модуля. Держите текст и рамки подальше от полос.
  • Штрихкод напечатан как изображение. Штрихкод, масштабированный как растр, может получить полосы неравной ширины. Нативные команды штрихкодов ZPL этого избегают.
  • Неверное разрешение принтера. ZPL, написанный для 203 dpi, печатается примерно в две трети предполагаемого размера на принтере 300 dpi, из-за чего модули могут оказаться меньше, чем читает сканер.
  • Плотность печати или скорость. Полосы, которые сливаются или рвутся, часто связаны с настройкой плотности или скорости принтера, а не с проблемой макета.

Вопросы о штрихкодах ZPL

Как увеличить штрихкод ZPL?

Увеличьте ширину модуля в ^BY для линейных штрихкодов, увеличение в ^BQ для QR-кодов или размер модуля в ^BX для Data Matrix. Для более высоких полос увеличьте параметр высоты. Ширина всегда меняется шагами по целой точке.

Вычисляет ли принтер контрольные цифры?

Да, для символик, где они нужны: Code 128 добавляет контрольный символ автоматически, а ^BE и ^BU вычисляют контрольную цифру EAN-13 и UPC-A по первым 12 или 11 цифрам.

Какой штрихкод использовать для транспортной этикетки?

Следуйте спецификации перевозчика. Штрихкоды отслеживания перевозчиков обычно Code 128 или GS1-128, а многие добавляют 2D-код, например MaxiCode или PDF417.

Можно ли посмотреть штрихкоды ZPL без принтера?

Да. ZPL-просмотрщик отрисовывает в браузере Code 128, QR, EAN, UPC, Data Matrix, PDF417 и другие распространённые символики. Предпросмотр не доказывает качество считывания, поэтому проверяйте напечатанную этикетку сканером, которым вы пользуетесь.

Источники