PDA

Ver la Versión Completa : Epson TM-88IIR salto de linea en ticket


kirkhelek
23-08-2010, 11:21:27
Hola buenas a todo el foro.
Tengo una duda con mi impresora térmica, resulta que estoy programando una aplicación en Delphi 5 que me saca tickets imprimiendo directamente desde la impresora, es decir, usando las fuentes de la impresora ya así imprime rapidisimo.

Los tickets que tengo los monto con un RichEdit y una vez que le meto el todo el texto que tengo lo imprimo con la función Print, hasta ahí bien, me lo imprime rapidísimo y como yo quiero ( le pongo los atributos que quiero, alineaciónm, tamaño de fuente, etc...) el problema que tengo me aparece en algunos tickets en los cuales me aparecen saltos de línea sin sentido, por lo menos no se lo encuentro:

El caso es que tengo en cada línea de ticket 42 caracteres y si da la casualidad de que el último caracter es un ESPACIO, se produce un salto de linea, una cosa muy rara. Probé a ponerle en el richedit margen derecho pero sigo con el mismo problema.

Para que os hagais una idea, el tiquet quedaria así:

123456789012345678901234567890123456789012
Ponemos los rottis en una olla con un poco
de aceite para sofreirlo, se le da vueltas
en la olla con el aceite hasta que se dore
un poquito, despues se le añade a la olla

medio vasito pequeño de la mitad, 8 ó 10
bolitas de pimientoa en grano y un
pellizco de sal.


si alguien entiende de estas cosicas, le agradeceria bastente su experiencia.

un saludo!

Jab
24-08-2010, 12:42:07
Creo que es un problema del richedit y sus códigos internos, prueba a imprimir el mismo texto mediante un fichero texto plano sin formato, o directamente en la impresora mediante el puerto de conexión.

Si el problema persiste se pueden mirar otras opciones, pero te digo que imprimiendo directamente en el puerto no deberías tener ese tipo de problemas, si usas el objeto print del richedit dependerá mucho de cómo esté desarrollado, no lo sé con seguridad, pero igual después del espacio le mete un salto al leer línea a línea, de tal manera que 42 espacios + blanco + salto de línea, imprime los 42 caracteres y el blanco queda en otra línea porque la propia impresora así lo imprime, después del blanco genera un salto de línea en la impresora mediante sus códigos de escape y por ello te queda así.

Otra opción que se me ocurre es que limites cada línea a menos de 42 caracteres.

kirkhelek
25-08-2010, 18:41:21
Jab, gracias por responder. Ya he solucionado el problema, me he decantado por una de las opciones que has escrito y que ya habia pensado en hacer pero que por perreria preferiria buscar otro camino xD. Pero bueno, al final he optado por la opcion de limitar el número de caracteres por linea, leo hasta 42, le hago un Trim a la futura línea y la inserto en el richedit, así he solucionado el problema.

Supongo que el problema radicaba, como bien dices, en la impresora que puede que tome el espacio en blanco en la última posición de la línea como salto de línea.

PD: La informática, como bien me dicen, es muy p***. jajajaja.

Un saludo y gracias.

Jab
02-09-2010, 12:13:12
Me alegro que solucionaras el problema :)