ESC/POS команды принтера

Материал из Info

Перейти к: навигация, поиск

Производители принтеров вводят широкие возможности печати и исполнения дополнительных задач в своих устройствах. В мире создан единый набор команд, который классифицируется в общий протокол под названием ESC/POS протокол. Продукты Microinvest могут пользоваться возможностями ESC/POS протокола в полном объеме, извлекая таким способом максимум из возможностей периферийных устройств.

Содержание

Основа протокола

Стандартная задача любого чекового принтера - это печать текста. Дополнительно можно создать индивидуальные параметры шрифта, размера, плотности и других параметров устройства. Вся информация (полезная и управляющая) передается в виде текста, принтер "улавливает" команды управления, отделяет их, и печатает только текстовую часть. Таким образом, управление содержится в самом тексте. Для отделения служебной от информационной части используются специальные символы, которые не печатаются и не могут вводиться с клавиатуры компьютера. Пример такого символа - “ESC” или символ десятичного кода 27. Отправка данного символа на принтер означает, что после него идет краткая команда управления печати. Описание команд ESC/POS протокола обычно идет вместе с устройством и является частью документации принтера.

Примерные возможности принтеров

Как примерные возможности какого-либо из стандартных чековых принтеров можно определить следующие действия:

  • Увеличение и уменьшение размера шрифта;
  • Активация инверсного шрифта (белые буквы на черном фоне)
  • Печать штрих-кода;
  • Активация звукового сигнала принтера;
  • Подача электрического сигнала для открытия денежного ящика;
  • Активация ножа на принтере для отрезания бумаги.

В зависимости от модели и возможностей принтера, указанные действия активируются с помощью ESC/POS команд. При этом принтер следит за каждой командой и выполняет ее незамедлительно.

Когда можно использовать ESC/POS команды

Использование ESC/POS команд возможно всегда, когда принтер их поддерживает (почти все принтеры) и когда работа осуществляется напрямую с принтером, без использования промежуточного Windows драйвера. Microinvest Склад Pro Light управляет устройством напрямую, отправляя необходимые команды на принтер. Они работают безупречно и при использовании USB принтера без промежуточного драйвера и USB к COM эмуляции.

Когда невозможно использовать ESC/POS команды

Существуют 3 случая, когда использование ESC/POS команд невозможно в принципе: 1. Фискальные регистраторы. Фискальные принтеры используют сложный протокол коммуникации, который абсолютно не совместим с ESC/POS протоколом. В результате чего принтер никак не реагирует на ESC/POS команды; 2. При управлении принтером через установленный Windows драйвер. В таком случае драйвер сам выполняет ESC/POS команды, и категорично отбрасывает такие команды, отправляемые программным обеспечением. В результате чего нет никакого воздействия на принтер; 3. Когда используются промежуточные звенья в печати, например, сервер печати или другие аналогичные технологии. В таком случае ESC/POS команды фильтруются, и теряются во время коммуникации, даже не доходя до принтера. При построении системы необходимо правильно планировать управление принтерами. Мы рекомендуем, чтобы каждый принтер был привязан напрямую к управляющему компьютеру, и работал непосредственно по протоколу, без драйвера.

Кодирование команд

ESC/POS команды кодируются через один или несколько специальных символов и параметров команды. Все это описывается в соответствующем разделе (Header, Details, Totals или Footer) в настройках принтеров в Microinvest Склад Pro Light или Microinvest Device Manager. Основными командами управления являются:

  • <ESC>
  • <GS>
  • <FS>

Их действия описаны в документации принтеров и стандартизировано ESC/POS протоколом.

Популярные команды

Примерный список самых популярных команд ESC/POS протокола:

  • <ESC>!<CHR00> - Активирует шрифт A;
  • <ESC>!<CHR01> - Активирует шрифт B;
  • <ESC>!<CHR10> - Шрифт с двойной высотой;
  • <ESC>!<CHR20> - Шрифт с двойной шириной;
  • <ESC>!<CHR00> - Шрифт А с нормальной высотой;
  • <ESC>Е<CHR01> - Включает полужирный шрифт;
  • <ESC>Е<CHR00> - Выключает полужирный шрифт;
  • <GS>B<CHR01> - Включает инверсную печать;
  • <GS>B<CHR00> - Выключает инверсную печать;
  • <ESC>i – Активирует нож на принтере.

Несмотря на то, что перечисленные команды стандартизированы согласно выдержкам из ESC/POS протоколов разных принтеров, но у каждого из них есть своя технология исполнения команд и результаты могут различаться, в зависимости от производителя или модели. Для достижения необходимого эффекта нужно протестировать и подобрать команды, которые выполняются принтерами.

Другая информация

ESC/POS - очень мощная технология управления принтерами. Через данный протокол можно получить превосходные результаты на практически каждом современном принтере. К сожалению, не существует 100% совместимости между разными устройствами, поэтому каждую команду нужно проверить на реальном конкретном устройстве. Часть команд зависят от времени исполнения. Так, например, активация ножа может опередить печать с содержанием и отрезать чек в неподходящем месте. Поэтому использование ESC/POS команд требует тестирования в реальных условиях и внимательной настройки, в зависимости от модели принтера.

Некоторые полезные ресурсы