Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

EXPORTAR UN QUICKREPORT A PDF???

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: EXPORTAR UN QUICKREPORT A PDF??? Responder citando

Quiero exportar todo los quickReport q genero a PDF para tener copias de ellos guardadas.

He estado buscando en el foro y he conseguido guardar los quickReport como HTML y RTF. Pero no me sirven pq no me los guarda exactamente igual. En HTML sale patetico y en RTF sale parecido pero me quita las tablas, ... vamos q no me sirve tampoco. Para poder hacer esto me pille el archivo "QR362ProfCB5.exe" q me lo pille del foro y me lo instalé.

Ahora quiero guardar en PDF pero con el paquete este q me instalé no va pq no me reconoce ("TQRPDFDocumentFilter" ni #include "qrpdffilt.hpp" ...)

Quiero pasar a PDF los quickReport y no me vale ni usar el preview ni la impresora virtual. Lo quiero de la misma forma q en el foro se exporta a RTF:

//Exportación a RTF

TQRRTFExportFilter* filtro = new TQRRTFExportFilter("C:\\informe.rtf");
formQRAnexoEvaluacionNormales->qrAnexoEvaluacionNormales->ExportToFilter(filtro);
delete filtro;

A ver si alguién del foro ha guardado los quickReport como PDF y me dice q tengo q instalar para pasar a PDF un quickReport y como sería el codigo más o menos si no es mucho pedir.

Un saludo. Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

En la ayuda de Builder 5 viene código para exportar a PDF. Te lo pego aquí por si no lot uevieras. Te aviso que no lo he probado.
Cita:
TQRPDFDocumentFilter
Unit : QRPDFFilt.pas

The PDF filter accepts output from the standard QRLabel, QRDBText as well as QRGrImage and QRGrDBImage and QRPDFShape. For compatibility the QRHRule is also output.
The filter also has a concatenating mode that allows many reports to be sent to the same document.

Properties

TextOnTop : Boolean If true then text will be rendered after grahics in the PDF. Default is True.

Concatenating : Boolean If true then many reports may be streamed to one document. Default is false.

LeftMargin Integer This may be a positive or negative number ( in pixels) and adjusts the left margin position relative to the default which is the Quickreport left margin.

TopMargin Integer This may be a positive or negative number ( in pixels) and adjusts the top margin position relative to the default which is the Quickreport top margin.

Methods

Create( filename : string )

AddFontMap( fmap : string );

This version of the PDF filter uses the fonts incorporated in the Adobe Acrobat reader, which are ?

Courier,
Courier-Bold,
Courier-BoldOblique,
Courier-Oblique,
Helvetica,
Helvetica-Bold,
Helvetica-BoldOblique,
Helvetica-Oblique,
Times-Roman,
Times-Bold,
Times-Italic,
Times-BoldItalic,
Symbol,
ZapfDingbats

A font map is a fontname followed by a colon and the name of the standard font to use. So the string
'Bookman-Old-Style:Times' will make the report use Times whenever Bookman Old Style is encountered.

The fontmap is not case sensitive. The default font mappings are ?

?Arial:Helvetica';
'Times-new-roman:Times';
'Courier-new:Courier';

The qualifiers Bold and Italic are detected and added.

If a font is not mapped it will default to Courier.

The PDF filter class also has the standard methods Destroy and Free.


Example ?

The filter is invoked in the usual way, viz ?
Código:
procedure DoPDFExport;
var
    aPDFFilt : TQRPDFDocumentFilter;
begin
   table1.open;
   aPDFFilt := TQRPDFDocumentFilter.Create('Fish Report.pdf');
   // set filter properties
   pdffilt.TextOnTop := true;
   pdffilt.LeftMargin := -10;
   aPDFFilt.AddFontMap( 'Bookman-Old-Style:Times' );
   Form2.QuickRep1.ExportToFilter( aPDFFilt );
   table1.close;
   aPDFFilt.free;
end;

To use the PDF filter in concatenating mode this is the procedure -


     aPDFFilt := TQRPDFDocumentFilter.Create( 'PDFExport.pdf' );
     // set filter properties
     aPDFFilt .AddFontMap( 'Bookman-Old-Style:Times' );
     aPDFFilt .TextOnTop := true;
     // switch on concat mode
     aPDFFilt.Concatenating := true;
     // export reports
     repform.QuickRep1.ExportToFilter( aPDFFilt );
     form1.QuickRep1.ExportToFilter( aPDFFilt );

               

     // add as many reports as required ... then
     aPDFFilt.EndConcat;
     aPDFFilt.Free;

C++ example code -
Código:
//----------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "qrpdffilt.hpp"
//----------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//----------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//----------------------------------------------------------------

void __fastcall TForm1::StartBClick(TObject *Sender)
{

TQRPDFDocumentFilter *aPDFFilt;

   aPDFFilt = new TQRPDFDocumentFilter("test.pdf");
   aPDFFilt->AddFontMap("Arial:Helvetica");
   // must initialise filter
   aPDFFilt->StartConcat();
   // export reports
   Form1->QuickRep1->ExportToFilter(aPDFFilt);
   // add as many reports as needed
   Form2->QuickRep1->ExportToFilter(aPDFFilt);
   // must end process to get document
   aPDFFilt->EndConcat();
   delete aPDFFilt;
}
//----------------------------------------------------------------

_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Pero me da error de compilación:

Aqui=>#include "qrpdffilt.hpp"

Aqui=>TQRPDFDocumentFilter ...

Ese codigo ya lo tengo pero no me compila.
Me explicas pq.

Un saludo y gracias. Wink
Volver arriba
Mensaje    Asunto: Responder citando

Ademas en la ayuda yo no tengo =>TQRPDFDocumentFilter

Será por eso q no me compila.

Q tengo q instalar?? Shocked
Volver arriba
Mensaje    Asunto: Responder citando

El fichero qrpdffilt.hpp yo lo tengo en C:\Archivos de programa\Borland\CBuilder5\quickrpt. La ayuda la obtengo si pongo en PDF Filter en Temas de ayuda.

El código ya te decía antes que no lo he probado, con lo cual no sé si funiciona o no. De todas formas, me llegó el otro día de Qusoft (propietarios de QuickReport) que han lanzado QuickReport 4 que ya incluye los filtros para PDF. Mira en http://www.qusoft.com
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Ya me funciona. He añadido paquetes y parece q va.

Dejo aqui el codigo para que todos podaís verlo:

#include <IniFiles.hpp>

//Exportación a PDF
String ruta="C:\\Informe2.PDF";
TQRPDFDocumentFilter* filtro = new TQRPDFDocumentFilter(ruta);
formQRAnexoEvaluacionNormales->qrAnexoEvaluacionNormales->ExportToFilter(filtro);
delete filtro;

Funciona correctamente.

Un saludo. Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola, titipower, un posible error está en la búsqueda de tu #include:

#include "qrpdffilt.hpp"

Al poner el nombre de la librería entre comillas le dices al compilador que la busque en el directorio en que está tu proyecto. Si lo escribes entre <>:

#include <qrpdffilt.hpp>

lo buscará también en otros directorios, como el que te indica Ángel.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Haciendo lo que dices en el include me dce que no puede abrir el fichero include (Error E2209 del compilador), y si llevo el fichero a donde están los otros includes (..\CBuilder5\Include\Vcl) los errores me los da en los includes del propio fichero hpp
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Hola, el error es por no encontrar el fichero, como parece que has averiguado.

Lo de mover ficheros que quieres que se incluyan a otros directorios no es la mejor técnica (creo). Es mejor que en Projects/Options... escribas la ruta en Directories/Conditionals->Directories->Include path:.

En tu caso, por lo que he visto, deberías añadir la ruta $(BCB)\quickrpt.

Respecto a los errores que te producen los propios #include del hpp no puedo contestarte pues no tengo en mi instalación el susodicho hpp, no sé qué tiene por dentro, pues, sólo se me ocurre que tenga alguno del tipo #include "loquesea.hpp" y el hecho de tener el nombre entre comillas hace que loquesea.hpp se busque en el mismo directorio en que está qrpdffilt.hpp(pero tú lo has cambiado de directorio a él solito ¿me explico?). Creo que la primera respuesta que te doy es la solución adecuada, pero no puedo comprobarlo por no tener el hpp (¿tienes alguna actualización que yo no tenga, quizás?).

Suerte.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Chapeau! Efectivamente, ese es el camino: incluir la instrucción $(BCB)\quickrpt.

Sobre la actualización, tengo la que ya he ofrecido en otras ocasiones en este foro: QR362ProfCB5.exe. Mándame una dirección de correo y te paso el parche si no lo tienes.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)


Ultima edición por Angel el Jue 22 Feb, 2007 8:11 am, editado 1 vez
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Angel, pasame la actualización a mi correo si puedes.

No leí todo el thread, pero una solución para imprimir en pdf es instalar el Adobe Acrobat o cualquier otro conversor que imprima en pdf. Es decir, tu mandas a imprimir y se genera un pdf.

atte
_________________
Adrián

http://adrian.org.ar
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Vamos a ver: Ahora me da un lista de errores en el enlazado
Cita:
1. Unresolved external '__fastcall Qrpdfflit::TQRPDFDocumentFilter::~TQRPDFDocumentFilter()' referenced from D:\Proyectos\Listados.obj
2. Unresolved external 'Qrpdfflit::TQRPDFDocumentFilter::' referenced from D:\Proyectos\Listados.obj
3. Unresolved external '__fastcall Qrpdfflit::TQRPDFDocumentFilter::TQRPDFDocumentFilter(System::AnsiString)' referenced from D:\Proyectos\Listados.obj
4. Unresolved external '__fastcall Qrpdfflit::TQRPDFDocumentFilter::StartConcat()' referenced from D:\Proyectos\Listados.obj
5. Unresolved external '__fastcall Qrpdfflit::TQRPDFDocumentFilter::EndConcat()' referenced from D:\Proyectos\Listados.obj

Además, al compilar me da un aviso provocado por una llamada desde qrpdffilt.hpp:
Cita:
Math.hpp(76): W8058 Cannot create pre-compiled header: initialized data in header

Se ruega ayuda. Please !
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Hola colegas!

Este tema me es de gran interes, pero no se como hacerlo en QR 3.0, alguien sabe si es posible?

Saben que QR se distribuye con BCB 6 Enterprise?

Muchas gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Angel ...
podrias enviarme el QR362ProfCB5.EXE?

Gracias

rigoberto17@chapur.com
rigobertomtz@hotmail.com
rigoberto17@yahoo.com.mx
ariesmilenio@yahoo.com


MUCHISIMAS GRACIAS .....

si no es mucha molestia ... prodrias comprimirlo con WinRar?
el servidor de mi trabajo no permite entrada a los .EXE y .ZIP
Volver arriba
Mensaje    Asunto: Responder citando

alguien tiene el

QR362ProfCB6.EXE ??
_________________
Adrián

http://adrian.org.ar
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.