PDFium Delphi Component Docs

Firma PAdES · crittografia PDF 2.0 · sei standard ISO · Delphi / C++Builder / Lazarus

Tutto ciò che un motore di rendering non sa fare, scritto in Object Pascal

Un motore disegna pagine e legge strutture. Non può firmare un documento, scrivere crittografia, validare uno standard PDF né produrre una revisione linearizzata o incrementale. PDFium Delphi Component implementa tutto questo sopra PDFium: oltre 62.000 linee in 36 unità che non hanno controparti nell'API del motore, più l'architettura del visualizzatore e del lettore accessibile — e ogni linea viene fornita come sorgente

Leggi la panoramica completa Sfoglia il catalogo delle funzionalità

Cosa ottieni oltre al motore

Ogni punto seguente è una funzionalità effettivamente consegnata che puoi verificare nel riferimento API e nelle demo

Firme digitali, non semplice lettura delle firme

Il motore può segnalare che esiste un dizionario di firma. Questa libreria lo crea: baseline PAdES B-B, B-T, B-LT e B-LTA secondo ETSI EN 319 142-1, CMS / CAdES SignedData secondo RFC 5652, richieste di marcatura temporale RFC 3161, inserimento del Document Security Store, marcature temporali di archivio e validazione dell'affidabilità della catena di certificati. La firma remota e HSM sdoppia l'operazione così che la chiave privata non debba mai raggiungere la postazione di lavoro

SignPades / ValidatePadesTrust / PreparePadesRemoteSignature

Crittografia che scrivi, non solo apri

ISO 32000-2 AES-256 con la derivazione di chiave R6 dell'algoritmo 2.B, la cifratura completa di stream e stringhe, i token ISO/TS 32003 AES-GCM e ISO/TS 32004 PDF MAC. Le primitive AES, SHA-2, SHA-3, HMAC e ASN.1 sono Object Pascal puro, verificate contro i vettori di test FIPS pubblicati — nessuna libreria C esterna entra nella tua distribuzione o nella tua revisione di sicurezza

SaveAsEncrypted; FPdfAes / FPdfSha512 / FPdfAsn1

Un writer PDF che il motore non ha

Il motore offre un unico salvataggio sequenziale dell'intero file. Questa libreria scrive le proprie revisioni sopra di esso: Fast Web View linearizzato con tabelle di hint dell'Allegato F, compressione in object stream e xref stream e revisioni incrementali degli oggetti modificati che preservano l'output precedente byte per byte. I file danneggiati dispongono di criteri di caricamento strict, compatible e recovery con diagnostica strutturata invece di una riparazione silenziosa

SaveAsLinearized / SaveAsObjectStream / BeginIncrementalSave / SaveAsRepaired

Estrazione dei contenuti oltre il testo semplice

GetStructuredText costruisce una gerarchia pagina / blocco / riga / span con stile a partire dalla geometria dei caratteri e dalla semantica del Tagged PDF. ExtractTables rileva le tabelle con bordi e quelle allineate agli spazi, preserva gli span uniti e produce CSV o JSON. BuildReflowDocument trasforma un PDF a layout fisso in HTML semantico. XFDF e FDF scambiano dati di modulo e 18 sottotipi di annotazioni — formati per i quali il motore non espone alcuna API

ExtractTables / BuildReflowDocument / ExportXFDF

Copertura IDE più ampia della sua categoria

Delphi / C++Builder (RAD Studio da XE5 a 13.1 Florence) più Lazarus / Free Pascal 3.8+, Win32 e Win64. Tre famiglie di IDE condividono gli stessi PDF di test e le stesse suite di regressione

1257 casi di test Pascal + 515 C++, allineati al byte

Spettro completo degli standard PDF

Output PDF/A-1b (SaveAsPdfA) + validazione (ValidatePdfA), più validatori PDF/UA, PDF/E, PDF/X, PDF/R e PDF/VT con codici di risultato a livello di clausola, inserimento di marker e controllo di conformità alla versione. PDF/A copre le parti 1-4 di ISO 19005, PDF/X arriva a X-6, PDF/VT include la compressione in stream di VT-2s

Unità dedicate FPdfPdfa/Pdfua/Pdfe/Pdfx/Pdfr/Pdfvt.pas

Lettura ad alta voce per accessibilità / ipovisione

TPdfReadingSession orchestra la lettura ad alta voce per i motori TTS dell'host (unità di lettura a livello di frase, evidenziazione a livello di parola, mappatura del testo parlato); più le trasformazioni per ipovisione InvertPdfBitmap, GrayscalePdfBitmap, DuotonePdfBitmap e la visualizzazione notturna duotone in tempo reale

Uno strato di accessibilità che la maggior parte dei wrapper non ha affatto

Rendering progressivo zero-copy + annullabile

Il percorso di rendering scrive l'output di PDFium direttamente nel buffer DIB della TBitmap di destinazione, saltando una copia pixel completa dell'intera pagina per ogni frame; RenderPageProgressive esamina un token di annullamento tra le iterazioni e può essere interrotto a metà rendering

Risparmia una copia larghezza×altezza×4 byte per frame ad alto DPI

Streaming on-demand per PDF multi-gigabyte

Tramite l'adattatore TStream on-demand di LoadCustomDocument, PDFium legge a blocchi — documenti multi-gigabyte, remoti o supportati da database si caricano senza una copia in memoria e una prima visualizzazione utilizzabile viene raggiunta quasi immediatamente

Documenti da 2.x GB: prima visualizzazione quasi istantanea

Tre componenti + 33 demo condivise

TPdf (motore documentale), TPdfView (visualizzatore interattivo), TPdfThumbnailView (navigazione miniature); 33 demo COMMON condivise tra tre IDE, che coprono visualizzazione, ricerca, compilazione moduli, unione/divisione, esportazione batch, stampa, audit di sicurezza, report di preflight e altro

PDFViewer / PreflightReport / SecurityAudit / StandardsLab ecc.

Impostazioni predefinite orientate alla sicurezza

Allow-list delle azioni dei collegamenti (LinkOptions), azioni di lancio disabilitate per impostazione predefinita e una demo SecurityAudit per il controllo delle superfici di rischio — sicuro fin da subito invece di lasciare azioni pericolose aperte per default

Adatto a distribuzioni sensibili alla sicurezza in finanza / sanità

Sorgenti incluse · privo di royalties · supporto a lungo termine

Fornito con sorgenti Pascal, nessuna royalty di runtime, manutenzione a lungo termine. Include le pdfium.dll e pdfium.v8.dll Win32/Win64 (con V8/XFA abilitato), con hook di rendering Skia opzionali

Nessun costo per distribuzione

Le evidenze

3Famiglie di IDE: Delphi / C++Builder / Lazarus
6+Standard PDF: A / UA / E / X / R / VT
33demo COMMON condivise su tre IDE
1770+casi di test di regressione Pascal + C++

Chi dovrebbe scegliere PDFium Delphi Component

Visualizzatori / lettori di documenti

Visualizzatori PDF integrati che necessitano di qualità di rendering e interazione di livello produttivo (selezione testo, evidenziazione ricerca, collegamenti, zoom, due pagine continue)

Accessibilità / tecnologie assistive

Orchestrazione di lettura ad alta voce e trasformazioni per ipovisione per utenti con disabilità visive — uno strato che la maggior parte dei wrapper PDF non ha affatto

Toolchain di conformità / preflight

Che necessitano di generazione e validazione PDF/A, accessibilità PDF/UA, controllo delle versioni e report di preflight adatti alla CI

Documenti enormi / remoti

PDF multi-gigabyte o supportati da database che devono essere caricati on-demand anziché mantenuti interamente in memoria

Team multi-IDE

Team che usano Delphi, C++Builder e Lazarus contemporaneamente — un unico set di componenti, gli stessi PDF di test, le stesse demo

Distribuzioni sensibili alla sicurezza

Scenari di finanza, sanità e pubblica amministrazione con controllo rigoroso sulle azioni di collegamento / lancio

Esegui il rendering di una pagina in poche righe

Nessuna interop C scritta a mano — componenti Pascal nativi diretti:

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;

Passi successivi

Inizia con la panoramica del prodotto e il Quick Start, sfoglia il catalogo completo delle funzionalità e gli esempi, oppure leggi le note di rilascio per le ultime consegne