PDFium Delphi Component Docs

Podepisování PAdES · šifrování PDF 2.0 · šest standardů ISO · Delphi / C++Builder / Lazarus

Vše, co renderovací engine nedokáže, napsané v Object Pascalu

Engine vykresluje stránky a čte struktury. Nedokáže podepsat dokument, zapsat šifrování, validovat standard PDF ani vytvořit linearizovanou nebo inkrementální revizi. PDFium Delphi Component implementuje to všechno nad PDFiem: více než 62 000 řádků v 36 jednotkách, které v API enginu nemají obdobu, plus architekturu prohlížeče a čtečky se zpřístupněním — a každý řádek dodáváme jako zdrojový kód

Přečíst úplný přehled Procházet katalog funkcí

Co získáte nad rámec enginu

Každý bod níže je dodávaná schopnost, kterou můžete ověřit v referenci API a v demech

Digitální podpisy, nikoli jen jejich čtení

Engine dokáže jen ohlásit, že slovník podpisu existuje. Tato knihovna ho umí vytvořit: PAdES baseline B-B, B-T, B-LT a B-LTA podle ETSI EN 319 142-1, CMS / CAdES SignedData podle RFC 5652, žádosti o časová razítka RFC 3161, injektáž Document Security Store, archivační časová razítka a validaci důvěryhodnosti řetězce certifikátů. Vzdálené podepisování a HSM rozdělí operaci tak, aby soukromý klíč nikdy nemusel dorazit na pracovní stanici

SignPades / ValidatePadesTrust / PreparePadesRemoteSignature

Šifrování, které zapisujete, nikoli jen otevíráte

ISO 32000-2 AES-256 s odvozením klíče R6 podle algoritmu 2.B, kompletní průchod šifrováním streamů a řetězců, ISO/TS 32003 AES-GCM a tokeny PDF MAC podle ISO/TS 32004. Primitivy AES, SHA-2, SHA-3, HMAC a ASN.1 jsou čistý Object Pascal ověřený proti publikovaným testovacím vektorům FIPS — do vašeho nasazení ani bezpečnostního auditu se nedostane žádná externí knihovna v C

SaveAsEncrypted; FPdfAes / FPdfSha512 / FPdfAsn1

Zapisovač PDF, který engine nemá

Engine nabízí jediné sekvenční uložení celého souboru. Tato knihovna na něm zapisuje vlastní revize: linearizovaný Fast Web View s hint tabulkami přílohy F, balení do object streamů a xref streamů a inkrementální revize změněných objektů, které zachovávají předchozí výstup bajt po bajtu. Poškozené soubory dostávají načítací politiky strict, compatible a recovery se strukturovanou diagnostikou místo tiché opravy

SaveAsLinearized / SaveAsObjectStream / BeginIncrementalSave / SaveAsRepaired

Extrakce obsahu nad rámec prostého textu

GetStructuredText buduje hierarchii stránka / blok / řádek / úsek se stylem z geometrie znaků a sémantiky Tagged PDF. ExtractTables rozpozná tabulky ohraničené i zarovnané bílým místem, zachová sloučené rozsahy a vyprodukuje CSV nebo JSON. BuildReflowDocument převede PDF s pevným rozvržením na sémantické HTML. XFDF a FDF vyměňují data formulářů a 18 podtypů anotací — formáty, ke kterým engine nevystavuje žádné API

ExtractTables / BuildReflowDocument / ExportXFDF

Nejširší pokrytí IDE ve své třídě

Delphi / C++Builder (RAD Studio XE5 až 13.1 Florence) plus Lazarus / Free Pascal 3.8+, Win32 a Win64. Tři rodiny IDE sdílejí stejná testovací PDF a regresní sady

1257 testovacích případů v Pascalu + 515 v C++, zarovnáno po bajtech

Úplné spektrum standardů PDF

Výstup PDF/A-1b (SaveAsPdfA) + validace (ValidatePdfA), dále validátory PDF/UA, PDF/E, PDF/X, PDF/R a PDF/VT s výsledkovými kódy na úrovni odstavců, injektáží markerů a bránami shody verzí. PDF/A pokrývá ISO 19005 části 1 až 4, PDF/X sahá po X-6 a PDF/VT zahrnuje stream balení VT-2s

Vyhrazené jednotky FPdfPdfa/Pdfua/Pdfe/Pdfx/Pdfr/Pdfvt.pas

Zpřístupnění čtení nahlas / slabozrakost

TPdfReadingSession orchestruje čtení nahlas pro hostitelské enginy TTS (čtecí jednotky na úrovni vět, zvýraznění na úrovni slov, mapování mluveného textu); plus transformace pro slabozraké InvertPdfBitmap, GrayscalePdfBitmap, DuotonePdfBitmap a živé noční duotónové zobrazení

Vrstva zpřístupnění, kterou většina wrapperů zcela postrádá

Vykreslování zero-copy + přerušitelné progresivní

Cesta vykreslování zapisuje výstup PDFium přímo do vyrovnávací paměti DIB cílového TBitmap a vynechá tak kopii pixelů celé stránky v každém snímku; RenderPageProgressive se mezi iteracemi dotazuje na token zrušení a lze jej přerušit uprostřed vykreslování

Šetří jednu kopii šířka×výška×4 bajty na snímek při vysokém DPI

Streamování na vyžádání pro vícegigabajtové PDF

Prostřednictvím adaptéru TStream na vyžádání v LoadCustomDocument čte PDFium po blocích — vícegigabajtové, vzdálené nebo databázové dokumenty se načítají bez kopie v paměti a použitelné první zobrazení nastává téměř okamžitě

Dokumenty o velikosti 2.x GB: téměř okamžité první zobrazení

Tři komponenty + 33 sdílených dem

TPdf (engine dokumentu), TPdfView (interaktivní prohlížeč), TPdfThumbnailView (navigace miniaturami); 33 COMMON dem sdílených napříč třemi IDE, pokrývajících zobrazení, vyhledávání, vyplňování formulářů, slučování/rozdělování, dávkový export, tisk, audit zabezpečení, preflight reporty a další

PDFViewer / PreflightReport / SecurityAudit / StandardsLab atd.

Výchozí nastavení s důrazem na zabezpečení

Whitelist akcí odkazů (LinkOptions), spouštěcí akce ve výchozím stavu zakázané a demo SecurityAudit pro audit rizikových ploch — bezpečné hned po vybalení místo výchozího povolení nebezpečných akcí

Vhodné pro nasazení citlivá na zabezpečení ve financích / zdravotnictví

Zdrojové kódy v ceně · bez licenčních poplatků · dlouhodobá podpora

Dodává se se zdrojovým kódem v Pascalu, bez licenčních poplatků za běh, s dlouhodobou údržbou. Balí pdfium.dll a pdfium.v8.dll pro Win32/Win64 (s podporou V8/XFA), s volitelnými háčky vykreslování Skia

Žádné poplatky za nasazení

Důkazy

3Rodiny IDE: Delphi / C++Builder / Lazarus
6+Standardy PDF: A / UA / E / X / R / VT
33COMMON dema sdílená třemi IDE
1770+Regresní testovací případy Pascal + C++

Kdo by si měl vybrat PDFium Delphi Component

Prohlížeče / čtečky dokumentů

Vestavěné prohlížeče PDF potřebující produkční kvalitu vykreslování a interakce (výběr textu, zvýraznění hledání, odkazy, přiblížení, nepřetržité dvoustránkové zobrazení)

Zpřístupnění / asistivní technologie

Orchestrování čtení nahlas a transformace pro slabozraké pro uživatele s postižením zraku — vrstva, kterou většina wrapperů PDF vůbec nemá

Řetězce pro shodu / preflight

Potřebující generaci a validaci PDF/A, zpřístupnění PDF/UA, brány verzí a preflight reporty přátelské k CI

Objemné / vzdálené dokumenty

Vícegigabajtová nebo databázová PDF, která se musí načítat na vyžádání místo toho, aby byla celá držena v paměti

Týmy napříč IDE

Týmy používající současně Delphi, C++Builder a Lazarus — jedna sada komponent, stejné testovací sady, stejná dema

Nasazení citlivá na zabezpečení

Scénáře ve financích, zdravotnictví a státní správě se striktní kontrolou nad akcemi odkazů / spouštění

Vykreslení stránky v pár řádcích

Žádný ručně psaný C interop — přímo nativní komponenty v Pascalu:

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;

Další kroky

Začněte přehledem produktu a Rychlým startem, projděte si úplný katalog funkcí a Příklady, nebo si přečtěte Poznámky k vydání s nejnovějšími dodávkami