Hardware para comercios

ESC/POS: qué es, qué comandos usa y por qué casi todas las impresoras de tickets lo hablan

Qué es ESC/POS, el lenguaje de comandos que hablan casi todas las impresoras térmicas de tickets, cómo corta el papel, abre el cajón e imprime códigos de barras.

Ilustración de una impresora térmica de tickets imprimiendo un comprobante mientras se abre el cajón de dinero conectado por cable
Ilustración de una impresora térmica de tickets imprimiendo un comprobante mientras se abre el cajón de dinero conectado por cable

ESC/POS es el lenguaje de comandos que entiende casi cualquier impresora térmica de tickets: le indica qué texto imprimir, cuándo cortar el papel, cuándo abrir el cajón de dinero y cómo imprimir un código de barras o un QR sin que el sistema tenga que dibujar la imagen pixel por pixel. Lo creó Epson para su línea de impresoras de punto de venta, y hoy lo hablan, con matices, la mayoría de las demás marcas del mercado.

De dónde viene ESC/POS

ESC/POS nació como el lenguaje propio de las impresoras de tickets de Epson. Con el tiempo, otros fabricantes de impresoras térmicas —Star, Bixolon, Citizen, y una larga lista de marcas clon sin nombre propio— empezaron a soportar el mismo conjunto de comandos, o una parte importante de él, porque les convenía que su hardware funcionara con el software de punto de venta que ya existía en el mercado sin que nadie tuviera que escribir un driver aparte para cada marca. Por eso hoy, cuando comprás una impresora térmica de tickets, casi nunca preguntás qué lenguaje habla: se asume que es ESC/POS, salvo que la ficha del producto diga lo contrario.

Cómo arma los comandos: ESC y GS

Los comandos ESC/POS son secuencias de bytes que arrancan con un carácter de control especial: ESC (el byte 0x1B) para la mayoría de los comandos clásicos, o GS (el byte 0x1D) para un grupo más nuevo de funciones, como los códigos de barras y el corte de papel en los modelos más recientes. Después de ese byte inicial vienen uno o más parámetros que le dicen a la impresora exactamente qué hacer: qué tipo de corte, cuánto dura un pulso, qué simbología de código de barras usar. La impresora nunca ve "texto plano con instrucciones": ve una secuencia de bytes, y sabe que apenas aparece un ESC o un GS, lo que sigue no es texto para imprimir sino una orden.

Los comandos que más usás sin saberlo

Cada vez que tu sistema imprime un ticket, corta el papel o abre el cajón, en el medio viajaron uno o más de estos comandos, aunque nunca los veas:

Qué haceTipo de comandoEjemplo real
Abrir el cajón de dineroComando de pulso (ESC)ESC p 0 25 250 — pulso en el pin 2, la forma estándar de destrabar un cajón conectado por RJ11 a la impresora
Cortar el papelComando de corte (GS)Corte total o parcial, según el modelo de impresora y si tiene cuchilla automática
Imprimir un código de barrasComando de barcode (GS)Se le manda la simbología (EAN-13, Code 128, entre otras) y los datos; la impresora dibuja las barras sola
Imprimir un código QRComando de símbolo 2D (GS)Mismo principio que el código de barras, pero para QR: la impresora arma el símbolo sin que el sistema mande una imagen

El comando del cajón de dinero es uno de los pocos que se puede citar con exactitud sin margen de error, porque es el que usa el agente local de YoFacturo para destrabar un cajón conectado por RJ11: se escribe directo al driver de la impresora, sin pasar por el buffer de texto, precisamente para que no quede en medio de una impresión que ya estaba en curso.

Por qué importa que tu impresora hable ESC/POS

La ventaja práctica es simple: si tu impresora habla ESC/POS, cualquier sistema de punto de venta pensado para trabajar con impresoras térmicas la reconoce sin pedirte un driver propietario ni una integración a medida. Esto es lo que permite que un mismo software funcione, sin cambios, con una Epson, una Star o una impresora clon sin marca conocida: todas entienden más o menos el mismo idioma. Las diferencias reales aparecen en los detalles finos —qué tan completo es el soporte de código de barras, si el corte es automático o manual, cuántos caracteres por segundo imprime— pero la base de comandos es la misma en la inmensa mayoría de los modelos que vas a encontrar en el mercado argentino.

Cómo se conecta una impresora ESC/POS

El protocolo es el mismo sea cual sea la conexión física; lo que cambia es cómo llegan esos bytes hasta la impresora:

  • USB: la conexión más común en un mostrador chico. El sistema habla directo con la impresora por el puerto USB, sin necesidad de un driver de Windows tradicional en la mayoría de los casos.
  • Serie (RS-232): menos frecuente hoy, pero todavía existe en equipos más viejos. Corre a una velocidad fija en baudios que hay que hacer coincidir entre la impresora y el sistema.
  • Red (Ethernet o Wi-Fi): la impresora tiene su propia dirección IP y escucha en un puerto de red dedicado a imprimir (el estándar RAW/JetDirect, puerto 9100). Sirve para ubicar la impresora lejos de la PC, en el otro extremo del local.

Cómo lo maneja YoFacturo

El agente local de YoFacturo habla ESC/POS a través de una librería dedicada, con tres formas de conexión reconocidas: USB, serie (detectada por el nombre del puerto y abierta a 9600 baudios) y red (puerto 9100 por defecto). Si el binding nativo necesario para alguna de esas conexiones no compila en una PC en particular, el resto del agente sigue funcionando igual —balanza, cajón, lectores— y solo queda desactivada esa función puntual, con un aviso en el registro de eventos. El comando de apertura del cajón de dinero es el mismo que describimos arriba, y se reutiliza también como disparador de bajo costo para un relé de control de acceso cuando no hay uno dedicado. Podés ver el resto del hardware compatible en la página de descargas del agente.

Preguntas frecuentes

¿Qué significa ESC/POS?

ESC y POS son dos abreviaturas juntas: ESC por el carácter de control 'escape' con el que arrancan la mayoría de los comandos, y POS por point of sale (punto de venta). Es el lenguaje de comandos que originó Epson para sus impresoras de tickets y que después adoptaron, con distintos niveles de compatibilidad, la mayoría de las demás marcas.

¿Todas las impresoras térmicas de tickets hablan ESC/POS?

La gran mayoría sí, incluidas las marcas clon sin nombre propio que se venden a menor costo. Epson, Star, Bixolon, Citizen, Xprinter y Posiflex son algunas de las marcas que lo hablan de forma nativa. Conviene igual revisar la ficha del modelo antes de comprar, porque algunas variantes económicas solo implementan un subconjunto de comandos.

¿Cómo abre el cajón de dinero el comando ESC/POS?

Con un comando de pulso que se manda directo al driver de la impresora, sin pasar por el buffer de texto normal, para no interferir con una impresión en curso. Ese pulso enciende una bobina dentro del cajón durante un tiempo breve, y eso es lo que libera el mecanismo que mantiene la tapa cerrada.

¿Necesito instalar un driver especial para una impresora ESC/POS?

Depende de cómo la conectes. Por USB, la mayoría de los sistemas de punto de venta hablan directo con la impresora sin pedir un driver de Windows tradicional. Por red, alcanza con la dirección IP del equipo y el puerto que usa la impresora para imprimir. El comando ESC/POS es el mismo en los tres casos.

¿Por qué mi impresora no entiende algunos comandos ESC/POS?

Porque no todas las marcas implementan el estándar completo: algunos modelos económicos soportan el texto y el corte de papel, pero no la impresión de código de barras o QR en el propio hardware, o los interpretan distinto. En esos casos el sistema suele resolverlo mandando la imagen ya dibujada en vez de pedirle a la impresora que la arme.

Guías relacionadas

esc/posimpresora térmicacajón de dinerocódigo de barrashardwarepunto de venta

Mirá cómo se hace en YoFacturo

Punto de Venta en YoFacturo — Tutorial paso a paso

Tutorial oficial del canal de YoFacturo. Guía escrita: Punto de Venta en YoFacturo.

‹ Volver al Blog