![]() |
Abrir pdf con builder
Hola, quiero abrir un pdf mediante codigo y no se ni por donde empezar, me puede alguien hechar una mano ??
Gracias |
Código PHP:
|
Si te refieres con abrir un archivo PDF para que el usuario lo vea, puedes hacer lo que dijo Casimiro, si no. Se mas especifico con tu pregunta
|
Añado que ShellExecute tal y como lo ha puesto [Casimiro] abrirá el PDF con el programa que tengas asignado por defecto a ese tipo de documentos, el resultado será el mismo que si pulsas doble click sobre el documento desde el Explorador de archivos de Windows.
Si deseas abrirlo con otro programa (Visor de PDF, Edge, Firefox,...) también se puede hacer, pero deberás especificarlo en la llamada.
|
Si estás haciendo una aplicación VCL (lo más común en C++ Builder), podés usar un TOleContainer para incrustar Acrobat Reader dentro del formulario (sí, como un objeto embebido de Office).
Pasos: Agregá un TOleContainer al formulario. código para cargar el PDF: Código:
OleContainer1->CreateObjectFromFile("C:\\ruta\\a\\archivo.pdf", false);Si el usuario no tiene visor PDF instalado, esto puede fallar. Componentes de terceros (profesionales) Hay librerías que cargan y renderizan PDFs sin necesidad de Adobe. Algunas opciones: Debenu Quick PDF Library (muy potente) WPViewPDF de WPCubed Gnostice PDFtoolkit PDFium (open source, pero más complejo de integrar en C++ Builder) Algunos son pagos, pero tienen versiones de prueba o gratuitas limitadas. ¿Qué necesitas para usar PDFium en C++ Builder? 1. Descargar PDFium ya compilado Podés bajar una versión precompilada aquí: https://github.com/bblanchon/pdfium-binaries Buscá la versión Windows x86 (32 bits) o x64, dependiendo de tu app. Necesitarás al menos estos archivos: pdfium.dll fpdfview.dll.lib (opcional, si vas a hacer linking estático, pero puedes ignorar esto si usás LoadLibrary) fpdfview.h (cabecera principal) 2. Crear el wrapper en C++ Builder Primero necesitás cargar dinámicamente la DLL y mapear las funciones que vas a usar. Cabecera: pdfium_wrapper.h Código:
#ifndef PDFIUM_WRAPPER_HCódigo:
#include "pdfium_wrapper.h"No renderiza automáticamente en un TImage. Tendrías que usar FPDF_RenderPageBitmap y dibujar en un HBITMAP o TBitmap. Necesitás tener pdfium.dll junto al ejecutable. Vamos a mostrar la primera página de un PDF en un TImage en C++ Builder, usando PDFium. ¿Qué necesitamos? pdfium.dll en la misma carpeta que el .exe. Cabecera fpdfview.h (ya incluida en el paso anterior). Un TImage en tu Form. PDFium cargado como en la clase PDFiumWrapper. ✨ Paso a paso para renderizar la primera página en un TImage 1. Agrega estos includes: Código:
#include <fpdfview.h>Código:
void RenderPageToImage(FPDF_DOCUMENT doc, int pageIndex, TImage* image) {Código:
void __fastcall TForm1::Button1Click(TObject *Sender) { |
Cita:
|
| La franja horaria es GMT +2. Ahora son las 18:25:54. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi