Что такое ZPL? Язык программирования Zebra
ZPLCraftОбновлено 17 августа 2026 г.

ZPL (язык программирования Zebra) — командный язык, который совместимые термопринтеры используют для описания этикеток. Вместо готового изображения страницы ZPL-принтер получает обычные текстовые команды, например «разместить этот текст здесь, нарисовать штрихкод там, напечатать одну копию», интерпретирует их и формирует этикетку с настроенным разрешением печатающей головки.
ZPL использует компактные текстовые команды, которые могут создавать ERP-системы, скрипты и браузерные инструменты. Поддержка зависит от модели и конфигурации: Zebra указывает поддержку ZPL II в спецификациях отдельных моделей, а некоторые принтеры других производителей предлагают документированный режим совместимой с ZPL эмуляции.
Как выглядит ZPL-этикетка
Документ ZPL — это последовательность команд, каждая из которых начинается со знака крышки (^). Каждая этикетка обёрнута между ^XA (начало формата) и ^XZ (конец формата). Ниже представлена полная, рабочая этикетка:
^XA
^CF0,40
^FO50,50^FDHELLO WORLD^FS
^FO50,110^GB700,4,4^FS
^BY3,2,100
^FO150,150^BCN,100,Y,N,N^FD12345678^FS
^XZРазберём строка за строкой:
^XA…^XZ— открывает и закрывает формат этикетки. Всё, что находится между ними, описывает одну этикетку.^CF0,40— устанавливает шрифт по умолчанию: масштабируемый шрифт 0 высотой 40 точек.^FO50,50— Field Origin (начало поля): позиционирует следующее поле в 50 точках от левого края и в 50 точках от верхнего края.^FDHELLO WORLD^FS— Field Data (данные поля) с последующим Field Separator (разделителем поля): фактическое содержимое поля.^GB700,4,4— рисует Graphic Box (прямоугольник) шириной 700 и высотой 4 точки — здесь используется как горизонтальная разделительная линия.^BY3,2,100затем^BCN,100,Y,N,N— задаёт параметры штрихкода по умолчанию (ширина модуля, соотношение, высота), затем рендерит штрихкод Code 128 с данными12345678и строкой для считывания человеком под ним.
Точки, а не пиксели: понимание DPI
Каждая координата и размер в ZPL измеряются в точках принтера, а физический размер точки зависит от разрешения печатающей головки. Распространённые разрешения: 203 dpi (8 точек/мм), 300 dpi (12 точек/мм) и 600 dpi (24 точки/мм). На принтере 203 dpi транспортная этикетка 4 × 6 дюймов составляет 812 × 1218 точек; на принтере 300 dpi та же этикетка — 1200 × 1800 точек. ZPL для одного разрешения будет печататься меньше или больше на другом, поэтому несовпадение DPI — частая причина проблемы «этикетка выглядит неправильно на новом принтере». Размеры необходимо масштабировать под целевой DPI.
ZPL vs. EPL vs. печать через драйвер
Вы также можете встретить EPL (Eltron Programming Language) используется некоторыми более старыми или явно совместимыми принтерами. Поддержка ZPL и EPL зависит от модели и прошивки, поэтому перед выбором языка сверяйтесь с документацией производителя. Альтернатива выводу на сыром языке принтера — печать через драйвер: драйвер Windows или CUPS подготавливает отрендеренную страницу для настроенного принтера. Сырой ZPL может обеспечивать прямое управление координатами и компактные текстовые данные, а печать через драйвер может лучше подходить, когда устройство или операционная система не предоставляет совместимый путь для сырого ZPL.
Как писать — или генерировать — ZPL
Для разовой этикетки написать ZPL вручную, открыв справочник команд, вполне реально: язык небольшой, и горстки команд (^FO, ^FD, ^A, ^BC, ^GB) достаточно для большинства реальных этикеток. Сложности начинаются, когда нужно итерировать компоновку — каждая правка означает изменение координат в точках, повторную отправку файла и расход рулона этикеток.
Именно эту проблему решают визуальные конструкторы. ZPLCraft предоставляет холст в натуральную величину, где можно разместить текст, штрихкоды, линии и рамки и создать ZPL для выбранного DPI принтера. Данные, размеры и свободные зоны штрихкода должны соответствовать требованиям выбранной символики, а отпечаток необходимо проверять целевыми принтером и сканером. Код можно экспортировать в систему, которая уже отправляет ZPL, или использовать печать WebUSB из браузера , когда браузер, операционная система и принтер предоставляют совместимый интерфейс, доступный для захвата.
Часто задаваемые базовые вопросы
ZPL бесплатный?
Zebra публикует руководство по программированию ZPL II для открытого ознакомления, а команды ZPL можно писать в текстовом редакторе. У программного обеспечения, шрифтов, прошивок и товарных знаков принтера могут быть собственные лицензионные условия.
Какое расширение файла используется для ZPL?
Обязательного расширения не существует — ZPL является обычным текстом. В практике встречаются .zpl, .txt и .prn; принтерам это безразлично — они просто потребляют поток байтов.
Можно ли просматривать ZPL без принтера?
Да — сервисы рендеринга, такие как Labelary, конвертируют ZPL в изображение, а редактор ZPLCraft отображает живой предпросмотр этикетки в процессе проектирования, поэтому рулон этикеток расходуется только тогда, когда компоновка окончательно готова.
Какие принтеры совместимы с ZPL?
Совместимость зависит от модели и конфигурации. Проверьте в спецификациях производителя поддержку ZPL или ZPL II либо документированный режим эмуляции, подтвердите целевой DPI и нужные функции и протестируйте конкретный путь вывода. Одно лишь подключение по USB или TCP-порту 9100 не доказывает, что принтер принимает ZPL. Совместимость и рекомендация