PDFium Delphi Component w skrócie
| Produkt | PDFium Delphi Component — profesjonalny SDK aplikacji PDF z kodem źródłowym dla Delphi, C++Builder i Lazarus |
|---|---|
| Najlepsze zastosowanie | Dostarczanie wydajnych czytników PDF, narzędzi przeglądu, obiegów dokumentów i dostępnych doświadczeń czytania w aplikacjach natywnych |
| Obsługa IDE | Delphi i C++Builder od XE5 do 13.1 Florence (Win32, Win64); Lazarus / Free Pascal LCL |
| Rola silnika | PDFium — rodzina silników open source stojąca za wyświetlaniem PDF w Chromium — odpowiada za renderowanie stron i odczyt dokumentów; opcjonalne biblioteki DLL środowiska uruchomieniowego V8 / XFA |
| Warstwa aplikacji | 115 000 wierszy kodu Object Pascal w 55 jednostkach, 475 publicznych składowych TPdf i 152 w TPdfView, obejmujących warstwy przeglądarki, serializacji, podpisywania, szyfrowania, standardów i dostępności, których PDFium nie zapewnia |
| Podpisy cyfrowe | Podpisywanie PAdES B-B / B-T / B-LT / B-LTA (ETSI EN 319 142-1), kontenery CMS / CAdES, znaczniki czasu RFC 3161, Document Security Store |
| Szyfrowanie | Obsługa zapisu AES-256 w PDF 2.0 (ISO 32000-2), ISO/TS 32003 AES-GCM, ISO/TS 32004 PDF MAC, na czysto pascalowym stosie AES / SHA / HMAC / ASN.1 |
| Standardy | Walidatory PDF/A (części 1-4), PDF/X (do X-6), PDF/UA, PDF/E, PDF/VT (do VT-2s), PDF/R wraz z narzędziami do zapisu i wstawiania znaczników |
| Zapis PDF | Własny serializator: linearyzowany Fast Web View, pakowanie do strumieni obiektów i xref, przyrostowe rewizje zmienionych obiektów, weryfikowane kopie naprawcze |
| Zasoby czytnika | 34 gotowe do uruchomienia projekty: referencyjne profesjonalne czytniki, laboratoria interakcji, stanowiska dostępności, narzędzia standardów i preflight, laboratoria tekstu CJK i RTL |
| Duże pliki | Dostęp na żądanie pozwala uniknąć wstępnego kopiowania do pamięci przy dokumentach wielogigabajtowych; równoległe renderowanie stron i ograniczona pamięć robocza |
| Kod źródłowy | Pełny kod źródłowy Object Pascal dołączony do każdej licencji |
| Licencjonowanie | Bez tantiem, jednorazowo $350-$4200 zależnie od poziomu; odnowienie za 40% ceny katalogowej |
| Bieżąca wersja | 3.51.0 (2026-08-16) |
| Wersja próbna | Pobierz bezpłatny pakiet demonstracyjny |
Gdzie kończy się silnik, a zaczyna produkt
PDFium jest rendererem. Rysuje strony, wyodrębnia tekst i odczytuje istniejące struktury — i na tym jego rola się kończy. Nie podpisuje dokumentów, nie zapisuje szyfrowania, nie waliduje standardów, nie linearyzuje plików, nie zapisuje rewizji przyrostowych i nie obsługuje XFDF ani XMP. Nakładka na API C biblioteki PDFium dziedziczy dokładnie te same ograniczenia.
PDFium Delphi Component dostarcza około 115 000 wierszy kodu Object Pascal w 55 jednostkach. Ponad 62 000 z tych wierszy znajduje się w 36 jednostkach, które nie mają żadnego odpowiednika w API PDFium — kryptografia, podpisy, szyfrowanie, sześć walidatorów standardów, serializator PDF, XFDF, XMP, układ strony i kształtowanie tekstu. Napisane w Pascalu, zweryfikowane względem opublikowanych klauzul ISO, ETSI, IETF i FIPS oraz dostarczane jako kod źródłowy z każdą licencją.
| Obszar funkcjonalny | Silnik PDFium | Zaimplementowane przez PDFium Delphi Component |
|---|---|---|
| Podpisy cyfrowe | Odczytuje wyłącznie istniejące słowniki podpisów | Podpisywanie PAdES B-B / B-T / B-LT / B-LTA, struktury CMS / CAdES SignedData zgodne z RFC 5652, klient znaczników czasu RFC 3161, wstrzykiwanie DSS i VRI, klucze Windows CNG (RSA-PSS, PKCS#1, ECDSA), podpisywanie zdalne i sprzętowe (HSM), przy którym klucz prywatny nigdy nie opuszcza usługi, oraz walidacja zaufania łańcucha certyfikatów |
| Szyfrowanie | Otwiera zaszyfrowane pliki, ale nie potrafi zapisać szyfrowania | ISO 32000-2 AES-256 (V5 / R6, wyprowadzanie klucza według algorytmu 2.B), ISO/TS 32003 AES-GCM, ISO/TS 32004 PDF MAC oraz pełne szyfrowanie wszystkich strumieni i ciągów znaków |
| Prymitywy kryptograficzne | Żadne nie są udostępniane | AES-128/256 w trybach CBC i GCM, SHA-256/384/512, SHA-3, HMAC oraz czytnik i zapis ASN.1 DER — w całości w Object Pascal, zweryfikowane względem wektorów testowych FIPS 197 i FIPS 180-4 |
| Zgodność ze standardami | Brak jakiegokolwiek walidatora | PDF/A części 1-4, PDF/X do X-6, PDF/UA-1, PDF/E-1, PDF/VT-1/2/2s i PDF/R-1 — walidatory na poziomie klauzul, wstrzykiwanie znaczników i helpery zapisu świadome profilu |
| Serializacja PDF | Jeden sekwencyjny zapis całego pliku | Linearyzowany Fast Web View z tablicami wskazówek według Aneksu F, pakowanie w strumienie obiektów i strumienie xref, przyrostowe rewizje zmienionych obiektów z zachowaniem poprzedniego pliku bajt w bajt oraz kopie naprawcze zweryfikowane w trybie strict |
| Uszkodzone dokumenty | Ciche odzyskiwanie, bez raportu | Polityki wczytywania strict, compatible i recovery ze strukturalną diagnostyką: ścieżka odbudowy, przesunięcia uszkodzeń, sprzeczne rewizje i stan budżetów |
| Wymiana danych formularzy | Brak API XFDF lub FDF | Import i eksport XFDF (ISO 19444-1) oraz FDF dla wartości pól i 18 podtypów adnotacji |
| Metadane | Odczytuje klasyczny słownik info | Czytnik i zapis pakietów XMP z typowanymi kontenerami, wykorzystywany przez każdy profil standardu |
| Sieć i skala | Wywołania zwrotne zakresów bajtów i nic ponadto | Progresywne sesje dokumentu, priorytetowy harmonogram zakresów bajtów z deduplikacją, scalaniem, ograniczoną liczbą ponowień i anulowaniem, równoległe renderowanie stron oraz ograniczona pamięć robocza przenoszona do pliku tymczasowego usuwanego przy zamknięciu |
| Warstwa aplikacji | Uchwyty i wywołania zwrotne języka C | Trzy zarejestrowane komponenty VCL / LCL, 475 publicznych składowych TPdf i 152 w TPdfView, stan przeglądarki, miniatury, sesje czytania oraz 34 gotowe do uruchomienia projekty |
Natywne przeglądanie PDF i przepływy pracy z dokumentami dla Delphi
PDFium Delphi Component to zestaw komponentów PDFium z kodem źródłowym dla Delphi, C++Builder i Lazarus – przeznaczony dla aplikacji wymagających szybkiego wyświetlania PDF, rasteryzacji stron, strumieniowego wczytywania, zaznaczania tekstu, wyszukiwania, obsługi formularzy, adnotacji, drukowania, raportowania preflight i inspekcji dokumentów w natywnym interfejsie Windows.
Błyskawiczne otwieranie dużych plików PDF: W rzeczywistych testach z dużymi plikami, pliki PDF o rozmiarze 2+ GB, których otwarcie w popularnych czytnikach PDF zajmuje 20-30 sekund przed wyświetleniem pierwszej strony, w PDFium Delphi Component stają się użyteczne niemal natychmiast.
Użyj go, gdy obsługa PDF ma się odbywać wewnątrz Twojej aplikacji, a nie w zewnętrznej przeglądarce. Pakiet zawiera komponenty wizualne i niewidoczne, kod źródłowy w Object Pascal, przykłady projektów, biblioteki DLL PDFium, opcjonalne biblioteki DLL obsługujące V8/XFA, przykłady wiersza poleceń dla preflight, testy regresji oraz dokumentację zarówno dla integracji przeglądarki, jak i niskopoziomowych operacji na PDF.
PDFium VCL Component obsługuje Delphi XE5 do Delphi 13.1 Florence oraz C++Builder XE5 do C++Builder 13.1 Florence, z targets Win32 i Win64. PDFium LCL Component zawiera pliki pakietów Lazarus / Free Pascal oraz przykłady dla przepływów pracy LCL.
Główne możliwości
- Wysokopoziomowe API aplikacji: Pracuj z natywnymi dla Delphi obiektami dokumentu i przeglądarki zamiast przeplatać surowe uchwyty PDFium przez każdy ekran, zadanie w tle, przepływ pracy formularza i ścieżkę zwalniania zasobów.
- Interfejs przeglądarki: Umieść
TPdfViewna formularzu, aby uzyskać zoom, obrót, tryby dopasowania, układy jednostronicowe i ciągłe, rozkładówki z obsługą okładki, cienie stron, bezpieczne klikanie linków, zaznaczanie tekstu przez użytkownika, kopiowanie do schowka i przepływ pracy z fokusem formularza. - Nawigacja miniaturkami: Dodaj
TPdfThumbnailViewobok przeglądarki, aby uzyskać przewijalne miniatury stron z podświetlaniem po najechaniu kursorem, zaznaczaniem i nawigacją przez kliknięcie. - Renderowanie: Renderuj strony i kafle do bitmap, stosuj zerowe kopiowanie przy zapisach DIB tam, gdzie to możliwe, uruchamiaj anulowalne renderowanie progresywne, renderuj zestaw stron równolegle przez
RenderPagesParallel, uzyskuj dostęp do niskopoziomowych hooków Skia, gdy załadowana DLL je eksportuje, i utrzymuj responsywność dużych stron. - Strumieniowanie i duże pliki: Wczytuj z dysku, pamięci, tablic bajtów lub niestandardowych strumieni z losowym dostępem – z odczytami PDFium na żądanie, dzięki czemu duże lub zdalnie przechowywane dokumenty nie wymagają kopiowania całej zawartości z góry.
- Uruchamianie dużych plików: Zacznij przeglądać wielogigabajtowe pliki PDF szybko; przeglądarka używa dostępu PDFium z losowym odczytem na żądanie, dzięki czemu dokumenty 2+ GB stają się użyteczne niemal natychmiast zamiast czekać na pełne wczytanie z góry.
- Tekst i wyszukiwanie: Wyodrębniaj tekst stron, przeszukuj w przód lub wstecz, podświetlaj wyniki, buduj listy wyników ze wszystkich stron i sprawdzaj prostokąty znaków, pozycje, kąty, generowane znaki, rodzinę czcionek, grubość, rozmiar, wzniesienie, opadanie i status czcionki osadzonej.
- Tekst strukturalny:
GetStructuredTextbuduje hierarchię stron, bloków, wierszy i stylizowanych fragmentów na podstawie geometrii znaków, metadanych czcionek, tożsamości obiektów tekstowych i semantyki Tagged PDF, z awaryjnym porządkiem wynikającym z układu fizycznego, gdy dokument nie zawiera znaczników. - Ekstrakcja tabel:
ExtractTablesiExtractDocumentTablesłączą prostokąty słów z przekształconymi liniami ścieżek, aby wykrywać tabele obramowane i wyrównane odstępami, zachowywać scalone komórki, oceniać pewność wyniku, oznaczać kontynuacje na kolejnych stronach i generować CSV lub JSON. - Semantyczny reflow do HTML:
BuildReflowDocumentzamienia PDF o stałym układzie w drzewo węzłów wielokrotnego użytku, którego bezpieczne wyjście HTML zachowuje nagłówki, akapity, listy, ilustracje, sekcje stron i scalone komórki tabel — na potrzeby responsywnego wyświetlania, dostępności i ponownego wykorzystania treści. - Formularze: Pracuj z polami AcroForm, wykrywaniem stanu XFA, opcjonalną dostępnością helpera V8/XFA, zaznaczonym tekstem formularza, cofaniem/ponownym wykonywaniem w formularzu, generowanymi wyglądem formularzy, flagami pól i spłaszczaniem.
- Wymiana danych formularzy: Eksportuj i importuj zarówno XFDF (ISO 19444-1), jak i FDF (ISO 32000-1 §12.7.11) dla wartości pól i 18 podtypów adnotacji — formatów, dla których PDFium nie udostępnia żadnego API, zaimplementowanych w Pascalu na własnym modelu adnotacji i pól komponentu.
- Integracja OCR: Podłącz dowolny silnik rozpoznawania do
IPdfOcrProvider, odbieraj bitmapy stron w zdefiniowanym formacie pikseli, zwracaj czworokąty słów i pozwól komponentowi zapisać przeszukiwalną warstwę tekstową, z raportowaniem stanu dla każdej strony i pomijaniem stron z istniejącym tekstem. - Adnotacje i linki: Twórz, usuwaj, zliczaj i sprawdzaj adnotacje; obsługuj linki stron, linki internetowe, cele zakładek, akcje JavaScript dokumentu, powierzchnie ryzyka URI/Launch i zdarzenia kliknięcia przeglądarki.
- Montaż dokumentów: Twórz dokumenty, dodawaj lub usuwaj strony, importuj zakresy stron według etykiety lub indeksu fizycznego, przenoś strony, komponuj strony N-up, ponownie wykorzystuj strony jako Form XObjects, stosuj znaki wodne lub stemple, aktualizuj zawartość stron i zarządzaj polami stron.
- Wyjście PDF i rewizje: Zapisuj linearyzowane pliki Fast Web View z tablicami wskazówek dla przesunięć stron i obiektów współdzielonych, pakuj obiekty w strumienie obiektów z pełnym pokryciem xref typu 2, dołączaj przyrostowe rewizje zmienionych obiektów zachowujące poprzednie wyjście bajt w bajt oraz twórz kopie naprawcze weryfikowane ponownie przez niezależne wczytanie w trybie strict przed dostarczeniem.
- Podpisy cyfrowe: Podpisuj na poziomach bazowych PAdES B-B, B-T, B-LT lub B-LTA; buduj CMS / CAdES SignedData z atrybutami podpisanymi wymaganymi przez profil; żądaj tokenów RFC 3161 od urzędu TSA; zbieraj łańcuch certyfikatów w Document Security Store; dodawaj archiwalne znaczniki czasu; oraz waliduj dowolny dokument względem kontroli PAdES na poziomie klauzul i zaufania łańcucha certyfikatów, synchronicznie lub asynchronicznie.
- Podpisywanie zdalne i z użyciem HSM: Podziel operację na dwa etapy za pomocą
PreparePadesRemoteSignatureiCompletePadesRemoteSignature— aplikacja tworzy dokument z miejscem na podpis i przenośne żądanie podpisu zawierające skrót SHA-256, usługa zdalna lub moduł sprzętowy zwraca odłączony CMS, a komponent go wstrzykuje. Klucz prywatny nigdy nie musi trafić na stację roboczą. - Szyfrowanie i integralność: Zapisuj szyfrowanie PDF 2.0 AES-256 z poprawnym wyprowadzaniem klucza R6 i blokami uprawnień, stosuj ISO/TS 32003 AES-GCM tam, gdzie jest wymagane, dołączaj tokeny ISO/TS 32004 PDF MAC i opieraj się na prymitywach AES, SHA-2, SHA-3, HMAC oraz ASN.1 napisanych w Object Pascal bez zewnętrznej zależności od kodu C.
- Inspekcja zawartości i zabezpieczeń: Wyodrębniaj obrazy, renderuj bitmapy obiektów, sprawdzaj granice obiektów i przezroczystość, odczytuj załączniki, metadane, podpisy, uprawnienia, język, etykiety stron, tryby stron, preferencje przeglądarki, strukturę oznaczonego PDF i identyfikatory pliku.
TPdfStreamInspectordekoduje dowolne obiekty strumieni w ramach jawnych budżetów źródła, rozmiaru surowego i zdekodowanego, współczynnika ekspansji oraz liczby strumieni, dzięki czemu bomba dekompresyjna zwraca ustrukturyzowany status zamiast wyczerpywać pamięć. - Dostępne czytanie: Buduj jednostki czytania na poziomie zdań, mapuj wypowiadany tekst z powrotem na zawartość PDF, steruj podświetlaniem czytania na poziomie słów, nawiguj po polach formularzy, badaj strukturę oznaczoną i stosuj bitmapowe transformacje dla osób słabowidzących w asystujących przepływach pracy.
- Raporty preflight: Generuj raporty audytów zorientowane na standardy z polami zaliczony, wymaga-działania, przegląd, priorytet, kategoria problemu, liczba kategorii i następne-działanie; eksportuj czytelne raporty TXT, HTML i Markdown albo maszynowo przetwarzalne JSON, CSV, SARIF 2.1.0, JUnit XML i NDJSON; twórz stabilne odciski SHA-256 raportów; uruchamiaj podsumowania wsadowe; dołączaj raporty do kopii przeglądowych; i zatrzymuj kompilację na podstawie kodu wyjścia narzędzia wiersza poleceń.
- Drukowanie: Drukuj z zakresami stron, liczbą kopii, preferencjami skalowania, kompozycją N-up, filtrowaniem stron nieparzystych/parzystych, wyjściem w skali szarości, metadanymi preferencji przeglądarki i
SetPdfPrintPaperHandlingDevModedo integracji dupleksu i obsługi papieru.
Przepływy pracy PDF z obsługą zgodności ze standardami
PDFium Delphi Component udostępnia zorientowane na standardy API walidacji i zapisu dla zespołów wymagających przewidywalnego przekazywania PDF, archiwizacji, przeglądów wydruków, kontroli dostępności, dokumentów inżynierskich, wyjścia danych zmiennych lub dostarczania zablokowanego rastrem.
| Przepływ pracy | Obsługa PDFium Delphi Component | Odpowiedzialność aplikacji |
|---|---|---|
| PDF/A | ValidatePdfA, SaveAsPdfA i PdfAConformance w zakresie ISO 19005 części od 1 do 4 — łącznie z opartymi na PDF 2.0 profilami A-4 base, A-4f i A-4e — z kontrolami OutputIntent, kontrolami metadanych XMP, kontrolami osadzania czcionek, kontrolami struktury RoleMap i ParentTree, limitami implementacyjnymi z Aneksu C, ograniczeniami szyfrowania i JavaScript oraz świadomymi profilu helperami zapisu. | Wybierz cel archiwalny, dostarcz poprawne metadane dokumentu i dane kolorów, a następnie przejrzyj wszelkie zgłoszone problemy z walidacją przed dostarczeniem. |
| PDF/X | ValidatePdfX, SaveAsPdfX i PdfXConformance od X-1a po oparty na PDF 2.0 profil X-6, z obsługą OutputIntent i ICC, zależnymi od profilu ograniczeniami przezroczystości i przestrzeni barw, kontrolami geometrii TrimBox / ArtBox / BleedBox oraz kontrolami profilu bezpiecznego dla druku. | Dostarcz odpowiednie dane OutputIntent, geometrię strony i ustawienia drukowania dla docelowego profilu PDF/X. |
| PDF/UA | ValidatePdfUa, SaveAsPdfUa, PdfUaConformance, sprawdzanie języka i oznakowania, inspekcja drzewa struktury, przegląd oznaczonej zawartości i walidacja profilu dostępności. | Napisz sensowną kolejność czytania, nagłówki, listy, semantykę tabel, tekst alternatywny i język dokumentu w źródłowym przepływie pracy. |
| PDF/E, PDF/VT, PDF/R | ValidatePdfE, ValidatePdfVT i ValidatePdfR, odpowiadające im API SaveAs... oraz właściwości zgodności dla profili PDF inżynierskich, zmiennych danych i zorientowanych na raster. PDF/VT obejmuje hierarchie DPart, metadane części dokumentu i pakowanie wieloczęściowych strumieni MIME w VT-2s; PDF/E wstrzykuje osadzony OutputIntent sRGB; PDF/R wymusza jeden obraz pasa na stronę i dozwoloną listę kodowań. | Dopasuj profil do przepływu pracy biznesowej i utrzymaj zawartość źródłową w dozwolonym zestawie funkcji wybranego standardu. |
| Podpisy PAdES | SignPades, SignPadesToStream, SignPadesBytes, SaveAsPadesDss i ValidatePadesCompliance obejmują poziomy bazowe B-B, B-T, B-LT i B-LTA normy ETSI EN 319 142-1, ze znacznikami czasu RFC 3161, wstrzykiwaniem Document Security Store, znacznikami rozszerzenia ESIC i 26 kodami walidacji na poziomie klauzul. SignPadesWithPdfA łączy konwersję archiwalną z podpisywaniem w jednym przepływie pracy. | Dostarcz certyfikat podpisujący wraz z jego łańcuchem, wybierz punkt końcowy TSA dla poziomów ze znacznikiem czasu i zdefiniuj politykę przechowywania oraz unieważniania obowiązującą w organizacji. |
| Automatyzacja preflight | FPdfPreflightReport i PreflightReportCli scalają wyniki PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R i PDF/VT w czytelne raporty TXT, HTML i Markdown albo maszynowo przetwarzalne JSON, CSV, SARIF 2.1.0, JUnit XML i NDJSON, z deterministyczną kolejnością i stabilnymi odciskami SHA-256. | Zdecyduj, czy wyniki zaliczony, wymaga-działania, przegląd lub liczba problemów powinny blokować CI, dostarczenie lub pobieranie archiwum. |
Te API zostały zaprojektowane tak, aby praca ze standardami była widoczna w kodzie. Wyniki walidacji, podsumowania preflight i helpery zapisu pomagają aplikacji odrzucać lub korygować problematyczne wyjście zamiast po cichu dostarczać plik, który zawodzi dopiero w archiwum, wydrukowaniu lub potoku dostępności. Wbudowane walidatory skupiają się na sprawdzeniach na poziomie znaczników i wybranych sprawdzeniach na poziomie pliku; zespoły wymagające formalnej certyfikacji na poziomie treści powinny połączyć je z dedykowanym silnikiem walidacji.
Architektura komponentów
TPdf: Niewidoczny komponent dokumentu do wczytywania, dostępu do strumieni, zapisywania, renderowania, wyszukiwania, wyodrębniania, walidacji, dostępu do formularzy, operacji na stronach, metadanych, załączników, adnotacji, raportowania preflight i przepływów pracy profilu PDF.TPdfView: Wizualny komponent przeglądarki do trybów wyświetlania, interakcji użytkownika, linków, przewijania, zoomu, zaznaczania, fokusu formularza, podświetlania, nawigacji po stronach i przepływów pracy ze schowkiem.TPdfThumbnailView: Przewijany panel boczny miniaturek do nawigacji po stronach, śledzenia bieżącej strony, informacji zwrotnej po najechaniu kursorem i układów towarzyszących przeglądarce.- Jednostki pomocnicze: łącznie 55 jednostek Object Pascal. Poza powiązaniem z silnikiem dzielą się na kryptografię (
FPdfAes,FPdfAesGcm,FPdfSha256,FPdfSha512,FPdfSha3,FPdfHmac,FPdfAsn1), podpisywanie (FPdfPades,FPdfCms,FPdfTsa,FPdfCryptoWin), standardy (FPdfPdfa,FPdfPdfx,FPdfPdfua,FPdfPdfe,FPdfPdfvt,FPdfPdfr,FPdfPreflightReport), serializację i integralność (FPdfCompress,FPdfEncrypt,FPdfMac,FPdfStreamInspect,FPdfContentNormalize) oraz usługi treści (FPdfXfdf,FPdfXmp,FPdfLayout,FPdfMeasure,FPdfTextShaping,FPdfStructTree,FPdfAsync,FPdfMatrix).
Każda z powyższych jednostek to kod źródłowy, który otrzymujesz i przez który możesz przejść krok po kroku w debugerze. Prymitywy kryptograficzne napisano w Object Pascal i zweryfikowano względem opublikowanych wektorów testowych FIPS 197 i FIPS 180-4, dzięki czemu podpisywanie i szyfrowanie nie dodają zewnętrznej biblioteki C do wdrożenia ani obcego pliku binarnego do przeglądu bezpieczeństwa.
Pobierz pakiet demonstracyjny PDFium Delphi Component
2026-08-16 Version 3.51.0: PDFium Delphi Component informacje o wydaniu | dokumentacja API. Wersja 3.51.0 udostępnia publicznie osiem wcześniej nieosiągalnych składowych TPdf zgodnie z dokumentacją i uzupełnia angielską dokumentację referencyjną tak, aby każda publiczna składowa TPdf i TPdfView miała własną stronę — 88 składowych zyskało taką stronę — wraz z typami wyliczeniowymi i rekordami osiągalnymi z publicznych sygnatur.
Licencje i ceny
Płatność kartą kredytową/debetową, PayPal, AliPay lub przelewem przez 2Checkout. Każda nowa licencja PDFium Delphi Component obejmuje kod źródłowy Object Pascal, rok aktualizacji i rok wsparcia e-mail.
| Licencja | Programiści | Cena | Zamów |
|---|---|---|---|
| Single | 1 programista | $350 | Zamów |
| Small Business | do 10 programistów | $700 | Zamów |
| Medium Business | do 30 programistów | $1050 | Zamów |
| Enterprise | Wszyscy programiści w jednej firmie i jej spółkach zależnych w obrębie jednego kraju | $2100 | Zamów |
| Corporate | Wszyscy programiści w jednej firmie i jej spółkach zależnych na całym świecie | $4200 | Zamów |
Dodatki źródłowe dla Enterprise i Corporate: PDFium Delphi Component Enterprise i Corporate zawierają pełny kod źródłowy dedykowanego przykładu klasy narzędziowej PDF Intake & Accessibility Review Workbench Pro. Kod źródłowy kompletnych zestawów testów używanych zwykle tylko do walidacji wewnętrznej jest dostępny na życzenie.
Odnowienie dla istniejących klientów: 40% pełnej ceny, z możliwością anulowania w dowolnym momencie. Otwórz stronę zakupu i odnowienia PDFium Delphi Component.
Dołączone przykłady
Pakiet zawiera gotowe do uruchomienia przykłady dla Delphi, C++Builder i Lazarus dotyczące podstawowych przepływów pracy, których większość zespołów potrzebuje przed integracją komponentu z oprogramowaniem produkcyjnym.
- PdfViewer: Pełna przeglądarka z zaznaczaniem tekstu, wyszukiwaniem, zakładkami, nawigacją po stronach, drukowaniem, linkami i trybami wyświetlania.
- ViewerInteractionLab i SearchAndSelect: Tryby wyświetlania, tryby dopasowania, kolory stron, obrót, podświetlanie wyników wyszukiwania, listy wyników ze wszystkich stron, podgląd zaznaczonego tekstu, kopiowanie, czyszczenie i mapowanie współrzędnych.
- MultiPageViewer: Ciągłe, rozkładówkowe, z obsługą okładki i wielostronicowe zachowanie przeglądarki dla aplikacji do przeglądania dokumentów.
- SplitView: Dwa zsynchronizowane widoki tego samego dokumentu do porównywania i przeglądania.
- ContentExtractionLab: Jeden przepływ pracy dla metadanych, tekstu, obiektów stron, obrazów, załączników, linków, adnotacji, zakładek, czcionek i metryk znaków z eksportem TXT/JSON.
- PDFtoJpg, BatchExport i ImageToPDF: Eksport rastrowy, wsadowa konwersja wielu plików, strumieniowe wczytywanie, kontrola DPI/jakości, wprowadzanie hasła, postęp i kooperacyjne anulowanie.
- MergePDF, SplitPDF, CreatePDF i WatermarkStamp: Montaż dokumentów, programowe tworzenie PDF, znaki wodne Form XObject wielokrotnego użytku, stemple narożne i etykiety numerów stron.
- FormFill, FontProperties i Attachment: Edycja wartości formularza i spłaszczanie, indeksowana inspekcja czcionek i znaków oraz wyodrębnianie lub tworzenie plików osadzonych.
- SecurityAudit: Inspekcja tylko do odczytu uprawnień, załączników, JavaScript, linków URI/Launch, linków internetowych, podpisów, stanu XFA, dostępności helpera runtime i raportów audytu TXT/JSON.
- XfdfLab i XfaLab: Przenoś dane formularzy i adnotacje w obie strony przez XFDF i FDF oraz sprawdzaj wykrywanie stanu XFA z opcjonalnym środowiskiem uruchomieniowym obsługującym V8 / XFA.
- CJKTextLab i RTLTextLab: Obsługa tekstu chińskiego, japońskiego, koreańskiego, arabskiego i hebrajskiego — wyodrębnianie, wyszukiwanie, geometria zaznaczenia i kształtowanie tekstu w pismach, w których naiwne założenia o kolejności znaków zawodzą.
- AnnotationsLab i NavigationLab: Tworzenie i edycja adnotacji znaczników z geometrią czworokątów oraz wzorce nawigacji po zakładkach, miejscach docelowych, akcjach nazwanych i etykietach stron.
- AccessibilityWorkbenchCli i IntakeWorkbenchCli: Bezokienkowe potoki przeglądu i przyjmowania dokumentów do wsadowej oceny dostępności i rejestracji dokumentów, przeznaczone do zadań harmonogramowych i CI, a nie do okna aplikacji desktopowej.
- StandardsLab, PreflightReport i PreflightReportCli: Przepływy pracy walidacji i zapisu PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R i PDF/VT, podglądy raportów, eksport TXT/HTML/Markdown/JSON/CSV, foldery wsadowe, posortowane podsumowania, nazwy raportów zabezpieczające przed duplikatami, dołączanie raportów i zachowanie wyjścia
failon=zorientowane na CI.
Dlaczego zespoły wybierają PDFium Delphi Component
- Podpisywanie i szyfrowanie bez drugiego dostawcy: PAdES od B-B do B-LTA, znaczniki czasu RFC 3161 i szyfrowanie PDF 2.0 AES-256 są częścią tej biblioteki. Większość zespołów Delphi dochodzi do tego punktu, dokładając osobny SDK do podpisów albo wdrożenie OpenSSL; tutaj to jeden pakiet, jedna licencja i kod źródłowy w Pascalu, który możesz samodzielnie zaudytować.
- Praca ze standardami widoczna w kodzie: Sześć rodzin standardów ISO ma prawdziwe walidatory z kodami wyników na poziomie klauzul, a nie pole wyboru. Wyjście preflight w formatach TXT, HTML, Markdown, JSON i CSV wpina się wprost w CI, a narzędzie wiersza poleceń zwraca kod błędu przy warunkach, które sam wybierzesz.
- Zapis PDF, którego silnik nie ma: Linearyzowany Fast Web View, pakowanie w strumienie obiektów i przyrostowe rewizje zmienionych obiektów zachowujące poprzedni plik bajt w bajt — dokładnie te formaty wyjściowe, których oczekują systemy archiwizacji, dystrybucja przez sieć i ścieżki audytu.
- Wrogie dane wejściowe traktowane jak wrogie: Dekodowanie strumieni, normalizacja treści i skanowanie struktury działają w ramach jawnych budżetów źródła, wyjścia, tokenów, zagnieżdżenia i współczynnika ekspansji, dzięki czemu zniekształcony lub celowo spreparowany PDF zwraca ustrukturyzowany status zamiast wywracać proces.
- Natywna integracja z Delphi: Prawdziwe komponenty VCL z kodem źródłowym w Object Pascal, a nie kontrolka ActiveX ani przeglądarka hostowana w przeglądarce internetowej.
- Jakość renderowania PDFium: Używa tej samej rodziny silników PDF open-source, która stoi za wyświetlaniem PDF w Chromium, zachowując integrację w Twoim kodzie Delphi.
- Przeglądarka i API w jednym pakiecie: Połącz dopracowaną przeglądarkę PDF na ekranie z niskopoziomowym dostępem do dokumentów, wyszukiwaniem, formularzami, drukowaniem, API walidacji i skryptowalnym raportowaniem preflight.
- Brak opłat licencyjnych runtime: Twórz aplikacje desktopowe bez opłat za dokument lub za użytkownika końcowego.
- Obsługa nowoczesnych IDE: Delphi XE5 do Delphi 13.1 Florence, C++Builder XE5 do C++Builder 13.1 Florence oraz przepływy pracy Lazarus / Free Pascal, z kompilacjami Win32 i Win64.
- Utrzymane pokrycie testami: Testy Delphi DUnitX, C++Builder GoogleTest i Lazarus FPCUnit obejmują główne przepływy pracy dokumentu, renderowania, formularzy, struktury, drukowania, miniaturek i przeglądarki.
Dokumentacja online PDFium Delphi Component
Przykład kodu
procedure TForm1.OpenPdf(const FileName: string);
begin
Pdf.FileName := FileName;
PdfView.Pdf := Pdf;
PdfThumbnailView.Pdf := Pdf;
PdfView.DisplayMode := dmSingleContinuous;
PdfView.FitMode := pfmFitWidth;
PdfView.AllowUserTextSelection := True;
PdfView.Active := True;
end;
procedure TForm1.HighlightInvoiceNumber;
begin
Pdf.PageNumber := PdfView.PageNumber;
if Pdf.FindFirst('Invoice', []) >= 0 then
PdfView.HighlightSearchText('Invoice', False, False);
end;
procedure TForm1.SaveArchiveCopy(const OutputFile: string);
begin
if not Pdf.SaveAsPdfA(OutputFile, pac1b) then
raise Exception.Create('The PDF/A archive copy could not be saved.');
end;
procedure TForm1.SignForLongTermArchive(const OutputFile: string);
var
Options: TPadesSignOptions;
begin
Options := TPadesSignOptions.Default;
Options.CertificateThumbprint := SignerThumbprint;
Options.Level := plB_LTA; // podpis + token TSA + DSS + archiwalny znacznik czasu
Options.TsaUrl := 'https://tsa.example.com/tsr';
Options.Reason := 'Approved for release';
if not Pdf.SignPades(OutputFile, Options) then
raise Exception.Create('The document could not be signed.');
end;
procedure TForm1.CheckSignatureLevel;
var
Result: TPadesValidationResult;
begin
Result := Pdf.ValidatePades;
if Result.IsCompliantAt(plB_LTA) and Result.IsCryptographicallyValid then
ShowMessage(Format('%d signature(s), %d archive time-stamp(s), verified.',
[Result.SignatureCount, Result.DocTimeStampCount]))
else
ShowMessage('The document does not reach the required PAdES baseline.');
end;
Typowe przypadki użycia
- Systemy zarządzania dokumentami z wbudowanym przeglądaniem PDF, wyszukiwaniem, drukowaniem i przepływami pracy formularzy.
- Aplikacje księgowe i fakturowe wymagające przeglądania PDF, wyodrębniania, obsługi załączników, sprawdzania gotowości do archiwizacji, wsadowych manifestów preflight i dołączania raportów.
- Oprogramowanie desktopowe dla branży prawnej, inżynieryjnej, medycznej i rządowej, gdzie użytkownicy muszą sprawdzać, drukować, walidować, raportować i zachowywać dokumenty PDF bez opuszczania aplikacji.
- Przepływy pracy z podpisanymi dokumentami w branżach regulowanych — umowy, faktury, listy przewozowe i akta, które muszą nieść podpis PAdES B-T lub B-LTA z zaufanym znacznikiem czasu i pozostać weryfikowalne przez lata.
- Poufna dystrybucja wymagająca szyfrowania PDF 2.0 AES-256 ze zdefiniowanymi uprawnieniami, zapisywanego przez samą aplikację, a nie przez zewnętrzne narzędzie w drugim przebiegu.
- Narzędzia do zgodności i pozyskiwania wymagające powtarzalnych sprawdzeń znaczników PDF/A, PDF/X, PDF/UA, PDF/E, PDF/R lub PDF/VT przed przekazaniem plików do zewnętrznych walidatorów lub systemów archiwizacji.
- Przeglądarki raportów i wewnętrzne narzędzia biznesowe wymagające szybkiego wyświetlania PDF, rasteryzacji stron, kopiowania tekstu i kontrolowanego drukowania.
Kiedy wybrać PDFium Delphi Component
- Wybierz PDFium Delphi Component, gdy aplikacja musi wyświetlać, weryfikować, podpisywać, szyfrować i dostarczać dokumenty PDF: profesjonalne podstawy czytnika, podpisywanie PAdES, szyfrowanie PDF 2.0, sześć walidatorów standardów, wyjście linearyzowane i przyrostowe, wydajność przy dużych plikach, obsługa dostępności, formularze i drukowanie — wszystko z jednego pakietu, wraz z kodem źródłowym. Renderowanie odbywa się przez dostarczaną w pakiecie bibliotekę
pdfium.dll. - Wybierz HotPDF Component, gdy aplikacja generuje dokumenty i wolisz nie dystrybuować żadnego silnika renderującego: HotPDF ma własny silnik renderowania, własne kodeki obrazów, własny silnik czcionek, generowanie kodów kreskowych, układ XFA i walidację Factur-X, a kompiluje się wprost do Twojego pliku wykonywalnego.
- Wybierz PDF Library for Delphi, gdy jeden zestaw narzędzi ma pokryć cały cykl życia dokumentu albo gdy potrzebujesz OCR, odczytu kodów kreskowych, podpisywania tokenem sprzętowym PKCS#11, walidacji względem list zaufania UE lub dostępu przez DLL / ActiveX / Dylib dla kodu spoza Delphi.
Porównujesz całą rodzinę produktów? Przegląd bibliotek deweloperskich PDF zestawia PDFium Delphi Component, losLab PDF Library i HotPDF Component obok siebie.
Częste pytania
Czy PDFium Delphi Component jest tylko cienką nakładką na bibliotekę DLL PDFium?
Nie. PDFium renderuje i odczytuje; nie potrafi podpisać dokumentu, zapisać szyfrowania, zwalidować standardu PDF ani wygenerować rewizji linearyzowanych, opartych na strumieniach obiektów czy przyrostowych. Ponad 62 000 z około 115 000 wierszy Object Pascal w pakiecie znajduje się w jednostkach, które nie mają odpowiednika w API PDFium i realizują dokładnie te warstwy: podpisywanie PAdES od B-B do B-LTA, w pełni pascalowy stos kryptograficzny AES / SHA / ASN.1, szyfrowanie PDF 2.0 AES-256, sześć walidatorów standardów ISO, własny serializator PDF, XFDF, XMP oraz architekturę przeglądarki, czytnika i dostępności
Jakiego silnika używa PDFium Delphi Component?
PDFium Delphi Component używa PDFium – tej samej rodziny silników open source, która obsługuje wyświetlanie PDF w Chromium – do renderowania stron i odczytu dokumentów. Wszystko, czego silnik nie zapewnia, losLab zaimplementował w Object Pascal: model komponentów, warstwę serializacji i rewizji PDF, podpisy cyfrowe, szyfrowanie, walidację standardów, architekturę czytnika, warstwę dostępności, przykłady i testy
Czy PDFium Delphi Component potrafi podpisywać dokumenty PDF podpisem cyfrowym?
Tak. Implementuje bazowe profile PAdES B-B, B-T, B-LT i B-LTA z normy ETSI EN 319 142-1: budowę CMS / CAdES SignedData zgodnie z RFC 5652, żądania znaczników czasu RFC 3161 do urzędu TSA, zebranie łańcucha certyfikatów w Document Security Store oraz archiwalne znaczniki czasu. Klucze podpisujące są używane przez backend Windows CNG z RSA-PSS, PKCS#1 lub ECDSA. Sam PDFium potrafi jedynie odczytać istniejące słowniki podpisów
Czy potrafi szyfrować dokumenty PDF?
Tak. SaveAsEncrypted zapisuje szyfrowanie ISO 32000-2 AES-256, łącznie z wyprowadzaniem skrótu hasła R6 według algorytmu 2.B, wpisami słownika /O /U /OE /UE /Perms oraz pełnym szyfrowaniem strumieni i ciągów znaków. Obsługiwane są ISO/TS 32003 AES-GCM oraz tokeny ISO/TS 32004 PDF MAC. Prymitywy AES, SHA-256/384/512, HMAC i ASN.1 napisano w czystym Object Pascal, bez zewnętrznej zależności od kodu C
Czy PDFium Delphi Component obsługuje Lazarus i Free Pascal?
Tak. Pakiet zawiera pliki pakietów Lazarus / Free Pascal oraz demonstracje LCL, obok komponentów VCL dla Delphi i C++Builder, i obejmuje Delphi oraz C++Builder od XE5 do 13.1 Florence dla Win32 i Win64
Jak szybko otwiera bardzo duże pliki PDF?
Przeglądarka używa dostępnego na żądanie, przeszukiwalnego dostępu PDFium zamiast pełnego wczytania pliku z góry. W rzeczywistych testach pliki PDF o rozmiarze 2.x GB, które powodują, że popularne czytniki PDF potrzebują 20–30 sekund przed pierwszym widokiem, stają się użyteczne w PDFium Delphi Component niemal natychmiast
Czy PDFium Delphi Component może tworzyć lub edytować dokumenty PDF?
Obsługuje składanie dokumentów: tworzenie dokumentów, dodawanie i usuwanie stron, import zakresów stron, przenoszenie stron, kompozycję N-up, znaki wodne, stemple oraz aktualizacje zawartości stron. Do intensywnego programowego tworzenia PDF lepiej pasuje HotPDF Component lub losLab PDF Library
Czy obsługuje formularze AcroForm i XFA?
Tak. Obsługuje pola AcroForm, fokus formularza i zaznaczony tekst, cofanie i ponawianie, generowane wyglądy, flagi pól oraz spłaszczanie, wykrywa stan XFA i może używać opcjonalnych bibliotek DLL runtime obsługujących V8 / XFA, gdy te funkcje są potrzebne
Jakie standardy PDF może walidować?
Sześć rodzin standardów, każda z własnym walidatorem i odpowiadającym mu helperem zapisu lub wstrzykiwania znaczników: PDF/A (ISO 19005 części od 1 do 4, łącznie z opartymi na PDF 2.0 profilami A-4 base/f/e), PDF/X (ISO 15930, łącznie z X-6), PDF/UA (ISO 14289-1), PDF/E (ISO 24517-1), PDF/VT (ISO 16612-2, łącznie z pakowaniem strumieni MIME w VT-2s) i PDF/R (ISO 23504-1). Struktura bazowa PAdES jest walidowana osobno względem ETSI EN 319 142-1. Raporty preflight eksportują się do TXT, HTML, Markdown, JSON, CSV, SARIF 2.1.0, JUnit XML i NDJSON. Walidatory obejmują poziom znaczników oraz rosnący zbiór klauzul na poziomie pliku; gdy wymagana jest formalna certyfikacja, połącz je z dedykowanym silnikiem walidacji
Czy występują tantiemy runtime lub opłaty za użytkownika?
Nie. Licencjonowane aplikacje można dystrybuować bez tantiem i bez opłat runtime za dokument lub użytkownika końcowego
Co obejmuje licencja i jak działa odnowienie?
Nowa licencja ($350 Single, $700 Small Business (up to 10 developers), $1050 Medium Business (up to 30 developers), $2100 Enterprise (one company, one country), $4200 Corporate (one company, worldwide)) obejmuje kod źródłowy Object Pascal, rok aktualizacji i rok wsparcia e-mail. Obecni klienci odnawiają dostęp do aktualizacji za 40% pełnej ceny
Odkryj więcej z Delphi PDF Component & Spreadsheet Development
Subskrybuj aktualizacje produktów
Subskrybuj, aby otrzymywać najnowsze aktualizacje na swój adres e-mail.
