PDA

Ver la Versión Completa : Imprimir Informe y almacenarlo como PDF


BlueSteel
21-03-2005, 17:03:12
Hola Foro..

En una aplicación que estoy realizando me piden que un Informe (a la vez que se pueda imprimir), me permite almacenarlo como documento PDF... Se que existe una erramiento que permite realizar esto, pero es de Acrobat, por lo tanto hay que comprar la licencia del Software....

Mi Pregunta es si desde delphi se puede realizar esto... y si es asi como se debe hacer....

Estoy trabajando con Delphi 7 Studio (Profesional), Interbase 6 y QReport 7...

Gracias :p

marcoszorrilla
21-03-2005, 17:07:38
Si tienes la versión "Profesional" de QuickReport, que es de pago puedes hacerlo.

Un Saludo.

BlueSteel
21-03-2005, 17:11:00
y no existe otra posibilidad de hacerlo... ya que solo tengo la versión que viene con el Delphi...

Existirá algun componente que lo permita, o tendre que hacer el informe con el RaveReport.... (Esta herramienta lo permite hacer ? ):p

Scooter
21-03-2005, 17:17:59
Puedes usar alguna de las herramientas gratuitas de impresión de pdf's como el PDF Writer o el PDF Machine que emulan una impresora por lo que no tendrás que tocar tu aplicación.

Gabriel
21-03-2005, 17:46:04
Hola

me estoy mirando QRexport de Export Filters

en principio van muy bien.
he cambiado los imatges y los shape del Report en Quick Report por estos, total un informe facil, lo cambias en 5 minutos.
creo el pdf asi

procedure TFPartes.BAcrobatClick(Sender: TObject);
var
aPDFFilt : TQRPDFDocumentFilter;
begin

Screen.Cursor := crAppStart;
With TFReportParte.Create(Application) do
try
Screen.Cursor := crDefault;
QuickRep1.ExportToFilter( aPDFFilt );
finally
aPDFFilt.free;
Screen.Cursor := crDefault;
Application.ProcessMessages;
Free;
end;
end;

ahora estoy implementando el tema de ver el pdf despues de crearlo y poder poner el nombre al PDF y directorio.
Enviame un correo si quieres

Saludos

pcicom
21-03-2005, 17:53:39
Si se Puede, Si se puede...


Checate el articulo de la Revista Sintesis en el Numero 19, y ahi tienes la Solucion...

por ahi esta esto

Exportando QR a PDF.

El formato PDF (http://www.adobe.es/products/acrobat/adobepdf.html) es uno de los más difundidos para la
distribución de información hoy en día.Teniendo como ventaja su total integración con la web, la posibilidad de ser
leído en distintos tipos de sistemas operativos.
Para convertir nuestro reporte en un documento pdf, nos apoyaremos de la librería PowerPDf también
OpenSource la cual podemos descargar desde http://www.est.hi-ho.ne.jp/takeshi_kanno/powerpdf
Estos componentes permiten crear documentos pdf. visualmente muy parecido a cómo funciona el
QuickReport, estos tienen entre sus posibilidades la de generar estos documento a partir de Imágenes jpg a través
de su componente TPRJpegImage.

Gabriel
22-03-2005, 09:47:31
HE mirado las PowerPDF y realmente he quedado contento.
parece que funcionan muy bien, traen ejemplos y el montaje es muy parecido a Quick Report.

Lo unico, que si tienes ya realizado el informe en Quick Report con las Export Filter lo conviertes mas rapido y tienes la opcion de verlo con el preview de Quick Report o pasarlo a PDF.
Con las Power Pdf tienes que crear el informe de nuevo.

Con las Export Filter todavia no he conseguido hacer informes de mas de una pagina, con las power vienen los ejemplos que muestran como.

Total las Power muy buena alternativa y ademas con codigo.

pcicom
23-03-2005, 18:52:33
Lo unico, que si tienes ya realizado el informe en Quick Report con las Export Filter lo conviertes mas rapido y tienes la opcion de verlo con el preview de Quick Report o pasarlo a PDF.
Con las Power Pdf tienes que crear el informe de nuevo.


Pues para hacer muchas monadas con QuickReport tambien tienes que investigar hacerca de como agregar mas monadas, asi que puedes crearte tu propio PREVIEW, personalizado por ti... y para crear tus PDF unicamente agregas un botoncito a tu PREVIEW y agregas este codigo junto con el PowerPDF..




procedure TMiPreview.Button1Click(Sender: TObject);
var
B:TBitmap;
MF:TMetaFile;
JPG:TJPegImage;
i:Integer;
lPV:Boolean;
nPaginas:Integer;
begin
cFileExport := Trim(Caption);
SaveDialog1.FileName := cFileExport+'.PDF';
// Pide el Nombre del Archivo que le vas a poner
if SaveDialog1.Execute then
begin
cFileExport := SaveDialog1.FileName;
lPV := True;
// Se supone que hicieste un PREVIEW de tu reporte y te lo mostro
// a pantalla entonces checaremos cuantas paginas son de tu reporte

nPaginas := QRPreview1.QRPrinter.PageCount;

// y Utilizamos el componente PREport

PReport1.FileName := cFileExport;
PReport1.BeginDoc;
B :=TBitmap.Create;
jpg :=TJPegImage.Create;

// Recorremos las paginas de nuestro reporte

For i:=1 to nPaginas do
begin
MF :=QRpreview1.QRPrinter.GetPage(i);
B.Width :=MF.Width;
B.Height :=MF.Height;
B.Canvas.Draw(0,0,MF);

// Convertimos la Pagina a JPG

Jpg.Assign(B);

// La Agregamos a PowerPDF

PRJpegImage1.Picture.Assign(jpg);
PRJpegImage1.Repaint;
PReport1.Print(PRPage1);
PRJpegImage1.Assign(nil);
B.FreeImage;
end;

// Terminamos nuestro Reporte PDF

PReport1.EndDoc;
B.free;
jpg.Free;

// Y Listo... Maravilloso.... ehhhh

end;

end;

jcarlos.matrix
31-05-2005, 02:05:10
el codigo que utilize es el mismo de antes pero nomas le agregue la linea , utilizacon un quickreport ya que tu utilizar un qrpreview correcto.
el codigo es el sig. aver si pueden ayudarme y decirme que estoy haciendo mal gracias.

procedure TForm1.Button1Click(Sender: TObject);
var
B:TBitmap;
MF:TMetaFile;
JPG:TJPegImage;
i:Integer;
lPV:Boolean;
nPaginas:Integer;
cFileExport:string;
begin
// cFileExport := Trim(Caption);
// SaveDialog1.FileName := cFileExport+'.PDF';
// Pide el Nombre del Archivo que le vas a poner
cFileExport := 'c:\test.pdf';
lPV := True;
// Se supone que hicieste un PREVIEW de tu reporte y te lo mostro
// a pantalla entonces checaremos cuantas paginas son de tu reporte
Quickreport1.Prepare;
// npaginas:=quickrep1.QRPrinter.PageCount;
nPaginas := Quickreport1.QRPrinter.PageCount;

// y Utilizamos el componente PREport
PReport1.FileName := cFileExport;
PReport1.BeginDoc;
B :=TBitmap.Create;
jpg :=TJPegImage.Create;
// Recorremos las paginas de nuestro reporte
For i:=1 to nPaginas do
begin
MF :=Quickreport1.QRPrinter.GetPage(i);
B.Width :=MF.Width;
B.Height :=MF.Height;
B.Canvas.Draw(0,0,MF);
// Convertimos la Pagina a JPG
Jpg.Assign(B);
// La Agregamos a PowerPDF
PRJpegImage1.Picture.Assign(jpg);
PRJpegImage1.Repaint;
PReport1.Print(PRPage1);
// PRJpegImage1.Picture:=nil;
B.FreeImage;
end;
// Terminamos nuestro Reporte PDF
PReport1.EndDoc;
B.free;
jpg.Free;
// Y Listo... Maravilloso.... ehhhh

end;

Gabriel
31-05-2005, 19:17:19
A mi me va de fabulacon Export Filters
llevo unos meses trabajando con ellos y una aplicacion practicamente, convierto todos los reports, a peticion del usuario a PDF

Ejemplillo de codigo, funcionando

procedure TFHores1.ExportarAcrobat1Click(Sender: TObject);
var
aPDFFilt : TQRPDFDocumentFilter;
begin
if ClientDataset1.IsEmpty Then
Begin
ShowMessage('Cap registre de hores per Exportar Acrobat Reader *.pdf');
exit;
end;
with FModuloIni.SaveDialog1 do
begin
InitialDir := ExtractFilePath(Application.ExeName) + 'Pdfs';
Title := 'Convertir Resum hores a Adobe Acrobat';
FileName := 'HoresPersonal.pdf';
Filter := 'PDF Files (*.PDF)|*.pdf';
DefaultExt := 'pdf';
if Execute then
begin
aPDFFilt := TQRPDFDocumentFilter.Create(Filename);
Screen.Cursor := crAppStart;
With TFReportHores1.Create(Application)do
try
Screen.Cursor := crDefault;
try
QuickRep1.ExportToFilter( aPDFFilt );
except
ShowMessage('Error creant document, comprovi que document que vol crear no estigui ja obert amb Adobe Acrobat');
raise;
end;
ShellExecute(0, nil, PChar(Filename), nil, nil, sw_shownormal);
finally
aPDFFilt.free;
Application.ProcessMessages;
Free;
Screen.Cursor := crDefault;
end;
end;
end;
end;


Saludos

Alejandrina
25-05-2007, 22:00:54
Hola,
:( Estoy empezando a trabajao con los QReport y estoy interesada tambien en almacenar un QReport que ya tengo como documento PDF, intente hacerlo como lo indican en los anteriores casos, pero creo que no entiendo bien lo que se debe hacer, alguien me podria explicar mas detalladamente.
De ante mano muchas gracias.

lacovera
08-06-2007, 09:39:23
Con el Rave Reports tienes directamente la opción de sacarlo en pdf, no te interesa mas?

David
08-06-2007, 14:53:32
Lo más fácil que puedes hacer es instalar una impresora virtual de pdf , cuando vayas a imprimir eliges la impresora esa , y ya tienes el pdf .

Aquí tienes cuteprinter , que es gratis :

http://www.softonic.com/s/cutepdf

Saludos

Alejandrina
08-06-2007, 15:48:56
Muchisimas gracias por los aportes la instalacion de la impresora CutePDF Writer me funciono perfectamente...Gracias!:)

Elias011267
14-09-2023, 20:17:44
Tengo una impresora virtual, cual seria los pasos para imprimir una memtable ?

Casimiro Notevi
15-09-2023, 11:03:01
Tengo una impresora virtual, cual seria los pasos para imprimir una memtable ?
Por favor, lee nuestra guía de estilo (https://www.clubdelphi.com/foros/guiaestilo.php), este hilo no trata exactamente de lo que preguntas, además es de hace 18 años... cómo pasa el tiempo :eek: