PDFiumPas to kompleksowa, profesjonalna biblioteka komponentów, która zapewnia potężne możliwości przetwarzania i przeglądania plików PDF dla aplikacji Delphi i C++Builder. Zbudowana w oparciu o solidny silnik renderowania PDFium firmy Google, dostarcza deweloperom kompletne rozwiązanie do integracji funkcjonalności PDF w ich aplikacjach desktopowych.
Biblioteka składa się z dwóch głównych komponentów, które bezproblemowo ze sobą współpracują: TPdf do przetwarzania i manipulacji dokumentami oraz TPdfView do interaktywnej prezentacji wizualnej. Niezależnie od tego, czy potrzebujesz zbudować prostą przeglądarkę PDF, złożony system zarządzania dokumentami, czy zintegrować możliwości PDF z istniejącymi aplikacjami, PDFiumPas dostarcza narzędzia i elastyczność, których potrzebujesz.
Serce systemu przetwarzania PDF — TPdf obsługuje wszystkie operacje na poziomie dokumentu, w tym ładowanie, zapisywanie, ekstrakcję tekstu, przetwarzanie formularzy i zarządzanie metadanymi.
Zaawansowana kontrolka wizualna, która zapewnia bogate doświadczenie przeglądania PDF z pełnymi możliwościami interakcji użytkownika.
TStream na żądanie poprzez LoadCustomDocumentSaveAsPdfA / SaveAsPdfAToStream z dołączonym profilem sRGB ICC i obsługą profili niestandardowychValidatePdfA oraz właściwość tylko do odczytu PdfAConformanceImportPagesByIndex (import podzbioru), ImportNPagesToOne (siatka N-up), MovePages (zmiana kolejności w miejscu)CreateXObjectFromPage i InsertFormObjectFromXObjectRenderPageProgressive i IPdfCancellationTokenFitMode wybiera sposób umieszczenia strony w obszarze wyświetlania (powiększenie ręczne, rzeczywisty rozmiar, dopasuj do strony, dopasuj do szerokości); ponownie stosowane automatycznie przy zmianie rozmiaru lub stronyPageColor oddziela renderowane tło strony PDF od koloru otaczającej kontrolki (Color) na potrzeby przeglądarek w trybie ciemnymHighlightSearchText i ClearHighlightPageShadowSize / PageShadowColor) i obramowanie strony (PageBorderColor)LinkOptions) oraz zdarzenia OnAnnotationLinkClick / OnWebLinkClickAllowUserPageChange, ChangePageOnMouseScrolling, AllowUserTextSelection) dla kiosków i osadzeń tylko do odczytuTPdfThumbnailView| Aspekt | Szczegóły |
|---|---|
| Silnik renderowania | Google PDFium — branżowy, sprawdzony silnik PDF |
| Obsługa PDF | Wersje PDF od 1.0 do 1.7, pliki zaszyfrowane i chronione hasłem |
| Zgodność platform | Aplikacje Windows 32-bit i 64-bit |
| Wsparcie IDE | Delphi XE5 / C++Builder XE5 (RAD Studio XE5) do Delphi/C++Builder 13.1 Florence (RAD Studio 13.1), Lazarus 3.8+ |
| Kodowanie znaków | Pełna obsługa Unicode, przetwarzanie tekstu wielojęzycznego |
| Zarządzanie pamięcią | Zoptymalizowane dla dużych dokumentów, efektywne wykorzystanie zasobów |
| Bezpieczeństwo wątków | Architektura jednowątkowa (zgodnie z wymogami PDFium) |
PDFiumPas stosuje wzorzec architektury warstwowej, który czysto rozdziela odpowiedzialności i maksymalizuje możliwość ponownego wykorzystania kodu:
| Warstwa | Pliki | Odpowiedzialność |
|---|---|---|
| Komponenty VCL | PDFium.pas, FPdfThumbnail.pas | Komponenty VCL Delphi (TPdf, TPdfView, TPdfThumbnailView) ze wsparciem czasu projektowania |
| Powiązania API | 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 | Deklaracje wskaźników funkcji dla wywołań biblioteki PDFium DLL |
| Potok PDF/A | FPdfPdfa.pas | Tworzenie PDF/A-1b (wstrzykiwanie XMP, sRGB ICC OutputIntent, aktualizacja Catalog) i walidacja (wykrywanie zgodności, wyliczanie problemów) |
| Infrastruktura asynchroniczna | FPdfAsync.pas | IPdfCancellationToken / IPdfCancellationTokenSource, singleton PdfNoCancellationToken oraz pomocnik TPdfFuture<T> dla długo wykonywanych zadań renderowania i eksportu |
| Pomocniki geometrii | FPdfMatrix.pas | Obiektowy wrapper wokół FS_MATRIX z pomocnikami Translate, Scale, Rotate, Flip, Skew i Multiply |
| Operacje na stronach | FPdfPageOps.pas | Wrappery dla FPDF_ImportPagesByIndex, FPDF_ImportNPagesToOne, FPDF_MovePages oraz pomocniki Form-XObject (CreateXObjectFromPage / InsertFormObjectFromXObject) |
| Panel boczny miniatur | FPdfThumbnail.pas | TPdfThumbnailView — przewijalny panel miniatur poszczególnych stron z najechaniem, zaznaczeniem i nawigacją OnPageClick |
| Silnik natywny | DLLs\Win32|Win64\pdfium.dll i pdfium.v8.dll | Natywny silnik renderowania Google PDFium z opcjonalnymi kompilacjami z włączonym V8 |
PDFiumPas został zaprojektowany z myślą o natychmiastowej produktywności. Biblioteka komponentów obejmuje:
Niezależnie od tego, czy budujesz prostą przeglądarkę PDF, czy złożony system przetwarzania dokumentów, PDFiumPas stanowi podstawę profesjonalnej funkcjonalności PDF w aplikacjach Delphi i C++Builder.