Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Quick Report A Pdf. (https://www.clubdelphi.com/foros/showthread.php?t=89428)

pakorochamx 19-11-2015 18:40:50

Quick Report A Pdf.
 
Hola a todos:
Tengo el quick report 5.6 que estoy probando para hacer mis reportes y exportalo a PDF.
La cuestion es que no encuentro la clase TQRPDFDocumentFilter, ya he buscado en el directorio de instalacion y no esta. Saben que .h o .bpp tengo que agregar para que me funcione.
quiero hacer esta rutina, pero pues sin esta clase simplmente no me funciona.

if SaveDialog.Execute then begin
Cur := Screen.Cursor;
Screen.Cursor := crHourGlass;
FName := ChangeFileExt(SaveDialog.FileName,'');
// Según el tipo de archivo del SaveDialog (1=txt, 2=doc, 3=xls, 4=pdf, 5=html
case SaveDialog.FilterIndex of
1: QrPrinter.ExportToFilter(TQRPDFDocumentFilter.Create(FName+'.pdf'));
2: QrPrinter.ExportToFilter(TQRRTFExportFilter.Create(FName+'.rtf'));
3: QrPrinter.ExportToFilter(TQRXLSFilter.Create(FName+'.xls'));
4: QrPrinter.ExportToFilter(TQRGHTMLDocumentFilter.Create(FName+'.html'));
5: QrPrinter.ExportToFilter(TQRAsciiExportFilter.Create(FName+'.txt'));
end;
Screen.Cursor := Cur;
end;


De antemano les agradezco su ayuda.

Saludos.

AgustinOrtu 19-11-2015 19:30:15

Yo lo hago de la siguiente forma:

Código Delphi [-]
uses
  QRPDFFilt;

FImprimir := TFImprimir.Create(NIL); // form con el reporte
try
  PDFExport := TQRPDFDocumentFilter.Create(RutaAlPdf);
  try
    FImprimir.Rep.ExportToFilter(PDFExport); 
  finally
    PDFExport.Free;
  end;
finally
  FImprimir.Free;
end;

Casimiro Notevi 19-11-2015 19:36:00

Cita:

Empezado por pakorochamx (Mensaje 499608)
Hola a todos

Recuerda poner los tags al código fuente, ejemplo:



Gracias :)

pakorochamx 20-11-2015 16:41:56

Quick Report A Pdf.
 
Gracias por contestar Agustin.

Me duda es en donde va al use si en el .h o en el .cpp, pues ya he probado en los dos y me sigue marcando que no encuentra la clase TQPDFDocumentFilter, Esta clase esta integrada en el QRPDFFilt?

ah...estoy utilizando RadStudio XE6

Saludos y Gracias.

darkerbyte 21-11-2015 21:09:36

Cita:

Empezado por pakorochamx (Mensaje 499608)
Hola a todos:
Tengo el quick report 5.6 que estoy probando para hacer mis reportes y exportalo a PDF.
La cuestion es que no encuentro la clase TQRPDFDocumentFilter, ya he buscado en el directorio de instalacion y no esta. Saben que .h o .bpp tengo que agregar para que me funcione.
quiero hacer esta rutina, pero pues sin esta clase simplmente no me funciona.

if SaveDialog.Execute then begin
Cur := Screen.Cursor;
Screen.Cursor := crHourGlass;
FName := ChangeFileExt(SaveDialog.FileName,'');
// Según el tipo de archivo del SaveDialog (1=txt, 2=doc, 3=xls, 4=pdf, 5=html
case SaveDialog.FilterIndex of
1: QrPrinter.ExportToFilter(TQRPDFDocumentFilter.Create(FName+'.pdf'));
2: QrPrinter.ExportToFilter(TQRRTFExportFilter.Create(FName+'.rtf'));
3: QrPrinter.ExportToFilter(TQRXLSFilter.Create(FName+'.xls'));
4: QrPrinter.ExportToFilter(TQRGHTMLDocumentFilter.Create(FName+'.html'));
5: QrPrinter.ExportToFilter(TQRAsciiExportFilter.Create(FName+'.txt'));
end;
Screen.Cursor := Cur;
end;


De antemano les agradezco su ayuda.

Saludos.

Mmm segun veo este codigo esta en Delphi, porque en tu mensaje anterior preguntas por el codigo en .h o .cpp? estas usando también C en tu proyecto?

Bueno respecto a este código agrega "QRPDFFilt" al uses que esta después de interface (al principio de el codigo de tu form o unit). Claro si es que ya has trabajado con Quickreport y no te ha dado problema si no quizá tengas que agregar la carpeta de QR al path de delphi.

Yo diseñé mi propio Preview para QR y en el preview puse un botón que me exporta a PDF el reporte.

Código Delphi [-]
procedure TFormQRPreview.bt_pdfClick(Sender: TObject);
begin
 SaveDialog.Title := 'Guardar como PDF';
 SaveDialog.DefaultExt := '.pdf';
 SaveDialog.Filter :='pdf';
 if SaveDialog.Execute() then
        if SaveDialog.FileName <> '' then QRPrev.QRPrinter.ExportToFilter(TQRPDFDocumentFilter.Create(SaveDialog.FileName));
end;

y me funciona perfectamente, sí que lo primero que quiero que revises es si estas generando el reporte antes de tu rutina donde lo exportas ya sea con un "QReporte.PreviewModal" o si uno usas previsualización con un ".QReporte.Prepare"

AgustinOrtu 21-11-2015 21:27:15

Cita:

Empezado por pakorochamx (Mensaje 499648)
Gracias por contestar Agustin.

Me duda es en donde va al use si en el .h o en el .cpp, pues ya he probado en los dos y me sigue marcando que no encuentra la clase TQPDFDocumentFilter, Esta clase esta integrada en el QRPDFFilt?

ah...estoy utilizando RadStudio XE6

Saludos y Gracias.


Proba soltar desde la paleta de componentes un PDFFilter y guardar. Ahi deberia incluirte las units correctas automaticamente (nunca use C++ :()

pakorochamx 23-11-2015 22:25:07

Quick Report
 
Ya resolvi el problema, es correcto lo que me comentas de poner el filtro a pdf en la forma.
Me estaba dando dolor de cabeza ya que no sabia a que forma pertenecia el filtro si a la forma principal o a la forma del quick reporte y es del quick reporte.

Gracias por la ayuda.
Saludos.


La franja horaria es GMT +2. Ahora son las 11:18:56.

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