PDFiumPas es una biblioteca de componentes completa y de calidad profesional que aporta potentes capacidades de procesamiento y visualización de PDF a las aplicaciones Delphi y C++Builder. Construida sobre el robusto motor de renderizado PDFium de Google, ofrece a los desarrolladores una solución integral para integrar la funcionalidad PDF en sus aplicaciones de escritorio.
La biblioteca consta de dos componentes principales que trabajan conjuntamente sin fisuras: TPdf para el procesamiento y la manipulación de documentos, y TPdfView para la presentación visual interactiva. Tanto si necesita construir un visor de PDF sencillo, un complejo sistema de gestión documental o integrar capacidades PDF en aplicaciones existentes, PDFiumPas proporciona las herramientas y la flexibilidad que usted necesita.
El núcleo del sistema de procesamiento PDF, TPdf gestiona todas las operaciones a nivel de documento, incluidas 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 todas las capacidades de interacción del usuario.
TStream bajo demanda mediante LoadCustomDocumentSaveAsPdfA / SaveAsPdfAToStream con perfil ICC sRGB incluido y soporte de perfiles personalizadosValidatePdfA y la propiedad de solo lectura PdfAConformanceImportPagesByIndex (importación de subconjunto), ImportNPagesToOne (cuadrícula N-up), MovePages (reordenación in situ)CreateXObjectFromPage e InsertFormObjectFromXObjectRenderPageProgressive e IPdfCancellationTokenFitMode elige cómo se ajusta la página en el viewport (zoom manual, tamaño real, ajustar a página, ajustar a anchura); 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 para visores en modo oscuroHighlightSearchText y ClearHighlightPageShadowSize / PageShadowColor) y borde de página (PageBorderColor)LinkOptions) y eventos OnAnnotationLinkClick / OnWebLinkClickAllowUserPageChange, ChangePageOnMouseScrolling, AllowUserTextSelection) para quioscos y empotraciones de solo lecturaTPdfThumbnailView| Aspecto | Detalles |
|---|---|
| Motor de renderizado | Google PDFium — motor PDF estándar del sector, probado en producción |
| Soporte de PDF | Versiones PDF 1.0 a 1.7, ficheros cifrados y protegidos con contraseña |
| Compatibilidad de plataforma | 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+ |
| Codificación de caracteres | Soporte completo de Unicode, procesamiento de texto multilingüe |
| Gestión de memoria | Optimizada para documentos grandes, uso eficiente de los recursos |
| Seguridad frente a hilos | Diseño de un solo hilo (según los requisitos de PDFium) |
PDFiumPas sigue un patrón de arquitectura por capas que separa limpiamente las responsabilidades y maximiza la reutilización del código:
| Capa | Ficheros | Responsabilidad |
|---|---|---|
| Componentes VCL | PDFium.pas, FPdfThumbnail.pas | Componentes VCL de Delphi (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 funciones para las llamadas a la DLL de PDFium |
| Canalización PDF/A | FPdfPdfa.pas | Creación PDF/A-1b (inyección de XMP, OutputIntent ICC sRGB, actualización del catálogo) y validación (detección de conformidad, enumeración de incidencias) |
| Infraestructura asíncrona | FPdfAsync.pas | IPdfCancellationToken / IPdfCancellationTokenSource, singleton PdfNoCancellationToken y helper TPdfFuture<T> para trabajos largos de renderizado y exportación |
| Helpers de geometría | FPdfMatrix.pas | Wrapper orientado a objetos sobre FS_MATRIX con helpers Translate, Scale, Rotate, Flip, Skew y Multiply |
| Operaciones sobre páginas | FPdfPageOps.pas | Wrappers para FPDF_ImportPagesByIndex, FPDF_ImportNPagesToOne, FPDF_MovePages, además de helpers 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 OnPageClick |
| Motor nativo | DLLs\Win32|Win64\pdfium.dll y pdfium.v8.dll | Motor de renderizado nativo Google PDFium, con builds opcionales con V8 habilitado |
PDFiumPas está diseñado para la productividad inmediata. La biblioteca de componentes incluye:
Tanto si construye un visor PDF sencillo como un sistema complejo de procesamiento de documentos, PDFiumPas proporciona los cimientos para una funcionalidad PDF profesional en sus aplicaciones Delphi y C++Builder.