.net - thermal - epson tm t88iv model m129h driver
Papel de alimentaciĆ³n en la impresora POS C# (4)
He intentado alimentar programáticamente el papel en una impresora pos (Epson TM-U220D). El problema que tengo es que la última línea del documento no se imprime, sino que se imprime como la primera línea del siguiente documento impreso. Probé POS para .NET enviando el comando "ESC | flF", también intenté enviar el comando esc crudo / pos usando el puerto serie, pero no funciona. ¿Algunas ideas?
Como dice boost, necesita obtener un formulario de alimentación / FF / ascii 12 en el puerto de la impresora. En C o C ++, si abrió su impresora como un archivo, esto sería
fprintf(printerfile,"%c",12);
A veces surge el problema en estas impresoras de que el búfer de salida no se procesa / enjuaga hasta que se escribe un retorno de carro. También puede vaciar la corriente manualmente. Entonces usarías
fprintf(printerfile,"%c%c",12,13);
fflush(printerfile);
Un error fácil de realizar cuando se envía a dispositivos como impresoras seriales es que las comunicaciones y la impresión ocurren de manera asíncrona a su aplicación principal. Por lo tanto, es importante no cerrar el puerto de la impresora inmediatamente después de que termine de imprimir, ya que esto puede causar la pérdida o corrupción del buffer de salida final.
(Lo siento, esto es C en lugar de .NET, soy uno de esos veteranos de C ++ que no se ha movido)
Editar: Leyendo comentarios de alexandruls en mi publicación, yo bien lo he entendido mal. Parece como si recibieras un feed de formulario no deseado porque has configurado la longitud de la página de forma incorrecta, o el valor predeterminado es incorrecto. Compruebe el grupo ESC C n de comandos de Epson para superar esto.
Si la impresora está en LPT1, envíela a DOS y proporcione a CMD.EXE o COMMAND.COM lo que sea que el equivalente de C # sea de esta expresión BÁSICA:
"ECHO " & Chr(12) & ">LPT1"
O eso o anexe un Chr (12) al texto de salida.
Necesitará tarde o temprano la ESC/POS Application Programming Guide
completa. Obtuve una copia de mi distribuidor EPSON hace algunos años. Mientras tanto, he encontrado con Google un enlace a las FAQ for ESC/POS
aquí: http://postechgroup.com/updata/support/drivers/EPSON/FAQ_ESCPOS.pdf
En su caso, el comando de control LF
imprime los datos en el búfer de impresión y alimenta una línea en función del espacio de línea actual.
ASCII: LF
Hex: 0A
Decimal: 10
¿Estás cortando el papel? Si corta papel, la posición del cortador es más alta que el cabezal de impresión. Por lo tanto, necesita alimentar varias líneas antes de enviar el comando de corte. Debería poder formatear una cadena con, por ejemplo, 5 alimentaciones de línea (LF -> Chr (10)), enviarlas y luego enviar el comando de corte.
En la explicación de Epson EScPOS hay un comando GS V que alimentará y cortará el papel en el punto correcto.