Más que una vinculación de PDFium
PDFium Delphi Component es una capa completa para desarrollar aplicaciones PDF nativas sobre PDFium, no una traducción ligera de la API C de PDFium. Reúne componentes visuales y no visuales de Delphi con flujos reutilizables de visualización, renderizado, búsqueda, formularios, anotaciones, impresión, accesibilidad e informes de preflight.
Los equipos pueden partir de componentes probados y arquitecturas de lectores funcionales, y adaptar el código fuente Object Pascal suministrado a su propio producto.
Aplicaciones de referencia para lectores profesionales
Los proyectos ejecutables de PDFViewer, MultiPageViewer, SplitView, interacción, búsqueda y lectura accesible muestran flujos completos de aplicaciones de escritorio. Aportan puntos de partida probados para interfaz de producción, revisión, rendimiento y funciones de asistencia.
La lectura accesible es una función de la aplicación: TPdfReadingSession coordina unidades de lectura por oración, asignaciones de texto hablado y eventos de palabra para mantener la narración sincronizada con la página.
PDFium Delphi Component De un vistazo
| Producto | PDFium Delphi Component — SDK profesional de aplicaciones PDF con código fuente para Delphi, C++Builder y Lazarus |
|---|---|
| Ideal para | Publicar lectores PDF de alto rendimiento, herramientas de revisión, flujos documentales y experiencias de lectura accesibles en aplicaciones nativas |
| Compatibilidad con IDE | Delphi y C++Builder XE5 hasta 13.1 Florence (Win32, Win64); Lazarus / Free Pascal LCL |
| Papel del motor | PDFium — la familia de motores de código abierto que hay detrás de la visualización de PDF en Chromium — se encarga del renderizado de páginas y la lectura de documentos; DLL de tiempo de ejecución V8 / XFA opcionales |
| Capa de aplicación | 115.000 líneas de Object Pascal en 55 unidades, 475 miembros públicos de TPdf y 152 en TPdfView, incluidas las capas de visor, serialización, firma, cifrado, estándares y accesibilidad que PDFium no proporciona |
| Firmas digitales | Firma PAdES B-B / B-T / B-LT / B-LTA (ETSI EN 319 142-1), contenedores CMS / CAdES, sellado de tiempo RFC 3161, Document Security Store |
| Cifrado | Escritura de cifrado AES-256 de PDF 2.0 (ISO 32000-2), ISO/TS 32003 AES-GCM, ISO/TS 32004 PDF MAC, sobre una pila AES / SHA / HMAC / ASN.1 escrita íntegramente en Pascal |
| Estándares | Validadores de PDF/A (partes 1-4), PDF/X (hasta X-6), PDF/UA, PDF/E, PDF/VT (hasta VT-2s) y PDF/R, con ayudas de guardado e inyección de marcadores |
| Salida PDF | Serializador propio: Fast Web View linealizado, empaquetado en flujos de objetos y flujos xref, revisiones incrementales solo de objetos modificados, copias de reparación verificadas |
| Recursos de lector | 34 proyectos listos para ejecutar: referencias de lectores profesionales, laboratorios de interacción, bancos de trabajo de accesibilidad, herramientas de estándares y preflight, laboratorios de texto CJK y RTL |
| Archivos grandes | El acceso bajo demanda evita una copia completa en memoria de documentos de varios gigabytes; renderizado de páginas en paralelo y almacenamiento de trabajo acotado |
| Código fuente | Código fuente completo de Object Pascal incluido con cada licencia |
| Licencias | Sin regalías, pago único de $350-$4200 según el nivel; renovación al 40 % del precio de catálogo |
| Versión actual | 3.51.0 (2026-08-16) |
| Evaluación | Descarga gratuita del paquete de demostración |
Dónde termina el motor y empieza el producto
PDFium es un motor de renderizado. Dibuja páginas, extrae texto y lee estructuras existentes, y ahí termina todo. No firma, no escribe cifrado, no valida ningún estándar, no lineariza, no escribe revisiones incrementales y no admite XFDF ni XMP. Una vinculación de la API C de PDFium hereda exactamente esos límites.
PDFium Delphi Component entrega alrededor de 115.000 líneas de Object Pascal repartidas en 55 unidades. Más de 62.000 de esas líneas están en 36 unidades que no tienen ninguna contrapartida en la API de PDFium: criptografía, firmas, cifrado, los seis validadores de estándares, el serializador PDF, XFDF, XMP, la maquetación y el shaping de texto. Escritas en Pascal, contrastadas con las cláusulas publicadas de ISO, ETSI, IETF y FIPS, y entregadas como código fuente con cada licencia.
| Capacidad | Motor PDFium | Implementado por PDFium Delphi Component |
|---|---|---|
| Firmas digitales | Solo lee diccionarios de firma existentes | Firma PAdES B-B / B-T / B-LT / B-LTA, SignedData CMS / CAdES conforme a RFC 5652, cliente de sellado de tiempo RFC 3161, inyección de DSS y VRI, claves de Windows CNG (RSA-PSS, PKCS#1, ECDSA), firma remota / HSM en la que la clave privada nunca sale del servicio, y validación de confianza de la cadena de certificados |
| Cifrado | Abre archivos cifrados; no puede escribir cifrado | AES-256 de ISO 32000-2 (derivación de clave V5 / R6, algoritmo 2.B), AES-GCM de ISO/TS 32003, PDF MAC de ISO/TS 32004 y cifrado completo de flujos y cadenas |
| Primitivas criptográficas | Ninguna expuesta | AES-128/256 CBC y GCM, SHA-256/384/512, SHA-3, HMAC y lector y escritor ASN.1 DER, todo en Object Pascal puro y verificado con los vectores de prueba de FIPS 197 y FIPS 180-4 |
| Conformidad con estándares | Ningún validador de ningún tipo | PDF/A partes 1 a 4, PDF/X hasta X-6, PDF/UA-1, PDF/E-1, PDF/VT-1/2/2s y PDF/R-1: validadores a nivel de cláusula, inyección de marcas y ayudas de guardado según perfil |
| Serialización PDF | Un único guardado secuencial del archivo completo | Fast Web View linealizado con tablas de hints del anexo F, empaquetado en flujos de objetos y flujos de xref, revisiones incrementales por objetos modificados que conservan el prefijo byte a byte, y copias de reparación reverificadas en modo estricto |
| Documentos dañados | Recuperación silenciosa, sin informe | Políticas de carga estricta, compatible y de recuperación con diagnósticos estructurados: ruta de reconstrucción, desplazamientos de corrupción, revisiones en conflicto y estado de los presupuestos |
| Intercambio de datos de formulario | Sin API de XFDF ni FDF | Importación y exportación de XFDF (ISO 19444-1) y FDF para valores de campo y 18 subtipos de anotación |
| Metadatos | Lee el diccionario info clásico | Lector y escritor de paquetes XMP con contenedores tipados, usados por todos los perfiles de estándar |
| Red y escalabilidad | Callbacks por rangos de bytes y nada por encima | Sesiones de documento progresivas, planificador de rangos de bytes con prioridades, deduplicación, fusión, reintentos acotados y cancelación, renderizado de páginas en paralelo, y almacenamiento de trabajo acotado que se vuelca a un archivo temporal que se elimina al cerrar |
| Capa de aplicación | Handles y callbacks de C | Tres componentes VCL / LCL registrados, 475 miembros públicos de TPdf y 152 en TPdfView, estado del visor, miniaturas, sesiones de lectura y 34 proyectos listos para ejecutar |
En lugar de diseñar desde cero el estado del visor, la interacción, el renderizado asíncrono, la correspondencia del texto, el foco de formularios, la navegación entre páginas, el comportamiento de accesibilidad, los contenedores de firma, los diccionarios de cifrado y los escritores de revisiones, los equipos parten de componentes probados y arquitecturas de lector funcionales, y luego adaptan a su producto el código fuente Object Pascal suministrado.
Visualización PDF nativa y flujos documentales para Delphi
PDFium Delphi Component es un conjunto de componentes PDFium con código fuente para aplicaciones Delphi, C++Builder y Lazarus que necesitan visualización PDF rápida, rasterización de páginas, carga por streams, selección de texto, búsqueda, formularios, anotaciones, impresión, informes preflight e inspección documental en una interfaz nativa de Windows.
Apertura casi instantánea de PDFs grandes: En pruebas reales con archivos grandes, PDFs de 2.x GB que hacen que los lectores PDF convencionales tarden 20-30 segundos antes de la primera vista pueden quedar utilizables casi de inmediato en PDFium Delphi Component.
Úselo cuando la experiencia PDF debe vivir dentro de su aplicación y no en un visor externo. El paquete incluye componentes visuales y no visuales, código fuente Object Pascal, proyectos demo, DLL de PDFium, DLL opcionales con V8 / XFA, ejemplos preflight de línea de comandos, pruebas de regresión y documentación para integración de visor y operaciones PDF de bajo nivel.
PDFium Delphi Component admite Delphi XE5 hasta Delphi 13.1 Florence y C++Builder XE5 hasta C++Builder 13.1 Florence, con destinos Win32 y Win64. También incluye paquetes y demos Lazarus / Free Pascal para flujos LCL.
Capacidades principales
- API de aplicación de alto nivel: Trabaje con objetos de documento y de visor nativos de Delphi en lugar de cablear handles de PDFium en bruto en cada pantalla, cada tarea en segundo plano, cada flujo de formularios y cada ruta de liberación.
- Interfaz de visor: Coloque
TPdfViewen un formulario para zoom, rotación, modos de ajuste, diseños de página única o continuos, dobles páginas con portada, sombras, clics seguros en enlaces, selección de texto, copia al portapapeles y foco de formularios. - Navegación por miniaturas: Agregue
TPdfThumbnailViewjunto al visor para miniaturas desplazables con resaltado, estado hover y navegación por clic. - Renderizado: Renderice páginas y mosaicos a bitmaps, use escrituras DIB de copia cero cuando sea posible, ejecute renderizado progresivo cancelable, renderice un conjunto de páginas en paralelo con
RenderPagesParallel, acceda a hooks Skia de bajo nivel cuando la DLL los exporta y mantenga páginas grandes responsivas. - Streams y archivos grandes: Cargue desde disco, memoria, arreglos de bytes o streams seekable personalizados con lecturas PDFium bajo demanda, sin copiar por adelantado documentos grandes o remotos.
- Arranque con archivos grandes: Empiece a revisar PDFs de varios gigabytes con rapidez; el visor usa acceso PDFium seekable y bajo demanda para que documentos de 2.x GB queden utilizables casi de inmediato, sin esperar una carga completa inicial.
- Texto y búsqueda: Extraiga texto, busque hacia delante o atrás, resalte coincidencias, genere listas de resultados en todas las páginas e inspeccione rectángulos, orígenes, ángulos, caracteres generados, familia, peso, tamaño, ascenso, descenso y estado de fuentes incrustadas.
- Texto estructurado:
GetStructuredTextconstruye una jerarquía de página, bloque, línea y span con estilo a partir de la geometría de los caracteres, los metadatos de fuente, la identidad de los objetos de texto y la semántica de Tagged PDF, con un orden alternativo basado en la disposición física cuando el documento no lleva etiquetas. - Extracción de tablas:
ExtractTablesyExtractDocumentTablescombinan las cajas de palabras con los filetes vectoriales transformados para detectar tanto tablas con bordes como tablas alineadas por espacios en blanco, conservan las celdas combinadas, puntúan la confianza, marcan las continuaciones de página y exportan a CSV o JSON. - Reflujo semántico a HTML:
BuildReflowDocumentconvierte un PDF de maquetación fija en un árbol de nodos reutilizable cuya salida HTML segura conserva encabezados, párrafos, listas, figuras, secciones de página y celdas combinadas, para visualización adaptable, accesibilidad y reutilización de contenido. - Formularios: Trabaje con campos AcroForm, detección de estado XFA, disponibilidad opcional de ayudas V8 / XFA, texto de formulario seleccionado, deshacer / rehacer, apariencias generadas, flags de campo y aplanado.
- Intercambio de datos de formulario: Exporte e importe tanto XFDF (ISO 19444-1) como FDF (ISO 32000-1 §12.7.11) para valores de campo y 18 subtipos de anotación, formatos para los que PDFium no expone ninguna API y que aquí se implementan en Pascal sobre el modelo propio de anotaciones y campos del componente.
- Integración de OCR: Conecte cualquier motor de reconocimiento a
IPdfOcrProvider, reciba los bitmaps de página en un formato de píxel definido, devuelva los cuadriláteros de palabra y deje que el componente escriba la capa de texto buscable, con informe de estado por página y omisión de las páginas que ya tienen texto. - Anotaciones y enlaces: Cree, elimine, cuente e inspeccione anotaciones; maneje enlaces de página, enlaces web, destinos de marcadores, acciones JavaScript del documento, superficies de riesgo URI / Launch y eventos de clic del visor.
- Ensamblaje de documentos: Cree documentos, agregue o elimine páginas, importe rangos por etiqueta o índice físico, mueva páginas, componga N-up, reutilice páginas como Form XObjects, aplique marcas de agua o sellos, actualice contenido y gestione cajas de página.
- Salida PDF y revisiones: Guarde archivos Fast Web View linealizados con tablas de hints de desplazamientos de página y de objetos compartidos, empaquete objetos en flujos de objetos con cobertura xref de tipo 2 completa, añada revisiones incrementales por objetos modificados que conservan la salida anterior byte a byte, y produzca copias de reparación reverificadas por una carga estricta independiente antes de la entrega.
- Firmas digitales: Firme en los niveles PAdES baseline B-B, B-T, B-LT o B-LTA; construya SignedData CMS / CAdES con los atributos firmados que exige el perfil; solicite tokens RFC 3161 a una TSA; recopile la cadena de certificados en un Document Security Store; añada sellos de tiempo de archivo; y valide cualquier documento frente a comprobaciones PAdES a nivel de cláusula y a la confianza de la cadena de certificados, de forma síncrona o asíncrona.
- Firma remota y con HSM: Divida la operación en dos con
PreparePadesRemoteSignatureyCompletePadesRemoteSignature: la aplicación produce un documento con hueco reservado y una solicitud de firma portable que lleva el resumen SHA-256, un servicio remoto o un módulo hardware devuelve el CMS desacoplado y el componente lo inyecta. La clave privada nunca tiene que llegar al puesto de trabajo. - Cifrado e integridad: Escriba cifrado PDF 2.0 AES-256 con derivación de clave R6 correcta y bloques de permisos, use AES-GCM de ISO/TS 32003 cuando sea necesario, adjunte tokens PDF MAC de ISO/TS 32004 y apóyese en primitivas AES, SHA-2, SHA-3, HMAC y ASN.1 escritas en Object Pascal, sin ninguna dependencia externa de C.
- Inspección de contenido y seguridad: Extraiga imágenes, renderice bitmaps de objetos, inspeccione límites y transparencia, lea adjuntos, metadatos, firmas, permisos, idioma, etiquetas de página, modos, preferencias de visor, estructura Tagged PDF e identificadores de archivo.
TPdfStreamInspectordescodifica objetos de flujo arbitrarios bajo presupuestos explícitos de origen, datos en bruto, datos descodificados, ratio de expansión y número de flujos, de modo que una bomba de descompresión devuelve un estado estructurado en lugar de agotar la memoria. - Lectura accesible: Construya unidades de lectura por oración, asocie el texto hablado con el contenido del PDF, controle los resaltados de lectura palabra por palabra, navegue por los campos de formulario, inspeccione la estructura etiquetada y aplique transformaciones de bitmap para baja visión en flujos de lectura asistida.
- Informes preflight: Genere informes de auditoría con pass, action-required, review, priority, issue category, category-count y next-action; exporte en TXT, HTML y Markdown legibles por personas o en JSON, CSV, SARIF 2.1.0, JUnit XML y NDJSON legibles por máquina; produzca huellas SHA-256 de informe estables; ejecute resúmenes por lotes; adjunte informes a copias de revisión; y condicione una compilación al código de salida del ejecutable de línea de comandos.
- Impresión: Imprima con rangos, copias, escalado, composición N-up, filtrado impar / par, escala de grises, metadatos de preferencias de visor y
SetPdfPrintPaperHandlingDevModepara duplex y manejo de papel.
Flujos PDF orientados a cumplimiento
PDFium Delphi Component expone APIs de validación y guardado orientadas a estándares para equipos que necesitan entregas PDF predecibles, revisión archivística, impresión, accesibilidad, documentos de ingeniería, salida de datos variables o entrega bloqueada a raster.
| Flujo | Soporte PDFium Delphi Component | Responsabilidad de la aplicación |
|---|---|---|
| PDF/A | ValidatePdfA, SaveAsPdfA y PdfAConformance a lo largo de las partes 1 a 4 de ISO 19005, incluidos los perfiles A-4, A-4f y A-4e basados en PDF 2.0, con comprobaciones de OutputIntent, de metadatos XMP y de incrustación de fuentes, comprobaciones de estructura RoleMap y ParentTree, límites de implementación del anexo C, restricciones de cifrado y JavaScript, y ayudas de guardado por perfil. | Elegir el destino de archivo, aportar metadatos y color correctos, y revisar los problemas reportados antes de entregar. |
| PDF/X | ValidatePdfX, SaveAsPdfX y PdfXConformance desde X-1a hasta X-6 basado en PDF 2.0, con manejo de OutputIntent e ICC, restricciones de transparencia y espacios de color condicionadas por el perfil, comprobaciones de geometría de TrimBox / ArtBox / BleedBox y comprobaciones de perfil seguro para impresión. | Aportar datos de output intent, geometría de página y ajustes de impresión adecuados para el perfil PDF/X. |
| PDF/UA | ValidatePdfUa, SaveAsPdfUa, PdfUaConformance, comprobaciones de idioma y etiquetado, inspección de árbol de estructura, contenido marcado y validación de accesibilidad. | Crear orden de lectura, encabezados, listas, semántica de tablas, texto alternativo e idioma del documento en el flujo de origen. |
| PDF/E, PDF/VT, PDF/R | ValidatePdfE, ValidatePdfVT, ValidatePdfR, APIs SaveAs... correspondientes y propiedades de conformidad para perfiles de ingeniería, datos variables y PDF raster. PDF/VT cubre jerarquías DPart, metadatos de partes de documento y el empaquetado en flujos MIME multiparte de VT-2s; PDF/E inyecta un output intent sRGB incrustado; PDF/R exige una única imagen en banda por página y la lista de codificaciones permitidas. | Alinear el perfil con el flujo de negocio y mantener el contenido dentro del conjunto permitido por el estándar elegido. |
| Firmas PAdES | SignPades, SignPadesToStream, SignPadesBytes, SaveAsPadesDss y ValidatePadesCompliance cubren los niveles baseline B-B, B-T, B-LT y B-LTA de ETSI EN 319 142-1, con sellado de tiempo RFC 3161, inyección en el Document Security Store, marcas de extensión ESIC y 26 códigos de validación a nivel de cláusula. SignPadesWithPdfA combina conversión de archivo y firma en un solo flujo. | Aportar el certificado de firma y su cadena, elegir un extremo TSA para los niveles con sello de tiempo, y definir la política de conservación y revocación de su organización. |
| Automatización preflight | FPdfPreflightReport y PreflightReportCli agregan los resultados de PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R y PDF/VT en TXT, HTML y Markdown legibles por personas o en JSON, CSV, SARIF 2.1.0, JUnit XML y NDJSON legibles por máquina, con orden determinista y huellas SHA-256 estables. | Decidir si pass, action-required, review o los conteos de problemas bloquean CI, entrega o ingestión de archivo. |
Estas APIs hacen visible el trabajo con estándares dentro del código. Los resultados de validación, resúmenes preflight y ayudas de guardado permiten rechazar o corregir salidas problemáticas antes de que fallen en archivo, impresión o accesibilidad. Los validadores integrados se centran en marcas y comprobaciones de archivo seleccionadas; los equipos que requieran certificación formal de contenido deben combinarlos con su motor dedicado.
Arquitectura de componentes
TPdf: Componente no visual para carga, streams, guardado, renderizado, búsqueda, extracción, validación, formularios, operaciones de página, metadatos, adjuntos, anotaciones, informes preflight y perfiles PDF.TPdfView: Componente visual para modos de visualización, interacción, enlaces, desplazamiento, zoom, selección, foco de formularios, resaltado, navegación y portapapeles.TPdfThumbnailView: Panel lateral de miniaturas desplazables para navegación, seguimiento de página actual, feedback hover y diseños junto al visor.- Unidades auxiliares: 55 unidades de Object Pascal en total. Más allá de la vinculación con el motor, se agrupan en criptografía (
FPdfAes,FPdfAesGcm,FPdfSha256,FPdfSha512,FPdfSha3,FPdfHmac,FPdfAsn1), firma (FPdfPades,FPdfCms,FPdfTsa,FPdfCryptoWin), estándares (FPdfPdfa,FPdfPdfx,FPdfPdfua,FPdfPdfe,FPdfPdfvt,FPdfPdfr,FPdfPreflightReport), serialización e integridad (FPdfCompress,FPdfEncrypt,FPdfMac,FPdfStreamInspect,FPdfContentNormalize) y servicios de contenido (FPdfXfdf,FPdfXmp,FPdfLayout,FPdfMeasure,FPdfTextShaping,FPdfStructTree,FPdfAsync,FPdfMatrix).
Cada unidad anterior es código fuente que usted recibe y puede depurar paso a paso. Las primitivas criptográficas están escritas en Object Pascal y verificadas con los vectores de prueba publicados de FIPS 197 y FIPS 180-4, de modo que la firma y el cifrado no añaden ninguna biblioteca de C externa a su despliegue ni ningún binario de terceros a su revisión de seguridad.
Descargar el paquete demo de PDFium Delphi Component
2026-08-16 Versión 3.51.0: PDFium Delphi Component notas de la versión | referencia de API. La versión 3.51.0 hace públicos, tal como estaban documentados, ocho miembros de TPdf hasta ahora inaccesibles, y completa la referencia en inglés para que cada miembro público de TPdf y de TPdfView tenga su propia página (88 miembros ganaron una), junto con las enumeraciones y los registros accesibles desde las firmas públicas.
Licencias y precios
Pago con tarjeta de crédito/débito, PayPal, AliPay o transferencia bancaria mediante 2Checkout. Cada nueva licencia de PDFium Delphi Component incluye el código fuente en Object Pascal, un año de actualizaciones y un año de soporte por email.
| Licencia | Desarrolladores | Precio | Comprar |
|---|---|---|---|
| Single | 1 desarrollador | $350 | Comprar |
| Small Business | hasta 10 desarrolladores | $700 | Comprar |
| Medium Business | hasta 30 desarrolladores | $1050 | Comprar |
| Enterprise | Todos los desarrolladores de una empresa y sus filiales en un solo país | $2100 | Comprar |
| Corporate | Todos los desarrolladores de una empresa y sus filiales en todo el mundo | $4200 | Comprar |
Extras de código fuente de Enterprise y Corporate: PDFium Delphi Component Enterprise y Corporate incluyen ambos el código fuente completo del ejemplo dedicado de nivel herramienta PDF Intake & Accessibility Review Workbench Pro. El código fuente de las suites de pruebas completas que normalmente se usan solo para validación interna está disponible bajo petición.
Renovación para clientes existentes: 40% del precio completo, cancelable en cualquier momento. Abrir la página de compra y renovación de PDFium Delphi Component.
Demos incluidas
El paquete incluye ejemplos listos para ejecutar orientados a Delphi, C++Builder y Lazarus para los flujos principales que los equipos suelen validar antes de integrar el componente en producción.
- PdfViewer: Visor completo con selección de texto, búsqueda, marcadores, navegación, impresión, enlaces y modos de visualización.
- ViewerInteractionLab y SearchAndSelect: Modos de visualización y ajuste, colores de página, rotación, resaltado de búsqueda, listas de resultados, vista previa de texto seleccionado, copia, limpieza y mapeo de coordenadas.
- MultiPageViewer: Comportamiento continuo, doble página, portada y multipágina para aplicaciones de revisión documental.
- SplitView: Dos vistas sincronizadas de un documento para comparación y revisión.
- ContentExtractionLab: Flujo único para metadatos, texto, objetos de página, imágenes, adjuntos, enlaces, anotaciones, marcadores, fuentes y métricas de caracteres con exportación TXT / JSON.
- PDFtoJpg, BatchExport e ImageToPDF: Exportación raster, conversión por lotes, carga por streams, controles de DPI / calidad, contraseña, progreso y cancelación cooperativa.
- MergePDF, SplitPDF, CreatePDF y WatermarkStamp: Ensamblaje documental, creación programática, marcas de agua Form XObject reutilizables, sellos de esquina y etiquetas de número de página.
- FormFill, FontProperties y Attachment: Edición y aplanado de valores de formulario, inspección indexada de fuentes y caracteres, y extracción o creación de archivos incrustados.
- SecurityAudit: Inspección de solo lectura para permisos, adjuntos, JavaScript, enlaces URI / Launch, enlaces web, firmas, estado XFA, ayudas runtime e informes TXT / JSON.
- XfdfLab y XfaLab: Ida y vuelta de datos de formulario y anotaciones mediante XFDF y FDF, y práctica de la detección del estado XFA con el runtime opcional compatible con V8 / XFA.
- CJKTextLab y RTLTextLab: Tratamiento de texto en chino, japonés, coreano, árabe y hebreo: extracción, búsqueda, geometría de selección y comportamiento del shaping en escrituras donde las suposiciones ingenuas sobre el orden de los caracteres se rompen.
- AnnotationsLab y NavigationLab: Creación y edición de anotaciones de marcado con geometría de cuadripuntos, y patrones de navegación por marcadores, destinos, acciones con nombre y etiquetas de página.
- AccessibilityWorkbenchCli e IntakeWorkbenchCli: Cadenas de revisión e ingesta sin interfaz gráfica para evaluación de accesibilidad por lotes y entrada de documentos, pensadas para tareas programadas y CI más que para una ventana de escritorio.
- StandardsLab, PreflightReport y PreflightReportCli: Validación y guardado PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R y PDF/VT, vistas previas, exportación TXT / HTML / Markdown / JSON / CSV, carpetas por lotes, resúmenes ordenados, nombres sin colisión, adjuntos de informe y salida CI con
failon=.
Por qué los equipos eligen PDFium Delphi Component
- Firma y cifrado sin un segundo proveedor: PAdES de B-B a B-LTA, sellado de tiempo RFC 3161 y cifrado PDF 2.0 AES-256 forman parte de esta biblioteca. La mayoría de los equipos Delphi llegan a este punto añadiendo un SDK de firma aparte o un despliegue de OpenSSL; aquí es un solo paquete, una sola licencia y código fuente Pascal que usted puede auditar.
- Trabajo con estándares visible en el código: Seis familias de estándares ISO cuentan con validadores reales y códigos de resultado a nivel de cláusula, no con una casilla de verificación. La salida de preflight en TXT, HTML, Markdown, JSON y CSV encaja directamente en CI, y el ejecutable de línea de comandos devuelve un código de salida de error según las condiciones que usted elija.
- Un escritor de PDF que el motor no tiene: Fast Web View linealizado, empaquetado en flujos de objetos y revisiones incrementales por objetos modificados que conservan el archivo anterior byte a byte: los formatos de salida que realmente piden los sistemas de archivo, la entrega web y las pistas de auditoría.
- Integración Delphi nativa: Componentes VCL reales con código fuente Object Pascal, no un control ActiveX ni un visor dentro del navegador.
- Calidad de renderizado PDFium: Usa la misma familia de motor PDF abierto detrás del visor PDF de Chromium y mantiene la integración dentro de su base Delphi.
- Visor y API en un paquete: Combine un visor PDF pulido con acceso documental de bajo nivel, búsqueda, formularios, impresión, validación y preflight scriptable.
- La entrada hostil tratada como hostil: La descodificación de flujos, la normalización de contenido y el análisis de la estructura se ejecutan bajo presupuestos explícitos de origen, salida, tokens, anidamiento y ratio de expansión, de modo que un PDF malformado o creado con mala intención devuelve un estado estructurado en lugar de tumbar el proceso.
- Sin royalties runtime: Cree aplicaciones de escritorio sin tarifas por documento ni por usuario final.
- Soporte de IDE modernos: Delphi XE5 hasta Delphi 13.1 Florence, C++Builder XE5 hasta C++Builder 13.1 Florence y flujos Lazarus / Free Pascal con Win32 y Win64.
- Cobertura de pruebas mantenida: Pruebas Delphi DUnitX, C++Builder GoogleTest y Lazarus FPCUnit cubren flujos documentales, renderizado, formularios, estructura, impresión, miniaturas y visor.
Documentación en línea de PDFium Delphi Component
Ejemplo de código
procedure TForm1.OpenPdf(const FileName: string);
begin
Pdf.FileName := FileName;
PdfView.Pdf := Pdf;
PdfThumbnailView.Pdf := Pdf;
PdfView.DisplayMode := dmSingleContinuous;
PdfView.FitMode := pfmFitWidth;
PdfView.AllowUserTextSelection := True;
PdfView.Active := True;
end;
procedure TForm1.HighlightInvoiceNumber;
begin
Pdf.PageNumber := PdfView.PageNumber;
if Pdf.FindFirst('Invoice', []) >= 0 then
PdfView.HighlightSearchText('Invoice', False, False);
end;
procedure TForm1.SaveArchiveCopy(const OutputFile: string);
begin
if not Pdf.SaveAsPdfA(OutputFile, pac1b) then
raise Exception.Create('The PDF/A archive copy could not be saved.');
end;
procedure TForm1.SignForLongTermArchive(const OutputFile: string);
var
Options: TPadesSignOptions;
begin
Options := TPadesSignOptions.Default;
Options.CertificateThumbprint := SignerThumbprint;
Options.Level := plB_LTA; // firma + token TSA + DSS + sello de tiempo de archivo
Options.TsaUrl := 'https://tsa.example.com/tsr';
Options.Reason := 'Approved for release';
if not Pdf.SignPades(OutputFile, Options) then
raise Exception.Create('The document could not be signed.');
end;
procedure TForm1.CheckSignatureLevel;
var
Result: TPadesValidationResult;
begin
Result := Pdf.ValidatePades;
if Result.IsCompliantAt(plB_LTA) and Result.IsCryptographicallyValid then
ShowMessage(Format('%d signature(s), %d archive time-stamp(s), verified.',
[Result.SignatureCount, Result.DocTimeStampCount]))
else
ShowMessage('The document does not reach the required PAdES baseline.');
end;
Casos de uso habituales
- Sistemas de gestión documental con visor PDF, búsqueda, impresión y formularios integrados.
- Aplicaciones contables y de facturación que requieren revisión PDF, extracción, adjuntos, comprobaciones de archivo, manifiestos preflight por lotes y adjuntos de informe.
- Software jurídico, de ingeniería, médico o gubernamental donde los usuarios deben inspeccionar, imprimir, validar, reportar y conservar PDF sin salir de la aplicación.
- Flujos de documentos firmados en sectores regulados: contratos, facturas, albaranes y registros que deben llevar una firma PAdES B-T o B-LTA con un sello de tiempo de confianza y seguir siendo verificables durante años.
- Distribución confidencial que exige cifrado PDF 2.0 AES-256 con permisos definidos, escrito por la propia aplicación y no por una herramienta externa en una segunda pasada.
- Herramientas de cumplimiento e ingestión que necesitan comprobaciones repetibles de marcas PDF/A, PDF/X, PDF/UA, PDF/E, PDF/R o PDF/VT antes de pasar a validadores externos o archivos.
- Visores de informes y herramientas internas que necesitan visualización PDF rápida, rasterización, texto copiable e impresión controlada.
Cuándo elegir este producto
- Elija PDFium Delphi Component cuando la aplicación deba ver, verificar, firmar, cifrar y entregar documentos PDF: bases de lectores profesionales, firma PAdES, cifrado PDF 2.0, seis validadores de estándares, salida linealizada e incremental, rendimiento con archivos grandes, accesibilidad, formularios e impresión, todo desde un único paquete con código fuente.
- Elija HotPDF Component cuando su aplicación genere documentos y prefiera no redistribuir ningún motor de renderizado: HotPDF lleva su propio renderizador, códecs de imagen, motor de fuentes, generación de códigos de barras, maquetación XFA y validación Factur-X, y se compila directamente dentro de su ejecutable.
- Elija PDF Library for Delphi cuando un solo kit deba cubrir todo el ciclo de vida, o cuando necesite OCR, lectura de códigos de barras, firma con token hardware PKCS#11, validación con listas de confianza de la UE, o acceso por DLL / ActiveX / Dylib para llamadores que no son Delphi.
¿Compara toda la familia? Consulte la visión general de las bibliotecas PDF para desarrolladores para ver en paralelo PDFium Delphi Component, losLab PDF Library y HotPDF Component.
Preguntas frecuentes
¿PDFium Delphi Component es un envoltorio ligero de la DLL de PDFium?
No. PDFium renderiza y lee; no puede firmar un documento, escribir cifrado, validar un estándar PDF ni emitir revisiones linealizadas, en flujos de objetos o incrementales. Más de 62.000 de las aproximadamente 115.000 líneas de Object Pascal del paquete están en unidades sin contrapartida en la API de PDFium e implementan exactamente esas capas: firma PAdES de B-B a B-LTA, una pila criptográfica AES / SHA / ASN.1 en Pascal puro, cifrado PDF 2.0 AES-256, seis validadores de estándares ISO, un serializador PDF propio, XFDF, XMP y la arquitectura de visor, lector y accesibilidad.
¿Qué motor utiliza PDFium Delphi Component?
Usa PDFium como base de renderizado y añade el modelo de componentes nativos de Delphi y la capa de aplicación.
¿Puede firmar digitalmente documentos PDF?
Sí. Implementa los perfiles PAdES baseline B-B, B-T, B-LT y B-LTA de ETSI EN 319 142-1: construcción de SignedData CMS / CAdES conforme a RFC 5652, solicitudes de sello de tiempo RFC 3161 a una TSA, recopilación de la cadena de certificados en un Document Security Store y sellos de tiempo de archivo. Las claves de firma se usan a través del backend Windows CNG con RSA-PSS, PKCS#1 o ECDSA. PDFium por sí solo únicamente puede leer diccionarios de firma existentes.
¿Puede cifrar documentos PDF?
Sí. SaveAsEncrypted escribe cifrado AES-256 de ISO 32000-2, incluida la derivación R6 del hash de contraseña del algoritmo 2.B, las entradas de diccionario /O /U /OE /UE /Perms y el cifrado completo de flujos y cadenas. Se admiten AES-GCM de ISO/TS 32003 y los tokens PDF MAC de ISO/TS 32004. Las primitivas AES, SHA-256/384/512, HMAC y ASN.1 son Object Pascal puro, sin dependencias externas de C.
¿Es compatible con Lazarus y Free Pascal?
Sí. Incluye paquetes y demos LCL para Lazarus y Free Pascal junto con los componentes VCL de Delphi y C++Builder.
¿Qué tan rápido abre archivos PDF muy grandes?
El acceso PDFium bajo demanda y con búsqueda permite utilizar PDF de varios gigabytes casi de inmediato en pruebas reales.
¿Puede crear o editar documentos PDF?
Admite ensamblaje de documentos, operaciones de página, composición N-up, marcas de agua, sellos y actualizaciones del contenido de páginas.
¿Maneja formularios AcroForm y XFA?
Sí. Admite campos AcroForm, detecta el estado XFA y puede usar DLL de tiempo de ejecución V8 y XFA opcionales.
¿Qué estándares PDF puede validar?
Seis familias de estándares, cada una con su propio validador y su ayuda de guardado o de inyección de marcas: PDF/A (ISO 19005 partes 1 a 4, incluidos los A-4 base/f/e basados en PDF 2.0), PDF/X (ISO 15930, incluido X-6), PDF/UA (ISO 14289-1), PDF/E (ISO 24517-1), PDF/VT (ISO 16612-2, incluido el empaquetado en flujos MIME de VT-2s) y PDF/R (ISO 23504-1). La estructura PAdES baseline se valida aparte frente a ETSI EN 319 142-1. Los informes de preflight se exportan en TXT, HTML, Markdown, JSON, CSV, SARIF 2.1.0, JUnit XML y NDJSON. Los validadores cubren el nivel de marcas y un conjunto creciente de cláusulas a nivel de archivo; combínelos con un motor de validación dedicado cuando se requiera certificación formal.
¿Hay regalías de tiempo de ejecución o tarifas por usuario?
No. Las aplicaciones con licencia se distribuyen sin regalías por documento ni por usuario final.
¿Qué incluye una licencia y cómo funciona la renovación?
Una licencia nueva incluye código fuente Object Pascal, un año de actualizaciones y soporte por correo electrónico. La renovación cuesta el 40 % del precio completo.
Descubra más de Delphi PDF Component & Spreadsheet Development
Suscribirse a novedades del producto
Suscríbase para recibir las publicaciones recientes por correo electrónico.
