FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
#2
|
|||
|
|||
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 |
#3
|
|||
|
|||
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?
|
#4
|
|||
|
|||
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!.
|
#5
|
|||
|
|||
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.
|
#6
|
|||
|
|||
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 |
#7
|
||||
|
||||
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
__________________
Lo importante no es llegar primero, sino saber llegar. Para que puedas llegar mejor lee la Guia de Estilo |
#8
|
|||
|
|||
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. |
#9
|
||||
|
||||
Muchas gracias amigo, yo seguiré investigando el tema, y si encuentro algo lo publico.
Saludos
__________________
Lo importante no es llegar primero, sino saber llegar. Para que puedas llegar mejor lee la Guia de Estilo |
|
|
|