Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   hacer TPrinter.EndDoc no envie un salto de pagina (https://www.clubdelphi.com/foros/showthread.php?t=38938)

orfeo 05-01-2007 00:31:23

hacer TPrinter.EndDoc no envie un salto de pagina
 
Holas, tengo un problema con TPrinter.EndDoc. Estoy en W2k+SP4 y D6

Necesito imprimir Papel continuo sobre Epson Lx300, estoy usando Tprinter, todo muy bien, pero cuando le doy TPrinter.EndDoc., me hace un salto de pagina y se posiciona en la proxima pagina.
Es un comportaminto normal? se puede parametrizar? para que no haga en salto de pagina?

Como les decia necesito que no haga el salto y deje el cabezal posicionado al final de lo ultimo que imprimio.
Esto es porque necesito imprimir en tiempo real sobre una lectura del puerto com (leo una trama del com e imprimo la trama, espero la proxima trama, cuando llega la imprimo y asi sucesibamente)

Como puedo usar el Tprinter, pero sin que me haga el salto de pagina?


Gracias

PabloTech 16-03-2007 13:29:42

Tarde pero al fin
 
:( Hola...

Tenemos el mismo problema. :confused: ¿Encontraste alguna solución? Yo sugiero que evites el EndDoc hasta tanto estes seguro que termine la impresión. :confused: ¿Si saves otra respuesta puedes comunicarla?

Gracias...:)

orfeo 16-03-2007 17:11:51

Holas, la verdad probe otras cosas, y nada..

lo que propones, lo probaste? porque me parece que no imprime hasta que le mandas en endDoc. (creo)

Como el proyecto se paro, lo deje .. supuestamente mi cliente ahora compro una impresora de calor (o como se llame), y esta tiene papel en rodillo y parece que la impresora no hace salto de pagina (pues no tiene paginas, jejej) asique deje todo, hasta que se reanude la cosa...

Pero si encontras algo, de como hacerlo, me inseresa mucho.

Saludos,

PabloTech 17-03-2007 15:09:18

Lo que sé...
 
:o No lo probé y créo que tienes razón.

:) Estuve leyendo, y la mayoría a optado por mandar el texto y los comandos de impresora directamente al puerto LPT1. Esto imprime con las fuentes de la impresora y los formatos de texto (Negrita, Cursiva) como así también los saltos de línea como de página deben mandarse como comando de escape.

:confused: Ahora, yo no tengo los comandos de escape. Si tu los tienes, podrías pasarmelos. Por le general, figuran en un capítulo del manual de la impresora.

Chau... Hasta luego.:)

PabloTech 17-03-2007 16:08:29

Los códigos de escape
 
Aquí puedes mirar: http://www.clubdelphi.com/foros/showthread.php?t=41254. Yo voy a leer y a probar. Chau...

itsi 22-03-2007 09:08:38

buenas, yo tenia el mismo problema pero lo consegui.....

Prueba esta codigo :

procedure TForm1.btImprimirClick(Sender: TObject);
var
Impresora : TextFile;
Texto : string;
begin
Texto :=' linea de texto';
with Printer do
begin
AssignPrn(Impresora);
Title := 'Prueba '; //titulo que sale en el adminitrador impresoras
Rewrite(Impresora);
for n:= 0 to 200 do
Writeln(Impresora, Texto);//Imprime 200 lineas...

CloseFile(Impresora);
end;


espero que os sirva

PabloTech 22-03-2007 13:36:37

Sigamos adelante
 
:) Muchas gracias itsi, es justamente lo que estoy haciendo. :rolleyes: Pido disculpas si a veces no soy específico. :cool: Pero además, sé que existen comandos de escape que se envían junto con el texto a imprimir. Se llaman de escape porque son códigos que se envían luego del carácter 27 (Esc). Estos comandos pueden cambiar la fuente de impresión, el estilo de letra, y provocar el salto o la carga de la página (conocidos como eject/load). El comando eject hace que el papel contínuo salga un poco para que se pueda cortar; y, el comando load hace que el papel contínuo retroceda, luego de ser cortado, y se acomode para una nueva impresión. :confused: Mi problema es que no encuentro dichos códigos.
:) Gracias.

itsi 22-03-2007 16:44:57

Vale.... tengo un pdf con todos los comandos de ESC de alguna impresoras.
Creo que el Load es ESC EM n donde n tienes que porner R en Deccimal? no obstante si quieres el pdf te los envio. Pesa unos 1.5Mb......

PabloTech 22-03-2007 17:48:32

Agradecimiento
 
Muy amable de tu parte itsi.

Mi e-mail es: pblmdn@hotmail.com

Y de nuevo GRACIAS.


La franja horaria es GMT +2. Ahora son las 12:09:15.

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