Как распечатать отчет в формате ZPL

В новой версии FastReport .NET 2018.1 добавлен экспорт в формат ZPL (Zebra Programming Language). Этот формат предназначен для использования совместно со специальными этикеточными принтерами. Подробнее о ZPL можно узнать в статье «Язык описания страниц печати – ZPL».

При разработке отчетов, которые предполагается печатать на принтере этикеток нужно учитывать следующие моменты:

Сформировать файл с набором ZPL команд можно из окна предварительного просмотра отчета.

 

Вначале вы выбираете шаблон отчета, затем задаете параметры экспорта и выбираете принтер для печати. Это должен быть принтер, поддерживающий систему команд ZPL -  в нашем случае это принтер Zebra ZD420.

В коде программы можно посмотреть, как осуществляется управление настройками экспорта в формат ZPL – свойствами объекта класса ZplExport:

Свойство

Описание

ZplExport.Density

Плотность печати – зависит от модели принтера.

Возможные значения:

ZplExport.ZplDensity.d6_dpmm_152_dpi,
ZplExport.ZplDensity.d8_dpmm_203_dpi,
ZplExport.ZplDensity.d12_dpmm_300_dpi,
ZplExport.ZplDensity.d24_dpmm_600_dpi.

ZplExport.CodePage

Команда на языке ZPL, определяющая кодировку символов. Отправляется на принтер каждый раз перед началом печати этикетки. По умолчанию содержит строку “^CI28”, которая соответствует кодировке UTF-8.

ZplExport.FontScale

Масштабирование размера шрифта.  По умолчанию равно 1.

ZplExport.PrinterFont

Строка с указанием вида шрифта, по умолчанию равна “A”.

ZplExport.PrintAsBitmap

Печатать как растровое изображение. По умолчанию установлено в true.

ZplExport.PrinterInit

Строка с набором команд, которые будут однократно отправлены на принтер перед началом печати отчета. Может быть использована для установки ориентации, переопределения шрифтов или других настроек принтера.

ZplExport.PrinterFinish

Строка с набором команд, которые будут однократно отправлены на принтер после печати отчета.

ZplExport.PageInit

Строка с набором команд, которые будут отправлены на принтер перед печатью каждой этикетки.

 Отправка на печать осуществляется с помощью метода FastReport.Export.Text.TextExportPrint.PrintStream, который передает поток с ZPL командами в очередь печати принтера этикеток.