Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Como imprimir directo con ReportBuilder (https://www.clubdelphi.com/foros/showthread.php?t=35152)

MarioATamborini 02-09-2006 01:25:08

Como imprimir directo con ReportBuilder
 
Hola a todos, necesito imprimir directamente sin mostrar el dialogo de impresion una hoja determinada (por ejemplo la Hoja 1 y la 3) y tambien imprimir varias copias. Esto es lo que estoy haciendo para el caso de las copias pero no me funciona. Y el tema de las hojas no se como hacerlo.

ppReportInformes.DeviceType := 'Printer';
ppReportInformes.ShowCancelDialog := False;
ppReportInformes.ShowPrintDialog := False;
ppReportInformes.PrinterSetup.PrinterName := 'Default';
ppReportInformes.PrinterSetup.Copies := 2;
ppReportInformes.PrinterSetup.DocumentName := 'Libro Diario';
ppReportInformes.Print;

Alguien tiene idea de como hacerlo.

Desde ya muchas gracias.
Saludos a todos.

MarioATamborini 07-09-2006 23:14:29

Alguien puede ayudarme?

Casimiro Notevi 08-09-2006 00:18:19

Cita:

Empezado por MarioATamborini
Hola a todos, necesito imprimir directamente sin mostrar el dialogo de impresion una hoja determinada (por ejemplo la Hoja 1 y la 3) y tambien imprimir varias copias. Esto es lo que estoy haciendo para el caso de las copias pero no me funciona. Y el tema de las hojas no se como hacerlo.

ppReportInformes.DeviceType := 'Printer';
ppReportInformes.ShowCancelDialog := False;
ppReportInformes.ShowPrintDialog := False;
ppReportInformes.PrinterSetup.PrinterName := 'Default';
ppReportInformes.PrinterSetup.Copies := 2;
ppReportInformes.PrinterSetup.DocumentName := 'Libro Diario';
ppReportInformes.Print;

Alguien tiene idea de como hacerlo.

Desde ya muchas gracias.
Saludos a todos.

En teoría, con eso es suficiente.

MarioATamborini 08-09-2006 02:40:33

Pero como hago para imprimir solamente la 1º Hoja del reporte??? sin mostrar el diálogo de Impresión???

Este es el problema que no encuentro como resolverlo.

saludos

Casimiro Notevi 08-09-2006 13:44:05

Cita:

Empezado por MarioATamborini
Pero como hago para imprimir solamente la 1º Hoja del reporte??? sin mostrar el diálogo de Impresión???

Este es el problema que no encuentro como resolverlo.

saludos

Para imprimir una página, por ejemplo:
Código:

    ppReportInformes.PrintPage( iNumPage );
Para imprimir una lista de páginas, le pasas un TStrings:
Código:

    ppReportInformes.PrintPageList( cListaPages );
Sin mostrar el diálogo de impresión, ya lo contesté antes:
Código:

ppReportInformes.ShowPrintDialog := false;

MarioATamborini 08-09-2006 15:34:26

Casimiro he probado hacer como me dices y no logro imprimir la pagina que deseo. Probe antes y despues del Print. Es como si no hiciera nada. que es lo que me puede estar faltando.

ppReportInformes.PrintPage(1);
ppReportInformes.Print;
ppReportInformes.PrintPage(1);

en el TStrings lo paso asi: 1-2, 4

gracias
saludos

Casimiro Notevi 08-09-2006 20:27:30

Cita:

Empezado por MarioATamborini
Casimiro he probado hacer como me dices y no logro imprimir la pagina que deseo. Probe antes y despues del Print. Es como si no hiciera nada. que es lo que me puede estar faltando.

ppReportInformes.PrintPage(1);
ppReportInformes.Print;
ppReportInformes.PrintPage(1);

en el TStrings lo paso asi: 1-2, 4

gracias
saludos

¿como si no hiciera nada?, pues si no das más pistas... :confused:

Yo lo hago así y funciona.

Mira en la página web del fabricante, en la sección de documentación hay una cantidad enorme de información, ayudas, faqs, pdfs... a ver si encuentras ahí la solución a tu problema.
Suerte.

MarioATamborini 11-09-2006 15:01:51

Lo que quiero decir Casimiro es que imprime todo el documento y no pa 1º pagina. Perdón si me exprese mal. Por las dudas Uso Delphi 5 y ReportBuilder 4.24 con RAP.

Ahora me voy a fijar en la pagina del fabricante a que encuentro.

saludos

huichobeto 12-03-2008 18:16:48

Imprimir directamente con Report Builder
 
Antes que nada, perdon por revivir este hilo, pero ahora estoy diseñando una aplicación en la que requiero mandar a imprimir en un ppReport una serie de hojas, configurando los intervalos a través de los settings de la impresora. Es decir, lo mismo que se esta preguntando en este hilo, pero me sucede los mismo que a MarioATamborini, al mandar a imprimir me imprime todo el documento y no los valores que le mando en la propiedad PrintPageList con una variable TStrings, uso Delphi 5 y ReportBuilder 5.53, alguien pudo solucionar este problema? Será porque se trata de Windos XP??

Gracias de antemano, es que ya busque por todo el foro. :)

huichobeto 13-03-2008 21:50:18

Imprimir un intervalo de paginas en Report Builder
 
Pues despues de darle varias vueltas, y romperme la cabeza, pues por fin encontré la luz al final del camino, jajajaja. Bueno les cuento, me fui a la documentación y pues me di cuenta que la propiedad que decían Casimiro Notevi, tal como la usaba, estaba descontinuada desde la versión del 3.0 del Report Builder, partiendo de ahi me informe que esta había sido sustituida por la propiedad RequestPage, investigando en la pagina del fabricante, pues me encontre con la misma pregunta, solo que pues escrita en inglés se me dificultaba entenderla :mad: pero al final pude resolver el problema de la siguente manera


Código Delphi [-]
Procedure TRelacionPetic.ppRelPeticionesBeforePrint(Sender: TObject);
begin
ppRelPeticiones.PrinterDevice.PageRequest.PageSetting:=psPageList;
ppRelPeticiones.PrinterDevice.PageRequest.PageList.Add('5');
end;




Pues en primera instancia hay que poner la propiedad PageSettings en psPageSetting (tambien hay otras, pero la que me sirve es esa), colocar en la propiedad PageList los números de paginas que deseemos imprimir, como ejemplo puse '5'. Esto es en el evento BeforePrint del ppReport. Y listo, tan sencillo como eso y mandar a imprimir como muestro en el siguiente codigo:


Código Delphi [-]
with ppRelPeticiones do
begin
DeviceType:= dtPrinter;
PrinterSetup.PrinterName:='PrimoPDF';
PrinterSetup.DocumentName := 'Reporte a PDF';
ShowCancelDialog:=False;
ShowPrintDialog:=False;
Print;
end;




yo lo tengo colocado dentro de un botón, y pues agradecer a toda la gente de este Club, pues me ha ayudamo muchisimo más de lo que creerían :eek:. Hasta luego y pues espero poder ayudar mas adelante.

cybergerman 12-02-2010 20:22:19

Ojo, que en mi caso, la propiedad PrinterDevice siempre apuntaba a nil, por lo que me ocasionaba AccessViolation.

Yo use una variable de Tipo "TppPrinterDevice" y luego la creo en memoria.

Device:=TppPrinterDevice.Create(nil);

De aca en mas siempre hago referencia a las propiedades de Device y al ultimo
llamo a Reporte.PrintToDevices;


La franja horaria es GMT +2. Ahora son las 00:23:43.

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