6 jun
2017

Imprimir recibos usando impresora térmica

Transfondo:

Estoy desarrollando una aplicación en C# de tipo que ejecuta los siguientes pasos:

  • Leer texto pre-configurado en un archivo de recursos (.resx).
  • Formatear el texto obtenido del paso anterior con valores proporcionados en el formulario. (nombres, apellidos, y fecha actual).
  • Guardar la información diligenciada en base de datos SQL.
  • Usando una impresora térmica ON 5001, generar dos impresiones de la información diligenciada.

Problema

Al momento de imprimir, la impresora térmica no corta los informes (es decir, no divide los recibos/impresiones generadas), lo cual genera desperdicio de papel.

El código que estoy usando para leer el texto pre-configurado hasta la invocación del método Print(); es:

// Imprimir recibo #1:
PrintDocument document_member1 = new PrintDocument();
document_member1.PrintPage += new PrintPageEventHandler(document_PrintPage_Member1);
document_member1.Print();

// Imprimir recibo #2:
PrintDocument document_member2 = new PrintDocument();
document_member2.PrintPage += new PrintPageEventHandler(document_PrintPage_Member2);
document_member2.Print();

Mis inquietudes son:

  • ¿Cómo enviar el comando o la instrucción a la impresora términa para cortar luego de generar cada impresión?
  • ¿Cómo definir el tamaño de cada impresión?.
  • ¿Existe una mejor alternativa a usar PrintDocument para realizar esta funcionalidad?

Ejemplo de tamaños de las impresiones a realizar:

  1. Recibo #1: 360px X 360px
  2. Recibo #2: 360px X 560px

1 Es la marca de la impresora que me asignaron para las pruebas y probablemente sea la impresora estándar del cliente; pero si hay información para "desde C# de alguna manera interactuar con el driver de la impresora" esa solución también sería válida.

He buscado términos como:

  • C# POS receipt printing
  • POS printing in C#

Pero esto es muy nuevo para mí y estoy completamente perdido.

COMENTARIOS

DEJA TU COMENTARIO

© 2017 website by Rubit Corporation