...
Управление принтером заключается в передаче специальных управляющих команд. Команды используются для изменения шрифта, печати штрих-кода, печати картинки и т.д. Для управления предназначен тег printer. Выполняемая операция задается атрибутом opатрибутом op:
setfont- – изменение шрифта;,resetfont- – сброс установленного шрифта;,cut– отрезка чека,barcode- – печать штрих-кода;,picture- – печать картинки из памяти принтера,picturefromfile– печать картинки из файловой системы.
Дополнительные атрибуты для изменения шрифта (setfont)
| Info |
|---|
Для принтеров Epson реализована возможность указывать несколько шрифтов. Для этого необходимо перечислить их через запятую. |
| Наименование | Тип данных | Возможные значения | Описание | Примечания | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| size | строковый |
| -
| -
| -
| -
| -
| -
| -
| Размер шрифта | Поддерживаемые шрифты зависят от типа используемого устройства. Значение может быть задано в переменной без обрамления знаком "$" |
| linespacing | строковый |
| Межстрочный интервал | Функционал поддержан для принтеров, работающих по протоколу Epson (Posbank, Senor). Значение может быть задано в переменной без обрамления знаком "$" |
| Code Block | ||||
|---|---|---|---|---|
| ||||
# изменение шрифта, установка размера "увеличенный"
<printer op="setfont" size="enlarge"/>
# сброс размера установленного шрифта
<printer op="resetfont"/> |
| Code Block | ||||
|---|---|---|---|---|
| ||||
# изменение шрифта, установка размера "увеличенный" <printer op="setfont" size="увеличенный"/> # сброс размера установленного шрифта <printer op="resetfont"/> | ||||
| Info | ||||
| Изменение шрифта влечет за собой изменение размера области печати. Эта информация учитывается при форматировании |
| Code Block | ||||
|---|---|---|---|---|
| ||||
# ранее в переменной fontString было задано значение "doublewidth" # изменение шрифта, установка размера из переменной <printer op="setfont" size="fontString"/> # атрибут size примет значение "doublewidth" Если переменная не найдена, то будет использовано ее символьное представление. В этом случае size примет значение равное строке "fontString". |
| Info |
|---|
|
| Code Block | ||||
|---|---|---|---|---|
| ||||
# изменение межстрочного интервала, установка значения "10"
<printer op="setfont" linespacing="10"/>
# сброс межстрочного интервала, установка значения по умолчанию
<printer op="setfont" linespacing="auto"/> |
| Warning |
|---|
При изменении шрифта или межстрочного интервала изменяется размер области печати, это необходимо учесть при форматировании. |
Дополнительные атрибуты печати штрих-кода (barcode)
| Наименование | Тип данных | Возможные значения | Описание | Примечания | ||||
|---|---|---|---|---|---|---|---|---|
| type | строковый |
| Тип штрих-кода | Зависит от используемого устройства. Атол: только EAN13 и QR. Атол 5.0: EAN8, EAN13, CODE128, INTERLEAVED2OF5, QR. Штрих-М: только EAN13 и QR. Epson: UPCA, EAN13, EAN8, CODE39, INTERLEAVED2OF5, CODE128, QR. Подробнее о поддержке печати QR-кода описано ниже | .||||
| width | целочисленный | Атол: от 1 до 4 | Ширина | Зависит от используемого устройства | ||||
| height | целочисленный | Атол: не используется | Высота | Зависит от используемого устройства | ||||
| barcode | строковый | Штрих-код | Допускает использование параметров | |||||
| align | строковый |
| Выравнивание изображения по горизонтали:
| |||||
| showmode | строковый |
| -
| -
| - печать снизу
| - печать сверху
| Режим отображения кода | Зависит от типа используемого устройства |
| Code Block | ||||
|---|---|---|---|---|
| ||||
<printer op="barcode" type="EAN13" showmode="SHOW_DOWN" barcode="4792156009926" width="2" height="20"/> |
| Code Block | ||||
|---|---|---|---|---|
| ||||
<printer op="barcode" type="QR" barcode="http://rssib.ru" align="left"/> |
| Info |
|---|
Значение |
...
| Info |
|---|
Если принтер не поддерживает печать заданного типа штрих-кода, команда пропускается. |
| Panel | ||||
|---|---|---|---|---|
| ||||
|
Печать QR-кода через изображение
Новые модели принтеров, разрабатываемые с 2014 года, поддерживают печать QR-кода. Если принтер не имеет встроенных методов для печати QR-кода, но позволяет печатать изображения, то в кассовом ПО на основании входных данных генерируется изображение QR-кода, которое печатается на чеке.
...
- при скорости подключения 115200 скорость печати составляет порядка 3 секунд,
- при скорости подключения 9600 скорость печати составляет порядка 11 секунд.
В таблице приведен перечень принтеров, которые не поддерживают печать QR-кода встроенными методами.
| Модель принтера | Примечания |
|---|---|
| Штрих-М | |
| ЭЛВЕС-МИНИ-ФР-Ф | |
| ФЕЛИКС-Р Ф | |
ШТРИХ-ФР-К v.01 | |
ШТРИХ-950К | |
ЭЛВЕС-ФР-К | |
ШТРИХ-КОМБО-ФР-К | |
| Штрих-POS-Ф | |
| ШТРИХ-950К v.02 | |
| ШТРИХ-КОМБО-ФР-К v.02 | |
| ШТРИХ-КИОСК-ФР-К | |
| ШТРИХ-М-ФР-К | поддерживается печать QR-кода через изображение |
| ШТРИХ-LIGHT-ФР-К | поддерживается печать QR-кода через изображение |
| ШТРИХ-500 | поддерживается печать QR-кода через изображение |
| NCR-001K | |
| SurtPrint BK | |
| АСПД ШТРИХ-МИНИ | |
| АСПД ШТРИХ | |
| АСПД ШТРИХ-950 | |
| АСПД ШТРИХ-КОМБО | |
| ЭЛВЕС-ПРИНТ | |
| ШТРИХ-ФР-Ф v.04 | поддерживается печать QR-кода через изображение |
| ШТРИХ-ФР-Ф (Казахстан) | поддерживается печать QR-кода через изображение |
| ШТРИХ-ФР-Ф (Белоруссия) | поддерживается печать QR-кода через изображение |
| ШТРИХ-МИНИ-ФР-К | поддерживается печать QR-кода через изображение |
| ШТРИХ-МИНИ-ФР-К v.02, 57 мм | поддерживается печать QR-кода через изображение |
| ШТРИХ-М-ФР-К 57мм | поддерживается печать QR-кода через изображение |
| ШТРИХ-LightPOS-K | поддерживается печать QR-кода через изображение |
| АСПД ШТРИХ-М | поддерживается печать QR-кода через изображение |
| АСПД ШТРИХ-LIGHT | поддерживается печать QR-кода через изображение |
| Атол | |
| ККТ Триум-Ф | |
| ККТ ФЕЛИКС-02К | |
| ККТ «Меркурий-140Ф» АТОЛ | |
| ККТ Меркурий MS-K | |
| ККТ ФЕЛИКС-Р К | |
| ККТ ФЕЛИКС-3СК | |
| ККТ FPrint-02K | |
| ККТ FPrint-03K | |
| ККТ FPrint-5200K | поддерживается печать QR-кода через изображение |
| ККТ PayVKP-80K | |
| ККТ FPrint-88 K | поддерживается печать QR-кода через изображение |
| ККТ PayPPU-700K | поддерживается печать QR-кода через изображение |
| ККТ PayCTS-2000K | поддерживается печать QR-кода через изображение |
| Пилот | |
| FP410K (версия прошивки меньше 60) | |
| Пирит | |
| Пирит ЕНВД | |
| Пирит ФР01К | |
| Сервис Плюс | |
СП101ФР-К | поддерживается печать QR-кода через изображение |
СП402ФР-К | поддерживается печать QR-кода через изображение |
Дополнительные атрибуты печати картинки из ФР (picture)
| Info |
|---|
Для печати изображения необходимо загрузить его в ФР. Подробнее об этом можно прочитать в статье "Программирование и печать изображений в ФР". |
| Наименование | Тип данных | Возможные значения | Описание | ||
|---|---|---|---|---|---|
| number | целочисленный | 1..255 | Номер печатаемой картинки из внутреннего массива картинок | ||
| offset | целочисленный | 0..65535 | Смещение картинки в пикселях | ||
| startline | целочисленный | 1…200 | Начальная линия | ||
| endline | целочисленный | 1…200 | Конечная линия | ||
| type | целочисленный |
| Тип графики:
|
| Code Block | ||||
|---|---|---|---|---|
| ||||
<printer op="picture" number="1" offset="0" startline="1" endline="200" type="2" /> |
Для печати второго и последующих изображений после чека необходимо создать новый отчет *.xml в директории /linuxcash/cash/reports/, который содержит информацию об изображении:
| Code Block | ||||
|---|---|---|---|---|
| ||||
<report name = "test" type="document" cached="true" > <printer op="picture" number="1" offset="0" startline="210" endline="722" type="2" /> <printer op="cut" /> </report> |
| Info |
|---|
Для каждого изображения необходимо создать отдельный отчет *.xml. |
В результате на чековой ленте будет напечатано изображение с данными чека. Пример печати изображения:
Дополнительные атрибуты печати картинки из файловой системы (picturefromfile)
| Warning |
|---|
Функционал поддержан только для ФР Атол версии 5.0. |
| Info |
|---|
Для печати изображения необходимо указать прямой путь до изображения в файловой системе. Подробнее об этом можно прочитать в статье "Программирование и печать изображений в ФР". |
| Наименование | Тип данных | Возможные значения | Описание |
|---|---|---|---|
| filepath | строковый | Прямой путь до изображения в файловой системе | |
| align | строковый |
| Выравнивание изображения по горизонтали:
|
| Code Block | ||||
|---|---|---|---|---|
| ||||
<printer op="picturefromfile" filepath="/root/template.bmp" align="center"/> |
Отрезка чека (cut)
Атрибут cut используется для отрезки чека.
| Code Block | ||||
|---|---|---|---|---|
| ||||
<printer op="cut" /> |


