PDFium Delphi Component Docs

Google PDFium · Delphi · C++Builder · Lazarus

Hämt kraften i Chromes PDF-motor inhemskt till dina VCL / LCL-appar

PDFium Delphi Component omsluter Googles PDFium — samma motor som driver Chromes inbyggda PDF-visare — som inhemska Pascal-komponenter, så du får industriell renderingskvalitet, standardefterlevnad och en utbyggbar visare utan egen C-interop

Läs den fullständiga översikten Bläddra i funktionskatalogen

Vad du får utöver motorn

Varje punkt nedan är en levererad förmåga du kan verifiera i API-referensen och demona

Digitala signaturer, inte signaturläsning

Motorn kan rapportera att en signaturordbok finns. Detta bibliotek skapar en: PAdES-baslinje B-B, B-T, B-LT och B-LTA enligt ETSI EN 319 142-1, CMS / CAdES SignedData enligt RFC 5652, RFC 3161-tidsstämpelförfrågningar, Document Security Store-injektion, arkivtidsstämplar och tillitsvalidering av certifikatkedjor. Fjär- och HSM-signering delar upp operationen så att den privata nyckeln aldrig behöver nå arbetsstationen

SignPades / ValidatePadesTrust / PreparePadesRemoteSignature

Kryptering du skriver, inte bara öppnar

ISO 32000-2 AES-256 med R6-nyckelhärlning från algoritm 2.B, fullständig kryptering av strömmar och strängar, ISO/TS 32003 AES-GCM och ISO/TS 32004 PDF MAC-token. AES-, SHA-2-, SHA-3-, HMAC- och ASN.1-primitiverna är ren Object Pascal, verifierade mot de publicerade FIPS-testvektorerna — ingen extern C-bibliotek kommer in i din utplacering eller din säkerhetsgranskning

SaveAsEncrypted; FPdfAes / FPdfSha512 / FPdfAsn1

En PDF-skrivare som motorn saknar

Motorn erbjuder en sekventiell hel-fil-sparning. Detta bibliotek skriver egna revisioner ovanpå den: linjäriserad Fast Web View med Annex F-hinttabeller, objektströms- och xref-strömspackning samt inkrementella revisioner av smutsiga objekt som bevarar tidigare utdata byte för byte. Skadade filer får strict-, compatible- och recovery-inläsningspolicys med strukturerad diagnostik i stället för tyst reparation

SaveAsLinearized / SaveAsObjectStream / BeginIncrementalSave / SaveAsRepaired

Innehållsextraktion bortom ren text

GetStructuredText bygger en hierarki med sida / block / rad / stylade span från teckengeometri och Tagged PDF-semantik. ExtractTables hittar tabeller med kanter och tomrumsjustering, bevarar sammanslagna celler och ger CSV eller JSON. BuildReflowDocument förvandlar en PDF med fast layout till semantiskt HTML. XFDF och FDF utbyter formulärdata och 18 annoteringsundertyper — format som motorn inte har något API för alls

ExtractTables / BuildReflowDocument / ExportXFDF

Bredaste IDE-stöd i sin klass

Delphi / C++Builder (RAD Studio XE5 till 13.1 Florence) plus Lazarus / Free Pascal 3.8+, Win32 och Win64. Tre IDE-familjer delar samma fixtur-PDF:er och regressionssviter

1257 Pascal + 515 C++ testfall, bytejusterade

Full PDF-standardspektrum

PDF/A-1b-utdata (SaveAsPdfA) + validering (ValidatePdfA), plus PDF/UA-, PDF/E-, PDF/X-, PDF/R- och PDF/VT-validerare med resultatkoder på klausulnivå, markörinjektion och versionsfterlevnadsspärrar. PDF/A täcker ISO 19005 del 1 till 4, PDF/X når X-6, PDF/VT inkluderar VT-2s-strömpackning

Dedikerade enheter FPdfPdfa/Pdfua/Pdfe/Pdfx/Pdfr/Pdfvt.pas

Tillgänglighetsuppläsning / nedsatt syn

TPdfReadingSession samordnar uppläsning för värdens TTS-motorer (läsenheter på meningsnivå, markering på ordnivå, uppläst-textmappning); plus InvertPdfBitmap, GrayscalePdfBitmap, DuotonePdfBitmap-omvandlingar för nedsatt syn och live-nattduotone-visning

Ett tillgänglighetslager som de flesta omslag saknar helt

Zero-copy + avbrytbar progressiv rendering

Renderingsvägen skriver PDFium-utdata direkt i mål-TBitmap:ens DIB-buffert och hoppar över en fullsidig pixelkopia per bildruta; RenderPageProgressive pollar en avbrytningstoken mellan iterationer och kan avbrytas mitt i renderingen

Sparar en width×height×4-byte-kopia per bildruta vid hög DPI

On-demand-strömning för flergigabyte-PDF:er

Via LoadCustomDocument:s on-demand TStream-adapter läser PDFium blockvis — flergigabyte-, fjärr- eller databasbaserade dokument läses in utan en kopia i minnet, och en användbar första vy nås nästan omedelbart

2.x GB-dokument: nära ögonblicklig första vy

Tre komponenter + 33 gemensamma demos

TPdf (dokumentmotor), TPdfView (interaktiv visare), TPdfThumbnailView (miniatyrnav); 33 COMMON-demos gemensamma för tre IDE:er, som täcker visning, sökning, formulärfyllning, slå ihop/dela, batchexport, utskrift, säkerhetsgranskning, förhandsgranskningsrapporter och mer

PDFViewer / PreflightReport / SecurityAudit / StandardsLab osv.

Säkerhetsförst-standardvärden

Tillåt-lista för länkåtgärder (LinkOptions), startåtgärder inaktiverade som standard och en SecurityAudit-demo för granskning av riskytor — säker direkt ur lådan i stället för att som standard ha farliga åtgärder öppna

Passar säkerhetskänsliga finans- / sjukvårdsutplaceringar

Källkod inkluderad · royaltyfri · långsiktigt stöd

Levereras med Pascal-källkod, inga runtime-royalties, långsiktigt underhåll. Bundlar Win32/Win64 pdfium.dll och pdfium.v8.dll (V8/XFA-aktiverad), med valfria Skia-renderingshookar

Inga avgifter per utplacering

Bevisen

3IDE-familjer: Delphi / C++Builder / Lazarus
6+PDF-standarder: A / UA / E / X / R / VT
33tre-IDE-gemensamma COMMON-demos
1770+Pascal + C++ regressionstestfall

Vem bör välja PDFium Delphi Component

Dokumentvisare / läsare

Inbäddade PDF-visare som behöver produktionsmogen renderingkvalitet och interaktion (textmarkering, sökmarkering, länkar, zoom, kontinuerlig tvåspalt)

Tillgänglighet / assisterande teknik

Samordnad uppläsning och omvandlingar för nedsatt syn för synskadade användare — ett lager som de flesta PDF-omslag saknar helt

Efterlevnad / förhandsgranskningsverktygskedjor

Som behöver PDF/A-generering och validering, PDF/UA-tillgänglighet, versionsspärrar och CI-vänliga förhandsgranskningsrapporter

Enorma / fjärrdokument

Flergigabyte- eller databasbaserade PDF:er som måste läsas in on-demand i stället för att hållas helt i minnet

Kors-IDE-team

Team som använder Delphi, C++Builder och Lazarus samtidigt — en komponentuppsättning, samma fixturer, samma demos

Säkerhetskänsliga utplaceringar

Finans-, sjukvårds- och myndighetsscenarier med strikt kontroll över länk- / startåtgärder

Rendera en sida på några rader

Ingen handskriven C-interop — raka inhemska 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;              // 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;

Nästa steg

Börja med produktöversikten och Snabbstart, bläddra i fullständiga funktionskatalog och Exempel, eller läs utgivningsanteckningarna för de senaste leveranserna