PDFiumPas es una biblioteca de componentes integral y de calidad profesional que aporta capacidades potentes de procesamiento y visualización de PDF a aplicaciones de Delphi y C++Builder. Construida sobre el robusto motor de renderizado PDFium de Google, ofrece a los desarrolladores una solución completa para integrar funcionalidades de PDF en sus aplicaciones de escritorio.
La biblioteca consta de dos componentes principales que funcionan en conjunto de forma transparente: TPdf para el procesamiento y manipulación de documentos, y TPdfView para la presentación visual interactiva. Ya sea que necesite construir un visor de PDF simple, un sistema complejo de gestión documental o integrar capacidades PDF en aplicaciones existentes, PDFiumPas proporciona las herramientas y la flexibilidad que usted requiere.
El corazón del sistema de procesamiento PDF, TPdf maneja todas las operaciones a nivel de documento, incluida la carga, el guardado, la extracción de texto, el procesamiento de formularios y la gestión de metadatos.
Un sofisticado control visual que proporciona una experiencia rica de visualización de PDF con capacidades completas de interacción del usuario.
TStream bajo demanda mediante LoadCustomDocumentSaveAsPdfA / SaveAsPdfAToStream con perfil ICC sRGB incluido y soporte para perfiles personalizadosValidatePdfA y la propiedad de solo lectura PdfAConformanceImportPagesByIndex (importación de subconjunto), ImportNPagesToOne (cuadrícula N-up), MovePages (reordenamiento en sitio)CreateXObjectFromPage e InsertFormObjectFromXObjectRenderPageProgressive e IPdfCancellationTokenFitMode elige cómo se posiciona la página en el viewport (zoom manual, tamaño real, ajustar página, ajustar ancho); se reaplica automáticamente al redimensionar o cambiar de páginaPageColor desacopla el fondo de la página PDF renderizada del Color del control circundante, ideal para visores en modo oscuroHighlightSearchText y ClearHighlightPageShadowSize / PageShadowColor) y borde de página (PageBorderColor)LinkOptions) y eventos OnAnnotationLinkClick / OnWebLinkClickAllowUserPageChange, ChangePageOnMouseScrolling, AllowUserTextSelection) para kioscos e integraciones de solo lecturaTPdfThumbnailView| Aspecto | Detalles |
|---|---|
| Motor de renderizado | Google PDFium — motor PDF estándar de la industria, probado en producción |
| Soporte PDF | Versiones PDF 1.0 a 1.7, archivos cifrados y protegidos con contraseña |
| Compatibilidad de plataformas | Aplicaciones Windows de 32 y 64 bits |
| Soporte de IDE | Delphi XE5 / C++Builder XE5 (RAD Studio XE5) hasta Delphi/C++Builder 13.1 Florence (RAD Studio 13.1), Lazarus 3.8 o superior |
| Codificación de caracteres | Soporte Unicode completo, procesamiento de texto multilingüe |
| Administración de memoria | Optimizada para documentos grandes, uso eficiente de recursos |
| Seguridad en hilos | Diseño de un solo hilo (según los requisitos de PDFium) |
PDFiumPas sigue un patrón de arquitectura en capas que separa claramente las responsabilidades y maximiza la reutilización del código:
| Capa | Archivos | Responsabilidad |
|---|---|---|
| Componentes VCL | PDFium.pas, FPdfThumbnail.pas | Componentes Delphi VCL (TPdf, TPdfView, TPdfThumbnailView) con soporte en tiempo de diseño |
| Bindings de la API | FPdfView.pas, FPdfDoc.pas, FPdfText.pas, FPdfEdit.pas, FPdfAnnot.pas, FPdfFormFill.pas, FPdfPageOps.pas, FPdfAttachment.pas, FPdfSignature.pas, FPdfStructTree.pas, FPdfDataAvail.pas, FPdfExtensions.pas, FPdfFWLEvent.pas, FPdfCompress.pas, FPdfUtils.pas | Declaraciones de punteros a función para llamadas a la DLL de PDFium |
| Pipeline PDF/A | FPdfPdfa.pas | Creación PDF/A-1b (inyección de XMP, OutputIntent con ICC sRGB, actualización del catálogo) y validación (detección de conformidad, enumeración de problemas) |
| Infraestructura asíncrona | FPdfAsync.pas | IPdfCancellationToken / IPdfCancellationTokenSource, singleton PdfNoCancellationToken y helper TPdfFuture<T> para tareas de renderizado y exportación de larga duración |
| Helpers de geometría | FPdfMatrix.pas | Envoltura orientada a objetos sobre FS_MATRIX con helpers Translate, Scale, Rotate, Flip, Skew y Multiply |
| Operaciones de página | FPdfPageOps.pas | Wrappers de FPDF_ImportPagesByIndex, FPDF_ImportNPagesToOne, FPDF_MovePages, además de helpers para Form XObject (CreateXObjectFromPage / InsertFormObjectFromXObject) |
| Panel lateral de miniaturas | FPdfThumbnail.pas | TPdfThumbnailView — panel desplazable de miniaturas por página con hover, selección y navegación mediante OnPageClick |
| Motor nativo | DLLs\Win32|Win64\pdfium.dll y pdfium.v8.dll | Motor nativo de renderizado Google PDFium, con compilaciones opcionales habilitadas para V8 |
PDFiumPas está diseñado para una productividad inmediata. La biblioteca de componentes incluye:
Ya sea que esté construyendo un visor PDF simple o un sistema complejo de procesamiento de documentos, PDFiumPas ofrece la base para una funcionalidad PDF profesional en sus aplicaciones Delphi y C++Builder.