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 

PDFCom
Ir a página 1, 2  Siguiente
 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: PDFCom Responder citando

He encontrado una dll capaz de generar pdfs de forma muy sencilla. La verdad que la he estado probando en Visual Basic y me parece muy pontente.

El problema viene cuando intento utilizarla en C++ Builder. Lo primero que hago es un "Import type library"->Create Unit, con lo que me genera un PdfComLib_TLB.h y PdfComLib_TLB.cpp con lo que se supone que es la clase y todos sus métodos.

Pues bién....no soy capaz de hacer funcionar un sólo método, no es que no funcionen es que no sé cómo llamarlos.

Éste es link a la libería PDFCom http://www.linares.net/wxpdfcom/index_es.html

Aprovechando para desearos Felices Fiestas. Un saludo. Roberto Blasco
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Convirtiendo el ejemplo más básico que venía en VB (crea un archivo pdf con el texto 'Hello World!':
Código:
PdfDocPtr pdf;
pdf.CreateInstance(CLSID_PdfDoc);
pdf->AddPage(1);
long res = 0;
pdf->SetFont(WideString("Arial"), WideString(""), 10, &res);
long fill = 0;
pdf->Cell(20, 10, WideString("Hello World!"), 0, 0, 1, &fill, WideString(""));
pdf->SaveAsFile(WideString("helloworld.pdf"));


La librería original está escrita en C++:
http://wxcode.sourceforge.net/components/wxpdfdoc/
(Aunque no la uses ahí puedes conseguir más documentación)
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Muchísimas gracias de nuevo.

Feliz Navidad. Un saludo. Roberto.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: No entiendo como usar Responder citando

Hola amigos, a pesar de haber visto como utilizar funciones de una dll externa no comprendo cómo instanciar la clase desde esa dll.

El ejemplo traducido por leo es comprensible, pero no comprendo cómo iniciar bien el codigo de forma de instanciar la clase pdfcom y utilizar todo su potencial.

de antemano gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

- Tienes que ir a la siguiente web y descargar el archivo necesario. De todo el archivo comprimido solo necesitas la dll: "pdfcom.dll":

    http://www.linares.net/wxpdfcom


- Como la dll lo que contiene es un objeto COM tendrás que registrarla usando la siguiente línea desde la consola:

    regsvr32 pdfcom.dll


- Luego tienes que ir al menú: Project -> Import Type Library...

    Se abrirá una ventana, en la lista que muestra selecciona:

        "PdfCom 1.1 Type Library (Version 1.0)"

    y a continuación pulsa el botón: "Create Unit"


- Añade la siguiente cabecera en el modulo donde vayas a hacer uso del código de arriba:

    #include "PdfComLib_TLB.h"


Ultima edición por _Leo el Mar 12 Ago, 2008 12:37 am, editado 1 vez
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Una pregunta referente a este tema: Con esta biblioteca podría guardar quickreports como archivos pdf? Pos algun extraño motivo la version que tengo de quickreport (la 4.03) no tiene el método StartConcat para la clase TQRPDFDocumentFilter (lo raro es que sí que tiene el EndConcat), y soy incapaz de encontrar la manera de hacerlo sin ese método.
_________________
All your base are belong to me
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Onice escribió:
Con esta biblioteca podría guardar quickreports como archivos pdf?

No, esta librería es independiente del QuickReport.

Onice escribió:
Pos algun extraño motivo la version que tengo de quickreport (la 4.03) no tiene el método StartConcat para la clase TQRPDFDocumentFilter

Hay dos versiones de QuickReport, la Standard, que es la que hasta ahora venía con el BCB y la versión Professional, que es de pago. Si la que tienes es la que venía de fábrica con tu BCB, que yo sepa no trae filtros para PDF.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola,

Solo decir que he seguido las instrucciones de Leo para utilizar la dll y funciona en CB2007, solo que para importarla, el menú es:
Component, Import Component y en la ventana ya sale por defecto la opción de Import a type Library.

Gracias Leo
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Gracias por la información, así me ahorro comerme la cabeza intentando buscar una manera de hacerlo... ^^U

_Leo escribió:
Hay dos versiones de QuickReport, la Standard, que es la que hasta ahora venía con el BCB y la versión Professional, que es de pago. Si la que tienes es la que venía de fábrica con tu BCB, que yo sepa no trae filtros para PDF.


Creo que tengo la profesional, porque sí que trae filtros para pdf. El problema es que a la clase le falta uno de los métodos que necesito u_u Lo cual es extrañisimo por cierto, igual lo tengo mal instalado o_O
_________________
All your base are belong to me
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Hola, ví el link que puso Leo y al parecer usa las librerías wxWidgets, es necesario tener instalado también todo el framework en el C++ Builder para que trabaje???
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

JAVH escribió:
Hola, ví el link que puso Leo y al parecer usa las librerías wxWidgets, es necesario tener instalado también todo el framework en el C++ Builder para que trabaje???

No, solo es necesaria la DLL que se nombra más arriba.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Ok, gracias por el dato.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola:
Necesito una manita con el dll.
En mis aplicaciones yo no imprimo en la impresora, sino que lo hago en un TBitmap a 300x300 (no he conseguido hacerlo a 600x600) y después lo cargo en la impresora.
Código:
if(PANTA==true){ // pantalla
   frapanta =new Tfrapanta(this);
   frapanta->Image1->Picture->Assign(proba); // 3507x2486

   }
else { // impresora

   print->Copies=2;
   if(print->Execute()==false) return; // buscar impresora
   grafic = Rect(0,0,Printer()->PageWidth,Printer()->PageHeight);
   Printer()->BeginDoc();
   Printer()->Canvas->StretchDraw(grafic,proba);
   Printer()->EndDoc();
   }
PANTA=false; // por defecto a impresora

frapanta es un Form ocupado por un TImage que es el que hace de previsualizador. Cuando lo lanzo a la impresora uso el TBitmap y por StrechDraw lo pongo en la Printer().
Ahora viene mi pregunta. ¿Como lo hago a pdf con la dll?

si alguien tiene alguna solución o sabe usar bien esta dll , por favor que me lance un cable.

Saludos, Bosoft.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Distribución de Librerías Responder citando

Hola, tal como lo expone Leo, si se agrega al momento de desarrollo todo bien, pero que hay que hacer si ese programa se distribuye ? el usuario final tiene que hace todo el rollo ? o solo hay que distribuirle el dll ?

Gracias
_________________
La caja decía, requiere Win95 o superior así que instalé Linux.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

tronxx escribió:
pero que hay que hacer si ese programa se distribuye ? el usuario final tiene que hace todo el rollo ? o solo hay que distribuirle el dll ?

Solo hay que distribuir la DLL y registrarla, ya sea manualmente usando "regsvr32" o bien usando la opción del instalador necesaria para ello (todos los instaladores suelen tener una opción para esto).
Volver arriba
Ver perfil de usuario Enviar mensaje privado
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.