PDFium Delphi Component Docs

Firmas PAdES · cifrado PDF 2.0 · seis estándares ISO · Delphi / C++Builder / Lazarus

Todo lo que un motor de renderizado no puede hacer, escrito en Object Pascal

Un motor dibuja páginas y lee estructuras. No puede firmar un documento, escribir cifrado, validar un estándar PDF ni emitir una revisión linealizada o incremental. PDFium Delphi Component implementa todo eso sobre PDFium: más de 62,000 líneas repartidas en 36 unidades que no tienen equivalente en la API del motor, además de la arquitectura del visor y del lector accesible — y cada línea se entrega como código fuente

Leer la descripción general completa Explorar el catálogo de características

Qué obtiene más allá del motor

Cada punto de abajo es una capacidad entregada que puede verificar en la referencia API y las demos

Firmas digitales, no solo lectura de firmas

El motor puede informar de que existe un diccionario de firma. Esta librería crea uno: PAdES baseline B-B, B-T, B-LT y B-LTA según ETSI EN 319 142-1, SignedData CMS / CAdES conforme a RFC 5652, peticiones de sello de tiempo RFC 3161, inyección de Document Security Store, sellos de tiempo de archivo y validación de confianza de la cadena de certificados. La firma remota y con HSM dividen la operación para que la clave privada nunca tenga que llegar a la estación de trabajo

SignPades / ValidatePadesTrust / PreparePadesRemoteSignature

Cifrado que escribe, no solo abre

AES-256 de ISO 32000-2 con la derivación de claves R6 del algoritmo 2.B, el barrido completo de cifrado de streams y cadenas, AES-GCM de ISO/TS 32003 y tokens PDF MAC de ISO/TS 32004. Las primitivas AES, SHA-2, SHA-3, HMAC y ASN.1 son Object Pascal puro, verificadas frente a los vectores de prueba FIPS publicados — ninguna librería C externa entra en su despliegue ni en su revisión de seguridad

SaveAsEncrypted; FPdfAes / FPdfSha512 / FPdfAsn1

Un escritor de PDF que el motor no tiene

El motor ofrece un único guardado secuencial del archivo completo. Esta librería escribe sus propias revisiones sobre él: Fast Web View linealizado con tablas de pistas del Anexo F, empaquetado en object-stream y xref-stream, y revisiones incrementales de objetos sucios que preservan la salida anterior byte a byte. Los archivos dañados disponen de políticas de carga strict, compatible y recovery con diagnósticos estructurados en lugar de una reparación silenciosa

SaveAsLinearized / SaveAsObjectStream / BeginIncrementalSave / SaveAsRepaired

Extracción de contenido más allá del texto plano

GetStructuredText construye una jerarquía página / bloque / línea / span con estilo a partir de la geometría de caracteres y la semántica de Tagged PDF. ExtractTables detecta tablas con bordes y alineadas por espacios en blanco, preserva los spans fusionados y emite CSV o JSON. BuildReflowDocument convierte un PDF de disposición fija en HTML semántico. XFDF y FDF intercambian datos de formulario y 18 subtipos de anotación — formatos para los que el motor no expone ninguna API

ExtractTables / BuildReflowDocument / ExportXFDF

La mayor cobertura de IDE de su clase

Delphi / C++Builder (RAD Studio XE5 hasta 13.1 Florence) más Lazarus / Free Pascal 3.8+, Win32 y Win64. Tres familias de IDE comparten los mismos PDF de fixture y las suites de regresión

1257 casos de prueba Pascal + 515 C++, alineados por bytes

Espectro completo de estándares PDF

Salida PDF/A-1b (SaveAsPdfA) + validación (ValidatePdfA), más validadores PDF/UA, PDF/E, PDF/X, PDF/R y PDF/VT con códigos de resultado a nivel de cláusula, inyección de marcadores y puertas de conformidad por versión. PDF/A cubre las partes 1 a 4 de ISO 19005, PDF/X llega hasta X-6 y PDF/VT incluye el empaquetado de streams VT-2s

Unidades dedicadas FPdfPdfa/Pdfua/Pdfe/Pdfx/Pdfr/Pdfvt.pas

Accesibilidad: lectura en voz alta / baja visión

TPdfReadingSession orquesta la lectura en voz alta para motores TTS anfitriones (unidades de lectura a nivel de frase, resaltado a nivel de palabra, mapeo de texto hablado); más las transformaciones de baja visión InvertPdfBitmap, GrayscalePdfBitmap, DuotonePdfBitmap y visualización nocturna dúo-tono en vivo

Una capa de accesibilidad de la que la mayoría de envoltorios carece por completo

Renderizado progresivo de copia cero + cancelable

La ruta de renderizado escribe la salida de PDFium directamente en el búfer DIB del TBitmap de destino, omitiendo una copia de píxeles de página completa por fotograma; RenderPageProgressive sondea un token de cancelación entre iteraciones y puede interrumpirse a mitad del renderizado

Ahorra una copia de ancho×alto×4 bytes por fotograma a alto DPI

Streaming bajo demanda para PDFs de varios gigabytes

Mediante el adaptador TStream bajo demanda de LoadCustomDocument, PDFium lee por bloques — documentos de varios gigabytes, remotos o respaldados por base de datos se cargan sin una copia en memoria, y se alcanza una primera vista utilizable casi de inmediato

Documentos de 2.x GB: primera vista casi instantánea

Tres componentes + 33 demos compartidas

TPdf (motor de documentos), TPdfView (visor interactivo), TPdfThumbnailView (navegación por miniaturas); 33 demos COMMON compartidas entre tres IDEs, que cubren visualización, búsqueda, relleno de formularios, fusión/división, exportación por lotes, impresión, auditoría de seguridad, informes de preflight y más

PDFViewer / PreflightReport / SecurityAudit / StandardsLab etc.

Valores predeterminados con prioridad de seguridad

Lista permitida de acciones de enlace (LinkOptions), acciones de lanzamiento deshabilitadas por defecto y una demo SecurityAudit para auditar superficies de riesgo — seguro listo para usar en lugar de dejar abiertas por defecto acciones peligrosas

Adecuado para despliegues sensibles a la seguridad en finanzas / sanidad

Código fuente incluido · libre de regalías · soporte a largo plazo

Envía código fuente Pascal, sin regalías en tiempo de ejecución, mantenimiento a largo plazo. Incluye pdfium.dll y pdfium.v8.dll Win32/Win64 (con V8/XFA habilitado), con hooks de renderizado Skia opcionales

Sin tarifas por despliegue

Las pruebas

3Familias de IDE: Delphi / C++Builder / Lazarus
6+Estándares PDF: A / UA / E / X / R / VT
33demos COMMON compartidas entre tres IDE
1770+casos de prueba de regresión Pascal + C++

Quién debería elegir PDFium Delphi Component

Visores / lectores de documentos

Visores PDF incrustados que necesitan calidad de renderizado e interacción de grado de producción (selección de texto, resaltado de búsqueda, enlaces, zoom, doble página continua)

Tecnología de accesibilidad / asistencia

Orquestación de lectura en voz alta y transformaciones de baja visión para usuarios con discapacidad visual — una capa que la mayoría de envoltorios PDF no tienen en absoluto

Canales de conformidad / preflight

Que necesitan generación y validación PDF/A, accesibilidad PDF/UA, puertas de versión e informes de preflight aptos para CI

Documentos grandes / remotos

PDFs de varios gigabytes o respaldados por base de datos que deben cargarse bajo demanda en lugar de mantenerse completamente en memoria

Equipos multi-IDE

Equipos que usan Delphi, C++Builder y Lazarus a la vez — un conjunto de componentes, los mismos fixtures, las mismas demos

Despliegues sensibles a la seguridad

Escenarios de finanzas, sanidad y gobierno con control estricto sobre las acciones de enlace / lanzamiento

Renderice una página en unas pocas líneas

Sin interoperabilidad C escrita a mano — componentes Pascal nativos directos:

uses PDFium;

var
  Pdf: TPdf;
  Bmp: TBitmap;
begin
  Pdf := TPdf.Create(nil);
  try
    Pdf.FileName := 'report.pdf';
    Pdf.Active := True;
    Pdf.PageNumber := 0;              // pages are zero-based

    Bmp := Pdf.RenderPage(0, 0,
      Round(PointsToPixels(Pdf.PageWidth, 150)),
      Round(PointsToPixels(Pdf.PageHeight, 150)));
    try
      Bmp.SaveToFile('page1.bmp');
    finally
      Bmp.Free;
    end;
  finally
    Pdf.Free;
  end;
end;

Pasos siguientes

Empiece con la descripción general del producto y el Inicio rápido, explore el catálogo completo de características y los Ejemplos, o lea las Notas de versión para las últimas entregas