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

от Wiki

Направо към: навигация, търсене

Производителите на принтери въвеждат широки възможности за печат и изпълнение на допълнителни задачи в своите устройства. В световен мащаб е създаден набор от команди, които са класифицирани в общ протокол, наречен 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 команди изисква тестове в реални условия и фина настройка в зависимост от модела на принтера.

Полезни връзки

Лични инструменти