Impresión de una imagen en una impresora de tickets, códigos de escape
Estimados amigos.
Llevo ya algún tiempo buscando la información para poder sacar por una impresora de tickets una imagen previamente cargada. Esta imagen se imprimiría antes de la impresión del ticket por el puerto, Serie o paralelo. Existen unos códigos de escape para la impresión de esta imagen preguardada, en este caso, al igual que la apertura del cajón o del corte automático, intento utilizar los códigos de escape que me figuran en el manual, pero no hace nada. Con la impresora viene un programita para cargar la imagen que sí imprime el logotipo pero tampoco he sido capaz de redireccionar el puerto y sacarlo en un fichero para así ver qué intenta mandar a la impresora y emularlo en el desarrollo. La impresora es Bematech TMAX-80, dice el distribuidor en España que tiene los mismos códigos que la impresora EPSON TM88IV. El código de escape que me figura en el manual es: Command GS / m Code (Hex) 1D 2F m Name Print downloaded bit image Que traducido a decimal es: 29 , 47 y 109 Ahora bien, buscando en internet, en el manual de la Impresora SAMSUNG SRP-350 pone la misma codificación, pero observaréis que la letra "m" no se convierte sino que parece ser un intervalo, algo que no figura en el manual original... :/ GS / m Imprime la imagen descargada por bit. Decimal 29 47 m [Rango] 0 ≤m ≤3, 48 ≤m ≤51 [Descripción] Imprime una imagen por bit descargada utilizando el modo especificado por m. m selecciona un modo de la siguiente tabla : m Modo 0, 48 Normal 1, 49 Doble ancho 2, 50 Doble altura 3, 51 Cuádruple Finalmente la rutina de impresión final os la pongo, lo último que he puesto, es decir, el código que marca 29,47 y luego el modo, 0 y 48. Pero ya no se me ocurre más que hacer. He probado con todos... Para el puerto serie: Código:
Writeln(Impresora,chr(29)+chr(47)+chr(0)+chr(48)) Código:
Writeln(Impresora, #29+#47+#0+#48) De antemano muchas gracias. Saludos. |
¿Alguien ha realizado algo parecido? he hecho todo tipo de pruebas pero sigue sin sacarlo...
¿Alguien sabe sino la forma de capturar la salida a un fichero? algo parecido a redireccionar la salida del LPT1 a un fichero, así de esta manera, puedo ver lo que le mandaría a la impresora el software que viene con ella y poder lanzarlo desde Delphi cuando quieran imprimir la imagen descargada. ¿?:confused: |
Una idea que he probado es colocar otra impresora e imprimir la información que manda el propio software de la máquina, lamentablemente saca por pantalla todo el código ASCII por lo que entiendo es que no reconoce la orden, aunque era de esperar...
Sigo buscando... esperando alguna idea, no sé.:confused: |
Lo vuelvo a subir por si alguien se le ha ocurrido algo... Gracias!
|
Hasta donde recuerdo , creo que debes definir el gráfico primero :
GS*..... y luego GS/.. para imprimir |
Cita:
Código:
PRINT #1, CHR$(&H1B);"U";CHR$(1); |
Hola, gracias por la aportación, he intentado esto
Código:
//Definimos la gráfica. Código:
Writeln(Impresora,chr(29)+chr(42)+chr(0)); //GS * En fin. Gracias. |
Puedes probar el programa PORTMON de www[punto]sysinternals[punto]com , la descripción dice:
Cita:
|
Hola, gracias amigo.
He instalado el programa y funciona, pero cuando lanzo el programita de la impresora que imprime en el puerto la cadena misteriosa, resulta que el PortMon bloquea la señal y se queda colgado el programita. Si uso el puerto serie, que no está bloqueado por el otro programa, me empieza a escribir hasta que se bloquea también, pero sale esto hasta donde se puede Código:
En fin, esto es frustrante. Gracias de todas maneras. |
confirmame
Confirmame lo qe kieres es imprimir una imagen por un pto paralelo no entiendo bien que es lo que desea.
|
Cita:
Si lees el hilo creo que está claro si sabes de lo que estamos escribiendo, se refiere a los códigos de escape que mediante una instrucción software genera un pulso mecánico en la impresora. Normalmente estas instrucciones se lanzan mediante el puerto de conexión de la impresora, da igual si es paralelo o serie, siempre funcionan. Existen unos estandarizados para la apertura del cajón que lanza un código y genera un pulso que permite la apertura mecánica del cajón portamonedas. Lo mismo sucedería para el corte automático. El problema reside que para lanzar la rutina de impresión del logotipo previamente cargado en la memoria de la impresora, el código facilitado por el manual es incompleto. He realizado todo tipo de pruebas, mirado en muchas Webs y aunque hay alguna más completa que otra, no funcionan los códigos de escape facilitados, por eso entiendo que hay algún código que no he hecho. PPB acertó bastante pero ese código tampoco va, no el código en sí, sino la secuencia, posiblemente sea una tontería, como lanzar previamente un código de inicialización, lo que fuera. Lo que sí sé es que un distribuidor nacional de esas impresoras no lo conoce y su servicio técnico me indica que es igual que la estándar, algo que no es cierto. Como conclusión, he decidido dejar el tema aparcado y buscar una solución aparte, imprimir mediante un report gráfico y lanzarlo con los drivers de la propia impresora. El problema es que, además de tener que instalar los drivers te limita muchísimo, ya que según el sistema operativo que tengas instalado, no te permite operar con el puerto serie o paralelo. De hecho yo trabajo habitualmente contra el puerto y no necesito tener instalado ningún driver de impresora para imprimir un ticket, abrir el cajón, etc. eso lo hace compatible con el 100% de las impresoras. Saludos. |
ok gracias por tomar tu tiempo y contestar, nada espero que resuelva
|
Cita:
Ayer estuve haciendo alguna prueba con el report gráfico pero es un lío, no sé que haré, he visto en sitios las impresoras como imprimen los logos y luego en formato texto el resto del ticket, pero bueno, no soy capaz de solucionar el problema... |
a ponernos en contacto
Me gustaria dentro de los posible que nos pongamos en contacto por el msn y asi podemos entre los dos y par de amigos que tengo buscarle la vuelta a eso.
mi correo es carlosjimenez19@hotmail.com me puede agregar y asi podemos ver que se hace y podemos intercambiar ideas, si estas deacuerdo. |
Hola Carlos, gracias por tu aportación, estos días estoy esperando qué solución me dan unos compañeros que tienen relación con el mayorista en España, a ver si pueden contactar con el fabricante, si me dan una solución viable la pondré aquí. En otro caso tengo la solución del Quickreport lanzado por los drivers de la impresora y luego posteriormente todo lo que venga, en este caso, es una mala solución pero no hay otra.
No uso el MSN, ni messenger, lo siento. |
La franja horaria es GMT +2. Ahora son las 23:35:07. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi