Поделиться через


Epson ESC/POS с форматированием

Узнайте, как использовать язык команд ESC/POS для форматирования текста, например полужирных и двойных символов размера для принтера point of Service.

Важные API

Использование ESC/POS

Точка обслуживания Windows поддерживает множество принтеров, включая несколько принтеров серии Epson TM (полный список поддерживаемых принтеров см . на странице принтера PointofService). Windows поддерживает печать с помощью языка управления принтером ESC/POS, который предоставляет эффективные и функциональные команды для взаимодействия с принтером.

ESC/POS — это командная система, созданная Epson в различных системах принтеров POS, направленная на предотвращение несовместимых наборов команд, обеспечивая универсальную применимость. Большинство современных принтеров поддерживают ESC/POS.

Все команды начинаются с символа ESC (ASCII 27, HEX 1B) или GS (ASCII 29, HEX 1D), за которым следует другой символ, указывающий команду. Обычный текст просто отправляется на принтер, разделенный разрывами строк.

API Windows PointOfService предоставляет большую часть этой функции с помощью методов Print() или PrintLine(). Однако для получения определенного форматирования или отправки определенных команд необходимо использовать команды ESC/POS, созданные в виде строки и отправленные на принтер.

Пример использования полужирных и двойных символов размера

В приведенном ниже примере показано, как использовать команды ESC/POS для печати полужирных и двойных символов размера. Обратите внимание, что каждая команда создается как строка, а затем вставляется в вызовы printJob.

// … prior plumbing code removed for brevity
// this code assumed you've already created a receipt print job (printJob)
// and also that you've already checked the PosPrinter Capabilities to
// verify that the printer supports Bold and DoubleHighDoubleWide print modes

const string ESC = "\u001B";
const string GS = "\u001D";
const string InitializePrinter = ESC + "@";
const string BoldOn = ESC + "E" + "\u0001";
const string BoldOff = ESC + "E" + "\0";
const string DoubleOn = GS + "!" + "\u0011";  // 2x sized text (double-high + double-wide)
const string DoubleOff = GS + "!" + "\0";

printJob.Print(InitializePrinter);
printJob.PrintLine("Here is some normal text.");
printJob.PrintLine(BoldOn + "Here is some bold text." + BoldOff);
printJob.PrintLine(DoubleOn + "Here is some large text." + DoubleOff);

printJob.ExecuteAsync();

Дополнительные сведения о ESC/POS, включая доступные команды, см. в справочнике по командам ESC/POS версии 2.60. Дополнительные сведения о Windows.Devices.PointOfService и всех доступных функциях см. на принтере PointofService на сайте MSDN.