Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Impresión y tamaño de papel. (https://www.clubdelphi.com/foros/showthread.php?t=10927)

sur-se 01-06-2004 20:01:18

Impresión y tamaño de papel.
 
Hola. Tengo realizado una serie de impresos con QuickReport 3.05 en los que tenía puesto como tamaño de papel "Default" de forma que al imprimir, el informe tomaba el papel que estuviese definido en la impresora, o bien, antes de imprimir el usuario podía seleccionar un A4, y entonces la impresión se hacía en ese tamaño. Esto funcionaba bien.
Recientemente he actualizado los componentes de QuickReport a la versión 4.03 y ahora esto ha dejado de funcionar. Aunque en la previsualización aparece con el tamaño de papel de la impresora, al imprimir él sólo se cambia y se pone en A4 cuando salen las hojas por la impresora. No sé si hay que configurar otra propiedad de la nueva versión del QuickReport. En el componente tengo configurado el tamaño del papel a "Default" y después no se modifica por el programa.
Trabajo con Delphi 5.
Gracias.

Ivan JR 01-06-2004 22:19:06

Hola probablemente existan muchos "por que" a tu problema, los drivers de la impresora, algun bug de tu quick report. Y bueno tengo una solución rapida y sencilla de aqui a lo que le encuentras solucion a tu problema.

With Printer do
Begin
GetPrinter(ADevice,ADriver,APort,DeviceHandle);
if DeviceHandle <> 0 Then
Begin
DevMode := GlobalLock(DeviceHandle);
//GlobalUnlock(DeviceHandle);
end;
with DevMode^ do
begin
dmFields := dmFields or DM_PAPERWIDTH;
//dmPaperSize := DMPAPER_LETTER;
//dmPaperWidth := 1500;
dmPaperWidth := 1500;
dmPaperLength := 1500;
dmPaperSize := DMPAPER_USER;
dmFields := dmFields or DM_PAPERSIZE or DM_PAPERLENGTH or DM_PAPERWIDTH;

end;
GlobalUnlock(DeviceHandle);
Printer.SetPrinter(ADevice, ADriver, APort, DeviceHandle);

end;
deberas declarar algunas variables...
ADevice,ADriver,APort : array [0..255] of char;
DeviceHandle : THandle;
DevMode : PDeviceMode;

pero es lo más rapido a tu problema.Seguro jala.. aqui en mi trabajo lo uso.. ojalá te sirva

sur-se 02-06-2004 12:54:53

Hola, no veo claro que soluciono con ese código. Con eso lo que hago es establecer el tamaño del papel de la impresora a un valor de 1500 x 1500. Yo lo que quiero es que al imprimir tome el de la impresora, tal como sale en la previsualización que si lo hace, pero al imprimir se cambia solo. He realizado una prueba consistente en guardar la previsualización en un archivo qrp y después imprimir ese archivo qrp guardado y parece que lo hace bien. ¿esto es un poco raro no?

Ivan JR 02-06-2004 16:11:49

Tal vez no fui claro con mi codigo.. pero si quitas lo de la resolucion y solo le defines el tipo de papel al que quieres imprimir, se imprimira tal cual pongas. Probablemente sea cuestion más de los drivers de la impresora que del quick report, yo trabajo con el 3.0.9, que trae delphi 7, se que tiene bugs, pero tambien hay problemas con algunas impresoras como son las hp, en el aspecto que deben estar configuradas exactamente al tipo de papel que quieras utilzar, o bandejas etc. Es muy raro tu problema más bien creo que debes checar más por parte de tus drivers!.

sur-se 02-06-2004 16:25:11

Hola. Me extraña mucho que sea un problema de drivers. Como te comenté el programa funcionaba bien. Fue después de actualizar a la versión 4.03 del QR y recompilar la aplicación, y ya no funciona bien lo de respetar el papel de la impresora al imprimir (en la preview sale con el papel de la impresora correctamente). Me parece que debe ser otro bug del QuickReport.

Ivan JR 02-06-2004 16:29:45

Probablemente lo sea yo he venido utilizando el que te provee Delphi desde que uso D4 hasta ahora D7 siempre he usado el que trae. Probablemente sea un bug, por lo que sé, tendras que batallar en que te den respuesta los de qusoft, pero animo, si lo compraste caso te deben hacer. Y he visto tus problemas y al parecer fue a partir de que cambiaste de version, tal vez si tenga bugs.

Saludos

yusnerqui 18-08-2006 14:10:18

Tengo el mismo problema
 
Hola a todos, me alegra mucho haber encontrado este hilo, pues describe un problema muy similar al que tengo en estos momentos, solo que mi versión de delphi es la 7 y trabajo con Quick Report 4.04.

Me pregunto si el compañero sur-se habrá conseguido desifrar el enigma, o si alguien en este foro sabe como resolberlo.

Estaré atento a cualquier sugerrencia.


Gracias por leer mi post y un abrazo para todos.

Yusnerqui

sur-se 21-08-2006 09:33:02

Hola. Esta consulta la puse hace bastate tiempo y desde entonces ha llovido un poco.... entre otras cosas abandoné definitivamente QuickReport y ahora utilizo FastReport, lo cual me resolvió muchos problemas de impresión. Respecto al papel por defecto de la impresora, sigue siendo un misterio, pero no me molesté en resolverlo. Ahora siempre lo establezco y con FastReport lo respeta perfectamente.
Un saludo.

yusnerqui 22-08-2006 14:42:23

Muchas gracias amigo, yo seguiré investigando el tema, y si encuentro algo lo publico.

Saludos


La franja horaria es GMT +2. Ahora son las 16:46:35.

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