PDA

Ver la Versión Completa : avance hasta corte de hoja, form continuo


fabianbbg
04-10-2004, 23:02:12
Buenas..
Como estan.. tengo un programa que imprime un recibo directamente al puerto de la forma:
la impresora es una Epson lx-300+


Var
F : TextFile;
begin
AssignFile(F,'LPT1');
Rewrite( F);
Writeln(F, #27, #64, 'TEXTO de Prueba');
Writeln(F, #13, #12);//cuando finalizo para que haga el line feed
CloseFile( F);
end;;



Esto funciona bien, pero lo que no he podido lograr es que la impresora al hacer el LF , alimentacion de formulario, despues de que imprime la ultima hoja avance un poco para que permita el corte de la hoja por el troquelado.
Lo raro es que la impresora esta configurada con el "Corte de hoja automatico", pero no se como indicarle que la impresion ha finalizado y que debe avanzar para permitir el corte de hoja.
¿Alguien puede decirme que es lo que le falta al codigo para que avance y permita el corte de hoja?.
Desde ya muchas gracias.. cualquier pregunta o aclaracion.. por favor pregunten

marcoszorrilla
04-10-2004, 23:05:11
Writeln(F, #13, #12);//cuando finalizo para que haga el line feed
En realidad alimentación de línea es #10 el 13# es retorno de carro y el #12 es salto de página.

Si quieres que avance un par de lineas le mandas linefeed 2 veces.

Un Saludo.

fabianbbg
04-10-2004, 23:22:42
Marcos ante todo, GRACIAS por la inmediata respuesta,

Claro, jeje.. me disculpo, es cierto..
#13 +#10 es retorno de carro y avance de linea.
Por lo que me rectifico diciendo lo ste:
lo que quiero que haga es justamente lo que hace, es decir avanzar la pagina.. pero como habras leido..ese no es el problema. El punto es que al avanzar la pagina no me da la posibilidad de cortar la hoja con comodidad como deberia.
O sea deberia funcionar asi:
*Comienza la impresion
*imprime una o mas hojas
*termina de imprimir la ultima hoja
*avanza, unos centimetros para permitir cortar la hoja
*al volver a mandar info para impresion, vuelve al comienzo de la hoja para comezar la impresion..
espero haber sido mas claro esta vez

un abrazo

marcoszorrilla
04-10-2004, 23:28:53
Supongo que la impresora tendrá un código para avanzar en vertical, habría que saber dicho código y aplicarlo, tendrás que ver el manual de la impresora, suelen traer ejemplos en varios lenguajes.

Un Saludo.

fabianbbg
04-10-2004, 23:55:00
Supongo que la impresora tendrá un código para avanzar en vertical, habría que saber dicho código y aplicarlo, tendrás que ver el manual de la impresora, suelen traer ejemplos en varios lenguajes.

Un Saludo.

Claro!! marcos, trae un manual el cual ya lo he leido pero no encontre la respuesta a mi pregunta.. es mas hace referencia al esc/p reference manual en el cual podes encontrar la secuencia de comandos que podria utilizar, yo lo he probado como sigue:

ESC EM Control paper loading/ejecting para 9-Pin

ASCII ESC EM n
Decimal 27 25 n

Parameter range
n = 48, 49, 50, 52, 66, 70, 82
Function
Controls feeding of continuous and single-sheet paper, according to the parameters below:
n = 48 “0” Exits cut-sheet feeder mode
49 “1” Selects loading from bin 1 of the cut-sheet feeder
50 “2” Selects loading from bin 2 of the cut-sheet feeder
52 “4” Enters cut-sheet feeder mode
66 “B” Loads paper from the rear tractor
70 “F” Loads paper from the front tractor
82 “R” Ejects one sheet of single-sheet paper

O sea enviando en ascii ESC EM R , deberia hacer un eject de la hoja, que es justamente lo que quiero, pero no es asi. Estoy segurisimo de que se me esta escapando algo, pero no se que es..
Marcos de nuevo, desde ya muchas gracias