Estoy escribiendo un pequeño software que posee como una de sus funcionalidades imprimir tickets utilizando impresoras térmicas.
La utilización de este tipo de impresoras no es absolutamente necesaria para imprimir tickets, ya que existen varios dispositivos impresores capaces de hacer esto. Pero en esta oportunidad debo generar codigos de barra y la impresora debe estar colocada en un gabinete del tipo expendedor, y para este proyecto, estos periféricos son lo mejor.
La conexión a la PC se efectúa a través del puerto COM y la firma EPSON tiene publicada una serie de secuencias de escape estándar (llamadas ESC/POS) para el manejo de impresoras térmicas. Para ello nada mejor que el sitio de EPSON Experts, allí se puede descargar el PDF con los comandos ESC/POS que necesitamos.
Con respecto a la impresora en sí, posee tres leds indicadores, un boton de encendido y otro para el avance del papel. Al parecer es bastante robusta y simple a la vez. Para mi proyecto en particular, la desmantelé de su carcaza plástica y me quedaron los mecanismos listos para ser fijados en el gabinete en el cual la voy a usar, algo parecido a lo que hicieron en las expendedoras de boletos de colectivos (que también usan la TM-T85).
Aqui dejo un par de códigos en VB6 para comandar la TM-T85:
Corte de hoja:
MSComm1.CommPort = 1 ‘***selecciono el puerto
MSComm1.PortOpen = True ‘**abro el puerto de comunicaciones
MSComm1.Output = Chr(&H1B) + Chr(&H40) ‘**Inicializo la impresora
MSComm1.Output = Chr(&H1D) + Chr(&H56) + Chr(0) ‘**Corte total de la hoja
MSComm1.PortOpen = False ‘**cierro el puerto de comunicaciones
Imprimo lineas en distintos formatos:
MSComm1.CommPort =1 ‘***selecciono el puerto
MSComm1.PortOpen = True ‘***abro el puerto de comunicaciones
MSComm1.Output = Chr(&H1B) + Chr(&H21) + Chr(0) ‘****FONT A
MSComm1.Output = Chr(&H1B) + “a” + Chr(1) ‘***********Justif. izq.
MSComm1.Output = “*** Linea de texto FONT A***” + Chr(&HA)
MSComm1.Output = Chr(&H1B) + Chr(&H2D) + Chr(1) ‘***********Subrayada
MSComm1.Output = “*** Linea de texto ***” + Chr(&HA)
MSComm1.Output = Chr(&H1B) + Chr(&H2D) + Chr(0) ‘***********Subrayada off
MSComm1.Output = Chr(&H1B) + Chr(&H45) + Chr(1) ‘***********Enfatizada
MSComm1.Output = “*** Linea de texto ***” + Chr(&HA)
MSComm1.Output = Chr(&H1B) + Chr(&H45) + Chr(0) ‘***********Enfatizada off
MSComm1.Output = Chr(&H1B) + Chr(&H47) + Chr(1) ‘***********Double-strike
MSComm1.Output = “*** Linea de texto ***” + Chr(&HA)
MSComm1.Output = Chr(&H1B) + Chr(&H47) + Chr(0) ‘***********Double-strike off
MSComm1.Output = Chr(&H1B) + Chr(&H21) + Chr(8)
MSComm1.Output = “*** Linea de texto ***” + Chr(&HA)
MSComm1.Output = Chr(&H1B) + Chr(&H21) + Chr(0)
MSComm1.Output = Chr(&H1B) + Chr(&H21) + Chr(16)
MSComm1.Output = “*** Linea de texto ***” + Chr(&HA)
MSComm1.Output = Chr(&H1B) + Chr(&H21) + Chr(0)
MSComm1.Output = Chr(&H1B) + Chr(&H21) + Chr(32)
MSComm1.Output = “*** Linea de texto ***” + Chr(&HA)
MSComm1.Output = Chr(&H1B) + Chr(&H21) + Chr(0)
MSComm1.Output = Chr(&H1B) + Chr(&H64) + Chr(1) ‘**Imprimo el buffer y salto 1 lineas
MSComm1.PortOpen = False ‘**cierro el puerto de comunicaciones
Impresion de codigo de barra en formato EAN13
MSComm1.CommPort =1 ‘***selecciono el puerto
MSComm1.PortOpen = True ‘***abro el puerto de comunicaciones
MSComm1.Output = Chr(&H1D) + Chr(&H6B) + Chr(2) + “123456789012″ + Chr(0)
MSComm1.Output = Chr(&H1B) + Chr(&H64) + Chr(5) ‘***Imprimo el buffer y salto 5 lineas
MSComm1.PortOpen = False ‘****cierro el puerto de comunicaciones
Compártelo
-31.632389
-60.699459
Escrito en Hardware, Programación
Etiquetas: impresora térmica EPSON, TM-T85, TMT85