Протоколы термопринтеров легко недооценить. Принтер может быть виден по USB или Wi-Fi, принять соединение и всё равно выдать пустую этикетку или страницу с текстом команд. Соединение сработало. Просто принтер не понял язык, на котором описали этикетку.
Коротко: ZPL II — практичная первая цель для отправки «сырых» команд, потому что несколько крупных производителей документируют совместимые режимы. TSPL или TSPL2 — полезная вторая цель для парка TSC. EPL2 закрывает устаревшие приложения, а Brother Raster открывает отдельный командный путь для серии QL. Остальные языки становятся важны, когда их требует оборудование клиента или уже работающие приложения. Дальше в руководстве объясняется, почему дорожная карта, основанная на спросе, полезнее рейтинга популярности.
Руководство охватывает основные пути с «сырыми» командами, растром и сохранёнными шаблонами, которые используют термопринтеры этикеток и мобильные принтеры. Примеры совместимости сверялись с документацией производителей, доступной 1 сентября 2026 года. Прежде чем обещать поддержку, всегда проверяйте точную модель, прошивку, разрешение и установленные опции.
Язык принтера — лишь один слой
Словом «протокол» часто называют совершенно разные части печати. Если разделять уровни, большинство проблем совместимости диагностируются гораздо проще.
USB, Bluetooth, последовательный порт, Wi-Fi, Ethernet, «сырой» TCP, LPR и IPP доставляют задание принтеру. Макет этикетки они не определяют.
ZPL, EPL, TSPL, CPCL и DPL описывают объекты этикетки и обычно дают доступ к управлению носителем, статусом, памятью и постобработкой.
PDF, PWG Raster, JPEG и проприетарные растровые потоки представляют страницу или её пиксели. Атрибуты задания или отдельные команды устройства всё равно могут управлять носителем, отрезкой, режимом отделения подложки и другим оборудованием.
Code 128, EAN-13, Data Matrix и QR Code определяют, как данные превращаются в штрихи или модули. Язык принтера размещает и формирует этот символ.
Например, задание ZPL может идти по USB, Bluetooth или через сеть. Порт TCP 9100 зарегистрирован как поток данных языка описания страниц для принтеров, но байты внутри всё равно должны быть на языке, понятном принтеру (реестр служб IANA). IPP — протокол управления заданиями. Клиенты могут находить принтеры через DNS-SD, запрашивать возможности через IPP, отправлять задания и получать статус. При этом заданию всё равно нужен формат документа, который принтер объявляет: PWG Raster, JPEG или PDF (RFC 8011, руководство PWG по IPP).
Печать без драйвера стала нормой для офисных принтеров, но промышленные принтеры этикеток остаются заметным исключением. OpenPrinting прямо называет промышленные принтеры этикеток и другое оборудование вертикальных рынков среди типичных случаев, где всё ещё нужен драйвер, printer application или путь с «сырым» языком (рекомендации OpenPrinting по драйверам).
Три схемы интеграции для одной и той же этикетки
Большинство интеграций прямой печати этикеток строится по одной из трёх схем. Ни одна не лучше во всех случаях, и они не исключают друг друга. Процесс с сохранёнными шаблонами обычно опирается на нативный командный язык или прошивку принтера. Правильный выбор зависит от того, сколько работы по вёрстке остаётся на хосте, сколько уходит в принтер и сколько семейств принтеров должны использовать один макет.
| Модель | Что отправляет приложение | Главное преимущество | Главная цена |
|---|---|---|---|
| Нативный командный язык | Текстовые команды для позиций, шрифтов, штрихкодов, носителя и тиража. | Небольшие задания, штрихкоды, которые строит сам принтер, статус и управление устройством, сохранённые форматы. | Отдельный рендерер и стенд для тестов под каждый язык или эмуляцию. |
| Растровый поток | Готовое однобитное или ограниченно цветное изображение плюс команды настройки и подачи для конкретной модели. | Приложение задаёт итоговый вид одним визуальным движком вёрстки. | Больший объём данных, точная упаковка точек, таблицы носителей, ориентация и особенности моделей. |
| Сохранённый шаблон | Шаблон ставится один раз, дальше каждое задание отправляет только переменный текст, данные штрихкода или номер шаблона. | Очень маленькие задания в работе и удобные автономные сценарии. | Развёртывание шаблонов, версионирование, синхронизация и ограниченные изменения макета во время работы. |
Командные языки не обязательно точнее растрового вывода. Они просто переносят другие обязанности в принтер. Нативная команда штрихкода оставляет расчёт символа прошивке. Растровый путь требует конвейера на стороне хоста — в приложении или драйвере, — который рисует каждый штрих в финальном разрешении принтера. Общий рендерер способен сохранить задуманную геометрию для разных растровых бэкендов, если каждое изображение формируется в нативном разрешении целевого принтера и потом не масштабируется.
Драйверы могут сделать это преобразование удобным, не открывая все возможности принтера. Технический обзор Honeywell по CUPS показывает, как PDF или PostScript растрируется и упаковывается в графику Direct Protocol, а «сырые» задания Fingerprint, IPL или DPL идут через сквозные очереди. Этот путь через драйвер не даёт доступа ни к отрезчику, ни к RFID — полезное напоминание, что визуальная точность и управление устройством разные вещи (технический обзор Honeywell по CUPS).
Как распознать распространённые языки
Перехваченное задание печати часто выдаёт свой язык раньше, чем становится известна модель принтера. Это шаблоны для распознавания, а не полные примеры, готовые к печати.
| Язык | Типичный шаблон | Что означает этот шаблон |
|---|---|---|
| ZPL II | ^XA ... ^FO ... ^FD ... ^XZ | Начинается формат, поля размещаются и заполняются, затем формат завершается. |
| EPL2 | N, затем поля A или B, затем P1 | Очистить буфер изображения, добавить текст или штрихкод, напечатать одну этикетку. |
| TSPL или TSPL2 | SIZE, GAP, CLS, TEXT или BARCODE, PRINT | Читаемые команды настройки и рисования выстраивают этикетку. |
| CPCL | ! 0 ..., команды макета, FORM, PRINT | Ориентированный на мобильную печать ASCII-формат этикетки с явным заголовком задания. |
| Brother Raster | Двоичная инициализация, управляющие байты, повторяющиеся строки растра и финальная команда печати. | Этикетка уже переведена в точки до того, как попадает в принтер. |
| ESC/POS | Управляющие байты escape и разделителя групп вперемешку с текстом или данными изображения. | Ориентированный на чеки поток, который управляет построчной вёрсткой, отрезкой, статусом и опциональными функциями этикеток. |
ZPL II: практичная основа совместимости
ZPL расшифровывается как Zebra Programming Language. ZPL II — современный вариант, который обычно имеют в виду под ZPL в актуальных спецификациях, хотя Zebra отмечает, что он не полностью совместим с исходным ZPL. Это ASCII-язык команд для полей этикетки, шрифтов, фигур, графики, штрихкодов, сериализации, сохранённых форматов, настроек принтера и статуса. Руководство по программированию Zebra документирует и команды формата, и управляющие команды, включая сохранённые шаблоны и загруженную графику (руководство по программированию ZPL).
Его значение выходит далеко за пределы техники Zebra. Актуальные или недавние продукты документируют ZPL-совместимые режимы под названиями вроде эмуляции ZPL2 у TSC, ZSim2 у Honeywell, SZPL у SATO, BPL-Z у BIXOLON и GZPL у GoDEX. Citizen указывает ZPL2 рядом с эмуляциями Datamax и EPL2 в модели CL-E303 (характеристики Citizen CL-E303). Toshiba указывает ZPL II рядом с собственным нативным TPCL в отдельных моделях.
Поэтому ZPL II — практичный первый язык для продукта с «сырой» печатью, работающего с разными марками. Это не значит, что каждая команда ZPL везде ведёт себя одинаково. Шрифты, команды RFID, загруженные объекты, калибровка носителя, ответы о статусе и более новые команды — частые точки расхождения. Продукту стоит заявлять поддержку протестированного профиля ZPL, а не утверждать, что все ZPL-принтеры взаимозаменяемы.
EPL и EPL2: ценный охват устаревших решений
EPL расшифровывается как Eltron Programming Language. Страничный режим EPL2 описывает полную этикетку с размещёнными полями. Совместимый с EPL1 строчный режим старше и проще: он даёт построчный вывод в стиле EPL1 и имеет существенные ограничения по макету. Zebra описывает строчный режим как непригодный для точного размещения элементов, их наложения и горизонтальных «лестничных» штрихкодов (руководство Zebra по строчному режиму EPL).
Zebra продолжает документировать EPL2 ради совместимости с устаревшими приложениями, и несколько актуальных моделей заявляют EPL2 или его эмуляцию. Полное руководство по программированию по-прежнему доступно для команд ASCII-текста, штрихкодов, графики, форм, переменных и счётчиков (руководство по программированию EPL).
Практическое ограничение — перекрытие. Несколько актуальных примеров в этом руководстве документируют одновременно EPL и ZPL. Поэтому неизвестно, сколько дополнительных устройств даст добавление EPL после ZPL, даже при широко задокументированной совместимости EPL. Тем не менее это разумное раннее дополнение, когда у существующих клиентов есть шаблоны EPL или когда тестовое оборудование уже его поддерживает.
Не считайте, что макет, который помещается в ZPL, поместится и в EPL. Zebra документирует в ZPL поддержку TrueType, OpenType, масштабируемых шрифтов и сопоставления Unicode, тогда как EPL не может использовать те же объекты масштабируемых шрифтов. Проверьте реальный набор символов, метрики шрифтов, перенос строк и поведение подстановки в каждой целевой реализации.
TSPL, TSPL2 и TSPL-EZ
TSPL и TSPL2 — языки вёрстки этикеток компании TSC. Они относятся к одному семейству, но не являются точными синонимами. Официальное общее руководство перечисляет различия по моделям и командам. Их читаемые команды задают размер этикетки, зазор или чёрную метку, направление, плотность, текст, штрихкоды, растровые изображения, счётчики, файлы и тираж (руководство по программированию TSPL и TSPL2).
TSPL-EZ — семейство совместимости и эмуляции TSC, а не другой способ записи команд TSPL. Суффикс и поддерживаемые эмуляции зависят от модели. Например, для RE310 компания TSC указывает язык TSPL-EZC (EPL2, ZPL2, CPCL), or ESC-POS (страница продукта TSC RE310). Другие модели TSC могут указывать иной вариант TSPL-EZ или другой набор совместимостей.
Для приложения этикеток нативная поддержка TSPL ценна, когда принтеры TSC составляют заметную часть парка клиентов. Эмуляции также делают принтер TSC полезным при разработке, но их нельзя считать доказательством, что вывод совпадёт с нативной реализацией эмулируемого языка во всех пограничных случаях.
У Brother два разных мира команд
Brother легко классифицировать неверно, потому что его семейства продуктов используют разные модели интеграции. Самый наглядный пример — семейство QL. Матрица Brother для разработчиков указывает QL-820NWB и QL-820NWBc с поддержкой Raster, ESC/P и P-touch Template. QL-800 указана только с Raster, а у нескольких других моделей QL свои сочетания (матрица моделей в справочнике команд Brother).
Это стандартные командные интерфейсы, задокументированные сегодня для QL-820NWBc. Однако суффиксы моделей и региональные различия важны. Более старый официальный европейский лист серии QL-800 рекламировал для QL-820NWB эмуляцию ZPL II upon request (лист серии QL-800 от Brother Europe). Прежде чем делать категоричное заявление о ZPL для любого экземпляра QL-820, проверьте суффикс модели, регион, прошивку и опциональную конфигурацию. В этом поколении QL чётко задокументированным прямым путём остаётся Raster.
Переведите всю этикетку в точки, затем отправьте инициализацию, сведения о носителе, строки растра и команду печати. Лучший вариант, когда приложение и так отвечает за макет и отрисовку штрихкодов.
Отправляйте команды рисования и текста вместо готового изображения. Brother адаптирует этот язык под свои принтеры, и это не то же самое, что чековый ESC/POS.
Перенесите готовый шаблон в принтер, а затем заполняйте текстовые объекты и штрихкоды со сканера, компьютера или другого устройства, не перестраивая весь макет.
Справочник Brother по Raster для серии QL-800 говорит, что задание содержит команды инициализации, управляющие коды, растровые данные и команды печати. Он также определяет зависящие от модели размеры страниц, поля, разрешение, сжатие, отрезку и двухцветные растровые данные (справочник команд Brother QL Raster). То есть растр упрощает визуальную переносимость, но не отменяет работу под конкретное устройство. Интеграции по-прежнему нужны правильные идентификаторы носителя, размеры в точках, ориентация, сжатие, обработка статуса и поведение отрезчика.
Brother Raster — проприетарный поток команд одного семейства моделей. PWG Raster — стандартизованный формат документа, который обычно передают через IPP. Оба описывают пиксели, но структура, команды и совместимость у них разные, поэтому они не взаимозаменяемы.
Отдельные принтеры Brother серий RJ, TD и TJ образуют самостоятельную группу. Для них Brother документирует FBPL, а также эмуляции ZPL, EPL, CPCL, DPL или ESC/POS в зависимости от модели. В RJ-2035B загружаемая прошивка FBPL-EZC даёт EPL2, ZPL2 и CPCL, а FBPL-EZP — EPL2, ZPL2 и ESC/POS. Поэтому CPCL и ESC/POS нельзя обещать вместе, не проверив установленную прошивку (FAQ по прошивкам Brother RJ). Отдельное руководство по EPL перечисляет команды, которые поддерживает эмуляция (руководство Brother по эмуляции EPL).
CPCL и ESC/POS: мобильный и чековый пути
CPCL расшифровывается как Comtec Printer Control Language. Он объединяет язык вёрстки этикеток с режимом построчной печати и тесно связан с мобильной печатью. Текущее руководство Zebra по CPCL необычно прямо говорит о стратегии: для новых разработок предпочтителен ZPL, а CPCL поддерживается на отдельных принтерах Link-OS ради обратной совместимости, и новые возможности ZPL, как правило, в CPCL не попадают (руководство Zebra по CPCL).
CPCL остаётся важен там, где приложение или мобильный парк уже его используют. В моделях вроде ZQ600 Plus, принимающих CPCL, ZPL и EPL, CPCL сохраняет существующие задания, но не добавляет новых физических моделей (документация по языкам ZQ600 Plus). Другие актуальные модели, включая ZQ120 Plus и ZQ220 Plus, документируют CPCL и ESC/POS без ZPL, поэтому дополнительная ценность зависит от модели (обзор ZQ120 Plus и ZQ220 Plus).
ESC/POS появился у Epson как проприетарная система команд для принтеров точек продаж. Она охватывает текст, позицию печати, подачу бумаги, статус, штрихкоды, битовые изображения и оборудование вроде отрезчиков. Дело не только в чеках: список команд Epson для TM-L90 и пример этикетки включают позиционирование этикеток и чёрных меток на подходящих моделях (список команд TM-L90, пример этикетки Epson). Реализации других производителей, совместимые с ESC/POS, могут давать свои подмножества и значения по умолчанию. Для кассового ПО это по-прежнему высокий приоритет, а для приложения вокруг вырубных этикеток со штрихкодами — обычно более низкий.
Другие фирменные и промышленные языки
Эти языки важны, но их использование и публичная документация сосредоточены в конкретных экосистемах производителей и сценариях миграции. Краткая карта полезнее, чем отношение к каждой аббревиатуре как к равнозначной платформе.
| Язык | Родная экосистема | Почему он всё ещё важен | Когда стоит поддерживать |
|---|---|---|---|
| DPL | Datamax, сегодня в линейке принтеров Honeywell. | DPL появился у Datamax, и Honeywell по-прежнему публикует актуальный справочник команд DPL. Его эмулируют и другие марки. | Добавляйте, когда данные по моделям Honeywell или Datamax оправдывают протестированный профиль. |
| IPL | Intermec Printer Language, сегодня поддерживается в продуктах Honeywell. | Долгоживущие складские и промышленные системы могут уже формировать этот язык на стороне хоста (справочник команд IPL). | Отдавайте ему приоритет при миграции с Intermec или при известном парке Honeywell. |
| Fingerprint | Intermec и Honeywell. | Работающий в самом принтере язык в духе BASIC, способный выполнять программы, логику, обработку данных и автономные сценарии печати (справочник команд Fingerprint). | Используйте, когда интеграции с Honeywell нужны приложения в принтере или уже существующие программы Fingerprint. |
| Direct Protocol | Intermec и Honeywell. | Управляемое хостом подмножество Fingerprint, а не другое название IPL. | Используйте для существующих форматов Direct Protocol или нативных сценариев Honeywell, которым не нужна полноценная программа в принтере. |
| SBPL | SATO Barcode Printer Language. | Это общее семейство нативных команд SATO, которое может открывать функции, недоступные в эмуляции. | Добавляйте для клиентов с большим парком SATO или для нативных сценариев RFID и управления устройством. |
| TPCL | TEC Printer Control Language, нативный для принтеров Toshiba TEC. | Остаётся нативным языком штрихкодовых принтеров Toshiba, хотя отдельные модели эмулируют и конкурентов (руководство по драйверу TPCL). | Добавляйте, когда в проекте есть парк Toshiba или библиотека форматов TPCL. |
| Режимы SLCS и BPL | Принтеры этикеток BIXOLON. | Руководство по SLCS от BIXOLON описывает нативные команды этикеток. Модели могут также заявлять режимы совместимости BPL-Z, BPL-E и опционально BPL-D. | Используйте нативный SLCS, когда важно поведение, специфичное для BIXOLON; иначе сначала проверьте существующую эмуляцию. |
| EZPL, GEPL, GZPL и GDPL | GoDEX. | Руководство по EZPL охватывает нативный EZPL, а также GEPL, совместимый с EPL, и GZPL, совместимый с ZPL. Отдельные актуальные продукты заявляют и GDPL, совместимый с Datamax (брошюра RT700i+). | Проверьте точную модель и прошивку и протестируйте каждый режим совместимости, прежде чем рассчитывать на одинаковый результат. |
| FBPL | Отдельные принтеры Brother серий RJ, TD и TJ. | Это задокументированный нативный командный путь на моделях, которые могут дополнительно предлагать несколько эмуляций и сохранённые программы. | Добавляйте для нативных промышленных или мобильных функций Brother, но не для семейства QL с Raster. |
Актуальная модель Honeywell PM65 показывает, как один принтер может принимать командные языки с хоста, форматы документов и приложения, работающие в самом принтере. В её характеристиках в одном устройстве перечислены DPL, Direct Protocol, Fingerprint, IPL, ZSim2 для ZPL II, PDF, XML и умная печать на C# (характеристики Honeywell PM65). SATO CT4-LX аналогично указывает нативный SBPL вместе с совместимыми с конкурентами SZPL, SDPL, SIPL, STCL и SEPL, а также опцию автоматического определения языка (настройки языков SATO CT4-LX). SATO также документирует, что выбранный язык может ограничивать функции, включая команды RFID, которые в этой модели действуют только в SBPL и SZPL (поддержка языков в CT4-LX).
У Toshiba та же картина. BX430T документирует нативный TPCL с автоматическим определением ZPL II, DPL, SBPL и PDF (характеристики Toshiba BX430T). BIXOLON SLP-DX220 заявляет SLCS, BPL-Z, BPL-E и опционально BPL-D (BIXOLON SLP-DX220). Эти примеры объясняют, почему нельзя складывать доли по протоколам. Один физический принтер может относиться сразу к нескольким языковым категориям.
Нативная поддержка и эмуляция — не одно и то же
Эмуляция интерпретирует команды, написанные для другого семейства принтеров. Она позволяет запустить принтер на замену, не трогая устоявшееся приложение, и это крайне полезно. Но это всё равно реализация совместимости с определённым списком команд, шрифтами и поведением устройства.
Руководство Brother по эмуляции ZPL II хорошо показывает разницу. В нём перечислены поддерживаемые команды и шрифты, требуются настройки носителя и калибровки в утилите управления Brother и даже описан механизм игнорирования отдельных команд формата ZPL, если они вызывают проблемы при печати (руководство Brother по эмуляции ZPL II). Простая транспортная этикетка может работать без изменений, а формат, который загружает шрифты, запрашивает статус, пишет RFID или зависит от сохранённой настройки, может не заработать.
Что проверять в каждой эмуляции
- doneПодмножество командСравните каждую команду, которую отправляет приложение, со справочником эмуляции именно этой модели.
- doneШрифты и кодировкиПроверьте Unicode, кодовые страницы, имена шрифтов, метрики, подстановочные глифы и поддержку загружаемых шрифтов.
- doneКоординаты и разрешениеПодтвердите вывод в 203, 300 или 600 dpi, поворот, точку отсчёта и округление в итоговых позициях точек.
- doneУправление носителемПроверьте зазоры, чёрные метки, непрерывный материал, калибровку, отрыв, отделение подложки, отрезку и материалы без подложки, где это применимо.
- doneСостояние и статусПроверьте инициализацию, сохраняемые настройки, ответы об ошибках, завершение задания, паузу, отмену и повторное подключение.
- doneРеальные этикеткиНапечатайте задания с самыми короткими и самыми длинными ожидаемыми значениями, графикой, всеми типами штрихкодов, несколькими копиями и после перезапуска устройства.
Почему нет честного графика долей рынка по протоколам
Публичные рыночные отчёты обычно оценивают выручку производителей или число отгруженных устройств в категории вроде штрихкодовых принтеров. Для оценки охвата протокола нужно куда больше: активная установленная база по точной модели, прошивке и опциям, какие эмуляции включены, какие команды поддерживает каждая эмуляция и принимает ли парк уже другой язык. Ни один публичный проверяемый набор данных, изученный для этого руководства, такого сопоставления не даёт.
Доля производителя тоже не переводится напрямую в долю языка. Техника Zebra работает на ZPL, но режимы ZPL встречаются и в продуктах TSC, Honeywell, SATO, BIXOLON, Citizen, Toshiba, Brother и GoDEX. И наоборот, один принтер SATO, Honeywell или Toshiba может принимать пять языков и больше. Проценты перекрываются, и их сумма легко превышает 100.
| Пример модели | Задокументированные языковые пути | Что показывает пример |
|---|---|---|
| Zebra ZQ600 Plus | ZPL, CPCL, EPL. | Несколько важных языков Zebra могут пересекаться в одной мобильной серии. |
| TSC RE310 | TSPL-EZC (EPL2, ZPL2, CPCL), or ESC-POS. | Одна мобильная модель TSC закрывает сразу несколько целей совместимости. |
| Brother QL-820NWBc | Raster, ESC/P, P-touch Template. | Задокументированные стандартные командные пути этой модели QL отличаются от привычной тройки ZPL, EPL и TSPL. Опциональный ZPL нужно проверять в конфигурации. |
| Brother RJ-2035B (снята с продажи в Северной Америке) | FBPL плюс EPL2 и ZPL2; CPCL с прошивкой EZC или ESC/POS с прошивкой EZP. | Мобильное промышленное семейство Brother резко отличается от семейства QL, а итоговый набор совместимостей определяет прошивка. |
| Honeywell PM65 | Fingerprint, Direct Protocol, IPL, DPL, ZSim2, PDF, XML, C#. | Современное промышленное оборудование может сохранять несколько унаследованных языков. |
| SATO CT4-LX | SBPL, SZPL, SDPL, SIPL, STCL, SEPL. | Нативные и совместимые с конкурентами режимы уживаются в одном настольном принтере. |
| Citizen CL-E303 | Datamax DMX, ZPL2, EPL2. | Языки совместимости выходят далеко за пределы компаний, которые их создали. |
| Toshiba BX430T | TPCL с автоопределением ZPL II, DPL, SBPL и PDF. | Нативный TPCL и несколько замещающих режимов могут делить одну платформу. |
Более честное измерение — телеметрия продукта. Фиксируйте точную модель принтера, которую запрашивают пользователи, идёт ли задание через драйвер или «сырыми» данными, какой язык формируется сейчас и достаёт ли до этого устройства другой уже поддерживаемый язык. Затем считайте дополнительные устройства, а не перекрывающиеся ярлыки протоколов.
Что приложению для этикеток поддерживать в первую очередь?
Правильный порядок зависит от стартовой точки. Новому продукту нужна широкая основа. Продукту, который уже печатает ZPL и TSPL, стоит оптимизироваться под новые экосистемы и доступное тестовое оборудование.
| Этап | Язык или путь | Причина |
|---|---|---|
| Основа | ZPL II | Несколько крупных производителей документируют совместимые режимы, а сам язык даёт мощную современную модель этикетки. |
| Основа | TSPL или TSPL2 | Нативный охват TSC и понятная модель команд, особенно когда устройства TSC важны для целевого рынка. |
| Расширение | Brother Raster | Добавляет прямой командный путь для моделей QL, у которых стандартные интерфейсы — Raster, ESC/P и P-touch Template. Опциональный ZPL проверяйте по модели и региону. |
| Совместимость | EPL2 | Поддерживает устоявшиеся устаревшие форматы, обычно дёшев в добавлении и тестировании, но сильно перекрывается с оборудованием, умеющим ZPL. |
| Мобильная совместимость | CPCL | Важен, когда его требуют реальные мобильные парки или существующие приложения CPCL; даёт меньше, когда те же устройства принимают ZPL. |
| Промышленная совместимость | DPL | Полезен на площадках с Datamax и Honeywell, а спрос лучше подтверждать реальными данными по моделям. |
| По запросу рынка | IPL, Fingerprint, Direct Protocol, SBPL, TPCL, SLCS, EZPL, FBPL, ESC/POS | Добавляйте нативную глубину, когда парк клиента, отсутствующая функция или чековый сценарий делают отдачу очевидной. |
Если ZPL и TSPL уже работают, порядок реализации и стратегическая важность могут расходиться. EPL2 может оказаться самой быстрой следующей функцией, если текущий тестовый принтер его уже эмулирует. Brother Raster — более самостоятельный путь реализации, чем ещё одна эмуляция EPL2, но его прирост охвата клиентских устройств неизвестен, пока не измерен список целевых моделей. На устройствах, которые уже принимают ZPL, CPCL добавляет совместимость по языку задания, а не новые модели; ценность ему придают модели, понимающие только CPCL.
TSC RE310 против Brother: практический ответ
Обсуждение, из которого выросло это руководство, сводилось к двум вопросам: поддерживает ли TSC RE310 EPL2 и даёт ли преимущество принтер Brother. Задокументированный ответ: да, RE310 заявляет EPL2 в составе TSPL-EZC. И то, какая именно модель Brother, важнее самого названия Brother.
| Тестовый принтер | Релевантные задокументированные пути | Что он добавляет |
|---|---|---|
| TSC RE310 | TSPL-EZC (EPL2, ZPL2, CPCL), or ESC-POS. | Немедленное и дешёвое тестирование нескольких эмуляций на уже имеющемся оборудовании. |
| Brother RJ-2035B | FBPL плюс EPL2 и ZPL2; CPCL или ESC/POS в зависимости от установленной прошивки EZC либо EZP. | Добавляет FBPL и поведение эмулятора второго производителя, но EPL2, ZPL2 и CPCL перекрываются с RE310. Brother Mobile Solutions отмечает её как снятую с продажи в Северной Америке; доступность зависит от региона. |
| Brother QL-820NWBc | Raster, ESC/P, P-touch Template. | Отдельный путь интеграции QL и, следовательно, больше разнообразия командных путей. |
Подержанная GK420d полезна лишь тогда, когда нужно воспроизвести устаревший парк. Она поддерживает нативные ZPL и EPL с автоопределением формата, а также совместимый с EPL1 строчный режим, но страница жизненного цикла Zebra показывает завершение региональных продаж в 2021 или 2022 году и окончание сервиса в 2025-м (жизненный цикл GK420d). Для новой покупки поддерживаемым эталоном для ZPL II и EPL2 является актуальная ZD421. Совместимый с EPL1 строчный режим там ограничен прямой термопечатью с разрешением 203 dpi (характеристики ZD421).
Сначала реализуйте и протестируйте EPL2 на RE310, потому что это оборудование уже есть. Если следующая покупка должна максимально расширить охват новых командных путей, стандартная QL-820NWBc как цель для Raster даст больше разнообразия, чем RJ-2035B. Brother Mobile Solutions отмечает модель RJ как снятую с продажи в Северной Америке, а доступность различается по регионам. Уточните региональную конфигурацию QL, поскольку в старой документации встречалась опциональная поддержка ZPL только по запросу. Добавьте CPCL на RE310, когда это оправдает мобильный спрос, а затем расставляйте приоритеты для DPL или другого нативного семейства по реальным запросам клиентов.
Есть всё же причина выбрать RJ-2035B: тестирование совместимости между разными реализациями. Вторая эмуляция EPL или ZPL может вскрыть допущения, которые первая реализация прощала. Это полезно, когда продукт уже заявляет совместимость с несколькими производителями, но это другая задача, чем добавление ещё не покрытой модели интеграции.
Стройте поддержку вокруг возможностей, а не аббревиатур
Поддерживаемая система печати должна хранить одну нейтральную модель этикетки и затем выводить её через бэкенды под конкретные языки. Нейтральная модель задаёт физический размер, итоговое разрешение в точках, текстовые блоки, данные штрихкода, зоны молчания, изображения, количество копий и желаемую постобработку. Каждый бэкенд сообщает, что он способен сохранить, а что должен растрировать или отклонить.
Критерии выпуска для каждого нового языка принтера
- doneОпишите профильПеречислите поддерживаемые команды, типы штрихкодов, разрешения, режимы носителя, кодировки и известные исключения.
- doneХраните эталонные заданияСохраняйте показательные исходные задания и ожидаемые растровые изображения для каждого бэкенда.
- doneИспользуйте живые принтерыПо возможности включайте хотя бы один нативный эталон и одну важную эмуляцию, прежде чем заявлять совместимость с несколькими производителями.
- doneТестируйте неудобные данныеПечатайте пустые поля, длинные идентификаторы, ведущие нули, нелатинский текст, управляющие символы и штрихкоды с максимальной нагрузкой.
- doneСканируйте результатПроверяйте реальный штрихкод теми сканерами и с тех расстояний, что используются в рабочем процессе.
- doneПовторяйте после обновленийПрогоняйте матрицу заново после изменений прошивки, рендерера, шрифтов, сжатия или настроек носителя.
Разделяйте также тесты дизайна этикетки и тесты протокола принтера. Язык может правильно отрисовать нужные точки, а штрихкод всё равно не считается: он слишком мелкий, у него недостаточная зона молчания или его напечатали с неверной насыщенностью. Для самой этикетки используйте чек-лист по дизайну этикеток со штрихкодами, а перед выбором материала и оборудования сравните прямую термопечать и термотрансфер.
Источники и метод исследования
Статья по возможности опирается на первичные руководства производителей по программированию, матрицы для разработчиков и актуальные спецификации продуктов. Страницы продуктов подтверждают, что модель предлагает язык. Справочники команд подтверждают, что эта реализация действительно поддерживает. Коммерческие оценки объёма рынка не использовались для расчёта процентов по протоколам, потому что их категории, периоды и перекрытия несопоставимы.
- Zebra: документация по программированию ZPL, руководство по программированию EPL и CPCL для принтеров Link-OS.
- TSC: руководство по программированию TSPL и TSPL2 и языковые характеристики RE310.
- Brother: матрица совместимых моделей в справочнике команд, справочник Raster для серии QL и руководство по эмуляции ZPL для RJ, TD и TJ.
- Honeywell, SATO, Toshiba, Citizen и BIXOLON: актуальные страницы продуктов и языков, на которые есть ссылки в соответствующих разделах, дают примеры совместимости между производителями.
- Стандарты и смежные пути печати: IPP Everywhere, реестр порта 9100 в IANA и справочник Epson по ESC/POS.
Выгрузите модели принтеров, которые запрашивали за последние 90 дней, и сгруппируйте их по точному задокументированному языковому пути. Выбирайте следующую реализацию по тому, сколько дополнительных устройств она покрывает, и перед объявлением языка поддерживаемым напечатайте и отсканируйте небольшой регрессионный набор на совместимость.