Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Управление принтером заключается в передаче специальных управляющих команд. Команды используются для изменения шрифта, печати штрих-кода, печати картинки и т.д. Для управления предназначен тег printer. Выполняемая операция задается атрибутом opатрибутом op:

  • setfont - изменение шрифта;,
  • resetfont - сброс установленного шрифта;,
  • cut – отрезка чека,
  • barcode - печать штрих-кода;,
  • picture - печать картинки из памяти принтера,
  • picturefromfile – печать картинки из файловой системы.

Дополнительные атрибуты для изменения шрифта (setfont)

- - - - - - -
НаименованиеТип данныхВозможные значенияОписаниеПримечания
sizeстроковый
  • normal
  • нормальный
  • enlarge
  • увеличенный
  • compressed
  • сжатый
  • doublewidth
  • двойной ширины
  • smaller
  • уменьшенный
  • doubleheight
  • двойной высоты
  • underlined
  • подчеркнутый
Размер шрифта

Поддерживаемые шрифты зависят от типа используемого устройства.

Значение может быть задано в переменной без обрамления знаком "$"

linespacingстроковый
  • число от 1 до 255
  • auto – значение по умолчанию
Межстрочный интервал

Функционал поддержан для принтеров, работающих по протоколу Epson (Posbank, Senor).
Особенности отображения межстрочного интервала зависят от модели ФР, его настроек и версии прошивки.

Значение может быть задано в переменной без обрамления знаком "$"


Code Block
languagetext
titleПример установки шрифта в шаблоне
# изменение шрифта, установка размера "увеличенный"
<printer op="setfont" size="enlarge"/>
# сброс размера установленного шрифта
<printer op="resetfont"/>


Изменение шрифта влечет за собой изменение размера области печати. Эта информация учитывается при форматировании
Info
Code Block
languagetext
titleПример установки шрифта из переменной
# ранее в переменной fontString было задано значение "doublewidth"
# изменение шрифта, установка размера из переменной
<printer op="setfont" size="fontString"/> # атрибут size примет значение "doublewidth"

Если переменная не найдена, то будет использовано ее символьное представление. В этом случае size примет значение равное строке "fontString".


Info
  • Фискальный регистратор Пилот FP410K не FP410K не поддерживает подчеркнутый шрифт (underlined) и шрифт и двойной высоты (doubleheight).
  • СП101 не поддерживает уменьшенный шрифт (smaller).


Code Block
languagetext
titleПример установки межстрочного интервала в шаблоне
# изменение межстрочного интервала, установка значения "10"
<printer op="setfont" linespacing="10"/>

# сброс межстрочного интервала, установка значения по умолчанию
<printer op="setfont" linespacing="auto"/> 


Warning

При изменении шрифта или межстрочного интервала изменяется размер области печати, это необходимо учесть при форматировании.

Дополнительные атрибуты печати штрих-кода (barcode)

НаименованиеТип данныхВозможные значенияОписаниеПримечания
typeстроковый
  • UPCA (11≤n≤12)
  • UPCE (11≤n ≤12)
  • EAN13 (12≤n ≤13)
  • EAN8 (7≤n ≤8)
  • CODE39 (1≤n ≤255)
  • INTERLEAVED2OF5 (1≤n ≤255 только четное количество символов)
  • CODABAR (01≤n ≤255)
  • CODE128
  • QR
Тип штрих-кодаЗависит от используемого устройства.

Атол: только EAN13 и QR.

Атол 5.0: EAN8, EAN13, CODE128, INTERLEAVED2OF5, QR.

Штрих-М: только EAN13 и QR.

Epson: UPCA, EAN13, EAN8, CODE39, INTERLEAVED2OF5, CODE128, QR.

Подробнее о поддержке печати QR-кода описано ниже.

widthцелочисленный

Атол: от 1 до 4
Атол 5.0: от 1 до 2
Штрих-М: не используется
Пирит: от 2 до 4
SP101: от 2 до 4
FP410: от 1 до 6

Ширина

Зависит от используемого устройства

heightцелочисленный

Атол: не используется
Атол 5.0: от 1 до 255
Штрих-М: не используется
Пирит: от 1 до 255
SP101: от 1 до 255
FP410: от 1 до 125

ВысотаЗависит от используемого устройства
barcodeстроковый
Штрих-кодДопускает использование параметров
showmodeстроковый
  • SHOW_NONE - не печатать
  • SHOW_UP - печать сверху
  • SHOW_DOWN - печать снизу – печать снизу
  • SHOW_UP&DOWN - печать сверху – печать сверху и снизу
Режим отображения кодаЗависит от типа используемого устройства


Code Block
languagetext
titleПример использования тега <printer> для печати штрих-кода:
<printer op="barcode" type="EAN13" showmode="SHOW_DOWN" barcode="4792156009926" width="2" height="20"/>


Code Block
languagetext
titleПример использования тега <printer> для печати QR-кода:
<printer op="barcode" type="QR" barcode="http://rssib.ru"/>

...

Info

Если принтер не поддерживает печать заданного типа штрих-кода команда пропускается.


Panel
titleПример печати EAN13 на ФР Атол 5.0 при ширине чековой ленты 80 мм


Дополнительные атрибуты печати: width="1" height="20"Дополнительные атрибуты печати: width="2" height="20"

Image Added

Image Added


Печать 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целочисленный
  • 0
  • 1
  • 2

Тип графики:

  • 0 – простая,
  • 1 – расширенная,
  • 2 – графика-512.
Info

Расширенный тип графики не поддержан на ФР Штрих.



Code Block
languagetext
titleПример использования тега <printer> для печати картинки из памяти ФР:
<printer op="picture" number="1" offset="0" startline="1" endline="200" type="2" />

Для печати второго и последующих изображений после чека необходимо создать новый отчет *.xml в директории /linuxcash/cash/reports/, который содержит информацию об изображении:

Code Block
languagetext
titleПример test.xml
<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.

В результате на чековой ленте будет напечатано изображение с данными чека. Пример печати изображения:
Image Added

Дополнительные атрибуты печати картинки из файловой системы (picturefromfile)

Warning

Функционал поддержан только для ФР Атол версии 5.0.


Info

Для печати изображения необходимо указать прямой путь до изображения в файловой системе. Подробнее об этом можно прочитать в статье "Программирование и печать изображений в ФР".


НаименованиеТип данныхВозможные значенияОписание
filepathстроковый


Прямой путь до изображения в файловой системе
alignцелочисленный
  • 0
  • 1
  • 2

Выравнивание изображения по горизонтали:

  • 0 – по левому краю,
  • 1 – по центру,
  • 2 – по правому краю.


Code Block
languagetext
titleПример использования тега <printer> для печати картинки из файловой системы
<printer op="picturefromfile" filepath="/root/template.bmp" align="1"/>

Отрезка чека (cut)

Атрибут cut используется для отрезки чека.

Code Block
languagetext
titleПример использования тега <printer> для выполнения отрезки чека
<printer op="cut" />