Compartilhar via


Epson ESC/POS com formatação

Saiba como usar a linguagem de comando ESC/POS para formatar texto, como negrito e caracteres de tamanho duplo, para sua impressora de ponto de serviço.

APIs importantes

Uso de ESC/POS

O Windows Point of Service oferece suporte a uma variedade de impressoras, incluindo várias impressoras da série Epson TM (para obter uma lista completa de impressoras com suporte, consulte a página Impressora PointofService). O Windows oferece suporte à impressão por meio da linguagem de controle de impressora ESC/POS, que fornece comandos eficientes e funcionais para comunicação com sua impressora.

O ESC/POS é um sistema de comando criado pela Epson usado em uma ampla variedade de sistemas de impressora POS, com o objetivo de evitar conjuntos de comandos incompatíveis, fornecendo aplicabilidade universal. A maioria das impressoras modernas suporta ESC/POS.

Todos os comandos começam com o caractere ESC (ASCII 27, HEX 1B) ou GS (ASCII 29, HEX 1D), seguido por outro caractere que especifica o comando. O texto normal é simplesmente enviado para a impressora, separado por quebras de linha.

A API PointOfService do Windows fornece grande parte dessa funcionalidade para você por meio dos métodos Print() ou PrintLine(). No entanto, para obter determinada formatação ou enviar comandos específicos, você deve usar comandos ESC/POS, criados como uma string e enviados para a impressora.

Exemplo usando caracteres de tamanho negrito e duplo

O exemplo abaixo mostra como usar comandos ESC/POS para imprimir em negrito e caracteres de tamanho duplo. Observe que cada comando é criado como uma cadeia de caracteres e, em seguida, inserido nas chamadas 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();

Para obter mais informações sobre ESC/POS, incluindo comandos disponíveis, consulte a Revisão de Referência de Comandos ESC/POS 2.60. Para obter detalhes sobre Windows.Devices.PointOfService e todas as funcionalidades disponíveis, consulte Impressora PointofService no MSDN.