PDFiumPas je rozsáhlá, profesionální knihovna komponent, která přináší do aplikací v Delphi a C++Builderu výkonné možnosti pro zpracování a prohlížení PDF. Je postavená na robustním vykreslovacím jádru PDFium od Googlu a nabízí vývojářům kompletní řešení pro integraci PDF funkcí do desktopových aplikací
Knihovna se skládá ze dvou hlavních komponent, které spolu hladce spolupracují: TPdf pro zpracování a úpravy dokumentů a TPdfView pro interaktivní vizuální prezentaci. Ať už potřebujete vytvořit jednoduchý prohlížeč PDF, složitější systém správy dokumentů nebo přidat PDF podporu do existující aplikace, PDFiumPas poskytuje potřebné nástroje i flexibilitu
Srdce systému pro zpracování PDF, TPdf zajišťuje všechny operace na úrovni dokumentu včetně načítání, ukládání, extrakce textu, práce s formuláři a správy metadat
Pokročilý vizuální prvek, který poskytuje bohaté prostředí pro prohlížení PDF s plnými možnostmi uživatelské interakce
TStream na vyžádání přes LoadCustomDocumentSaveAsPdfA / SaveAsPdfAToStream s přiloženým profilem sRGB ICC a podporou vlastních profilůValidatePdfA a jen pro čtení dostupnou vlastnost PdfAConformanceImportPagesByIndex (import výřezu), ImportNPagesToOne (mřížka N-up), MovePages (přeskládání na místě)CreateXObjectFromPage a InsertFormObjectFromXObject/AP) z hodnot polí a pak vloží anotace a widgety formuláře do statického obsahu stránkyRenderPageProgressive a IPdfCancellationTokenFitMode určuje, jak stránka sedí ve výřezu (ruční zoom, skutečná velikost, přizpůsobení celé stránky, přizpůsobení šířce); po změně velikosti nebo stránky se znovu aplikuje automatickyPageColor odděluje pozadí vykreslené PDF stránky od Color okolního ovládacího prvku pro prohlížeče v tmavém režimuHighlightSearchText a ClearHighlightPageShadowSize / PageShadowColor) a okraj stránky (PageBorderColor)LinkOptions) a událostmi OnAnnotationLinkClick / OnWebLinkClickAllowUserPageChange, ChangePageOnMouseScrolling, AllowUserTextSelection) pro kiosky a jen pro čtení vložené komponentyTPdfThumbnailView| Oblast | Podrobnosti |
|---|---|
| Vykreslovací jádro | Google PDFium - průmyslový standard, dlouhodobě prověřené PDF jádro |
| Podpora PDF | Verze PDF 1.0 až 1.7, šifrované a heslem chráněné soubory |
| Kompatibilita platforem | Aplikace pro Windows 32bitové i 64bitové |
| Podpora IDE | Delphi XE5 / C++Builder XE5 (RAD Studio XE5) až Delphi/C++Builder 13.1 Florence (RAD Studio 13.1), Lazarus 3.8+ |
| Kódování znaků | Plná podpora Unicode, zpracování vícejazyčného textu |
| Správa paměti | Optimalizováno pro velké dokumenty a efektivní využití prostředků |
| Bezpečnost vláken | Jednovláknový návrh podle požadavků PDFium |
PDFiumPas používá vrstvenou architekturu, která čistě odděluje odpovědnosti a maximalizuje znovupoužitelnost kódu
| Vrstva | Soubory | Odpovědnost |
|---|---|---|
| Komponenty VCL | PDFium.pas, FPdfThumbnail.pas | Delphi VCL komponenty (TPdf, TPdfView, TPdfThumbnailView) s podporou návrhového času |
| API vazby | FPdfView.pas, FPdfDoc.pas, FPdfText.pas, FPdfEdit.pas, FPdfAnnot.pas, FPdfFormFill.pas, FPdfPageOps.pas, FPdfAttachment.pas, FPdfSignature.pas, FPdfStructTree.pas, FPdfDataAvail.pas, FPdfExtensions.pas, FPdfFWLEvent.pas, FPdfCompress.pas, FPdfUtils.pas | Deklarace ukazatelů na funkce pro volání PDFium DLL |
| PDF/A pipeline | FPdfPdfa.pas | Vytváření PDF/A-1b (vložením XMP, sRGB ICC OutputIntent a aktualizací katalogu) a validace (zjištění shody, výčet problémů) |
| Asynchronní infrastruktura | FPdfAsync.pas | IPdfCancellationToken / IPdfCancellationTokenSource, singleton PdfNoCancellationToken a pomocník TPdfFuture<T> pro dlouho běžící vykreslování a export |
| Geometrické pomocníky | FPdfMatrix.pas | OO obal kolem FS_MATRIX s pomocníky Translate, Scale, Rotate, Flip, Skew a Multiply |
| Operace se stránkami | FPdfPageOps.pas | Obaly pro FPDF_ImportPagesByIndex, FPDF_ImportNPagesToOne, FPDF_MovePages a pomocníky Form-XObject (CreateXObjectFromPage / InsertFormObjectFromXObject) |
| Boční panel miniatur | FPdfThumbnail.pas | TPdfThumbnailView - posuvný panel miniatur po stránkách s najetím myší, výběrem a navigací přes OnPageClick |
| Nativní jádro | DLLs\Win32|Win64\pdfium.dll a pdfium.v8.dll | Nativní vykreslovací jádro Google PDFium s volitelnými sestaveními s podporou V8 |
TComponent) - Nevizuální komponenta pro operace s PDF dokumentyTScrollingWinControl) - Vizuální ovládací prvek dědící posouvání a podporu fokusuTCustomControl) - Posuvný boční panel miniatur navázaný na komponentu TPdfGetProcAddressTBookmark, TDestination, TPdfAnnotation atd.)FPdfAsync a FPdfMatrix poskytují nástroje pro zrušení, future a transformace, aniž by je vnucovali do hlavní komponenty TPdfPDFiumPas je navržený pro okamžitou produktivitu. Knihovna komponent obsahuje:
Ať už stavíte jednoduchý prohlížeč PDF nebo složitý systém pro zpracování dokumentů, PDFiumPas poskytuje základ pro profesionální PDF funkce ve vašich aplikacích v Delphi a C++Builderu