Compartir a través de


ESC/POS de Epson con formato

Obtenga información sobre cómo usar el lenguaje de comandos ESC/POS para dar formato al texto, como caracteres negrita y de tamaño doble, para la impresora Punto de servicio.

API importantes

Uso de ESC/POS

Windows Point of Service admite una variedad de impresoras, incluidas varias impresoras de la serie Epson TM (para obtener una lista completa de impresoras compatibles, consulte la página PointofService Printer ). Windows admite la impresión a través del lenguaje de control de impresora ESC/POS, que proporciona comandos eficaces y funcionales para comunicarse con la impresora.

ESC/POS es un sistema de comandos creado por Epson que se usa en una amplia gama de sistemas de impresora POS, destinados a evitar conjuntos de comandos incompatibles proporcionando aplicabilidad universal. La mayoría de las impresoras modernas admiten ESC/POS.

Todos los comandos comienzan con el carácter ESC (ASCII 27, HEX 1B) o GS (ASCII 29, HEX 1D), seguido de otro carácter que especifica el comando. El texto normal se envía simplemente a la impresora, separado por saltos de línea.

La API de Windows PointOfService proporciona gran parte de esa funcionalidad a través de los métodos Print() o PrintLine(). Sin embargo, para obtener cierto formato o para enviar comandos específicos, debe usar comandos ESC/POS, creados como una cadena y enviados a la impresora.

Ejemplo de uso de caracteres negrita y de tamaño doble

En el ejemplo siguiente se muestra cómo usar comandos ESC/POS para imprimir en negrita y caracteres de tamaño doble. Tenga en cuenta que cada comando se compila como una cadena y, a continuación, se inserta en las llamadas 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 obtener más información sobre ESC/POS, incluidos los comandos disponibles, consulte la revisión de referencia de comandos ESC/POS 2.60. Para obtener más información sobre Windows.Devices.PointOfService y toda la funcionalidad disponible, consulte PointofService Printer en MSDN.