PDFium Delphi Component Docs

PAdES-signering · PDF 2.0-kryptering · seks ISO-standarder · Delphi / C++Builder / Lazarus

Alt det en renderingmotor ikke kan, skrevet i Object Pascal

En motor tegner sider og læser strukturer. Den kan ikke signere et dokument, skrive kryptering, validere en PDF-standard eller producere en lineariseret eller inkrementel revision. PDFium Delphi Component implementerer det hele oven på PDFium: mere end 62.000 linjer fordelt på 36 units uden modstykke i engine-API'en, plus fremviser- og oplæsningsarkitekturen — og hver linje leveres som kildekode

Læs den fulde oversigt Gennemse funktionskataloget

Det du får ud over motoren

Hvert punkt nedenfor er en leveret egenskab du kan verificere i API-referencen og demoerne

Digitale signaturer, ikke blot signaturlæsning

Motoren kan rapportere at en signature dictionary findes. Dette library opretter en: PAdES baseline B-B, B-T, B-LT og B-LTA iht. ETSI EN 319 142-1, CMS / CAdES SignedData efter RFC 5652, RFC 3161 time-stamp-forespørgsler, Document Security Store-injektion, archive time-stamps og certificate-chain trust-validering. Fjern- og HSM-signering deler operationen op, så den private nøgle aldrig behøver at nå arbejdsstationen

SignPades / ValidatePadesTrust / PreparePadesRemoteSignature

Kryptering du skriver, ikke blot åbner

ISO 32000-2 AES-256 med R6-nøglederivationen fra algoritme 2.B, den fulde stream- og strengkryptering, ISO/TS 32003 AES-GCM og ISO/TS 32004 PDF MAC-tokens. AES-, SHA-2-, SHA-3-, HMAC- og ASN.1-primitiverne er ren Object Pascal, verificeret mod de publicerede FIPS-testvektorer — intet eksternt C-library kommer ind i din deployment eller din security review

SaveAsEncrypted; FPdfAes / FPdfSha512 / FPdfAsn1

En PDF-writer motoren ikke har

Motoren tilbyder én sekventiel lagring af hele filen. Dette library skriver sine egne revisioner oven på den: lineariseret Fast Web View med Annex F-hinttabeller, object-stream- og xref-stream-pakning samt dirty-object inkrementelle revisioner der bevarer det forrige output byte for byte. Beskadigede filer får strict-, compatible- og recovery-load-politikker med struktureret diagnostik i stedet for lydløs reparation

SaveAsLinearized / SaveAsObjectStream / BeginIncrementalSave / SaveAsRepaired

Indholdsekstraktion ud over ren tekst

GetStructuredText opbygger et page / block / line / styled-span-hierarki ud fra tegngeometri og Tagged PDF-semantik. ExtractTables detekterer tabeller med kanter og whitespace-justering, bevarer flettede spans og udsender CSV eller JSON. BuildReflowDocument omdanner en fixed-layout-PDF til semantisk HTML. XFDF og FDF udveksler formulardata og 18 annotation-subtyper — formater motoren slet ikke eksponerer nogen API for

ExtractTables / BuildReflowDocument / ExportXFDF

Bredeste IDE-dækning i sin klasse

Delphi / C++Builder (RAD Studio XE5 til 13.1 Florence) plus Lazarus / Free Pascal 3.8+, Win32 og Win64. Tre IDE-familier deler de samme fixture-PDF'er og regressionssuiter

1257 Pascal + 515 C++ test cases, byte-justeret

Fuldt PDF-standard spektrum

PDF/A-1b-output (SaveAsPdfA) + validering (ValidatePdfA), plus PDF/UA-, PDF/E-, PDF/X-, PDF/R- og PDF/VT-validatorer med klausul-niveau resultatkoder, marker-injektion og versions-compliance-gating. PDF/A dækker ISO 19005 del 1 til 4, PDF/X når til X-6, PDF/VT inkluderer VT-2s stream-pakning

Dedikerede units FPdfPdfa/Pdfua/Pdfe/Pdfx/Pdfr/Pdfvt.pas

Tilgængelighed — oplæsning / svagsyn

TPdfReadingSession orkestrerer oplæsning for værtens TTS-motorer (sætnings-niveau læseenheder, ord-niveau fremhævning, spoken-tekst-mapping); plus InvertPdfBitmap, GrayscalePdfBitmap, DuotonePdfBitmap svagsyns-transformeringer og live nat-duotone-visning

Et tilgængelighedslag de fleste wrappers slet ikke har

Zero-copy + annullerbar progressiv rendering

Rendering-stien skriver PDFium-output direkte ind i destinations-TBitmap's DIB-buffer og springer en fuldside pixel-kopiering pr. billede over; RenderPageProgressive poller et annulleringstoken mellem iterationer og kan afbrydes midt i en rendering

Sparer én bredde×højde×4-byte kopi pr. billede ved høj DPI

On-demand-streaming for flergigabyte-PDF'er

Via LoadCustomDocuments on-demand TStream-adapter læser PDFium blok for blok — flergigabyte-, fjern- eller databasestøttede dokumenter indlæses uden en kopi i hukommelsen, og en brugbar første visning nås næsten omgående

2.x GB dokumenter: næsten øjeblikkelig første visning

Tre komponenter + 33 delte demoer

TPdf (dokumentmotor), TPdfView (interaktiv fremviser), TPdfThumbnailView (thumbnail-nav); 33 COMMON-demoer delt på tværs af tre IDE'er, der dækker visning, søgning, formularudfyldning, flet/opdel, batch-eksport, udskrivning, sikkerhedsrevision, preflight-rapporter og mere

PDFViewer / PreflightReport / SecurityAudit / StandardsLab osv.

Sikkerhed først som standard

Tilladelsesliste for link-handlinger (LinkOptions), launch-handlinger deaktiveret som standard, og en SecurityAudit-demo til revision af risikoflader — sikker ud af æsken frem for at lade farlige handlinger stå åbne som standard

Velegnet til sikkerhedsfølsomme finance / healthcare-implementeringer

Kildekode inkluderet · royalty-fri · langsigtet support

Leverer Pascal-kildekode, ingen runtime-royalties, langsigtet vedligeholdelse. Medtager Win32/Win64 pdfium.dll og pdfium.v8.dll (V8/XFA-aktiveret), med valgfrie Skia-rendering-hooks

Ingen gebyrer pr. implementering

Beviserne

3IDE-familier: Delphi / C++Builder / Lazarus
6+PDF-standarder: A / UA / E / X / R / VT
33tre-IDE delte COMMON-demoer
1770+Pascal + C++ regressionstest-cases

Hvem bør vælge PDFium Delphi Component

Dokumentfremvisere / læsere

Indlejrede PDF-fremvisere der har brug for produktionsklar rendering-kvalitet og interaktion (tekstmarkering, søgefremhævning, links, zoom, kontinuerlig to-sider)

Tilgængelighed / assisterende teknologi

Orkestrering af oplæsning og svagsyns-transformeringer for svagsynede brugere — et lag de fleste PDF-wrappers slet ikke har

Compliance / preflight-værktøjskæder

Der har brug for PDF/A-generering og -validering, PDF/UA-tilgængelighed, versionsstyring og CI-venlige preflight-rapporter

Store / fjern-dokumenter

Flergigabyte- eller databasestøttede PDF'er der skal indlæses on-demand frem for at holdes fuldt ud i hukommelsen

Cross-IDE-teams

Teams der bruger Delphi, C++Builder og Lazarus på én gang — ét komponentsæt, de samme fixtures, de samme demoer

Sikkerhedsfølsomme implementeringer

Finance-, healthcare- og offentlige scenarier med streng kontrol over link- / launch-handlinger

Rendering af en side på få linjer

Ingen håndskrevet C-interop — direkte native Pascal-komponenter:

uses PDFium;

var
  Pdf: TPdf;
  Bmp: TBitmap;
begin
  Pdf := TPdf.Create(nil);
  try
    Pdf.FileName := 'report.pdf';
    Pdf.Active := True;
    Pdf.PageNumber := 0;              // sider er nul-baserede

    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;

Næste skridt

Start med produktoversigten og Quick Start, gennemse det fulde funktionskatalog og Examples, eller læs Release Notes for de seneste leverancer