Komponenty główne
- TPdf — główny komponent obsługi dokumentów PDF do otwierania, nawigacji, ekstrakcji tekstu i edycji dokumentów PDF
- TPdfView — wizualny komponent do wyświetlania i interakcji ze stronami PDF
- TPdfReadingSession — komponent orkiestracji czytania na głos dla silników TTS hosta i śledzenia słów w TPdfView
- TPdfThumbnailView — przewijalny boczny panel miniatur do nawigacji po stronach
- Native LCL Platforms — Linux Qt6 i macOS Cocoa używają natywnego PDFium, poprawnych wiązań LP64, platformowych usług czcionek i plików oraz rzeczywistych układów kanałów bitmap; konfiguracje Free Pascal/LCL i granice możliwości opisuje konfiguracja natywna
Operacje na dokumentach
- Ładowanie dokumentów — ładowanie plików PDF z dysku, strumieni pamięci, kompletnych tablic bajtów, okien tablic bajtów liczonych od zera
Index/Countlub adapterów TStream na żądanie poprzezLoadCustomDocument. Polityki zgodności, ścisłe i odzyskiwania dodają ograniczone diagnostyki klasyczne, hybrydowe i strumieni xref bez zastępowania semantycznego parsera PDFium- Zweryfikowane wyjście naprawione —
SaveAsRepairedtworzy pełną kopię jednorewizyjną i niezależnie ścieśle ładuje jej xref oraz strukturę stron, zanim zwróci bajty lub atomowo zastąpi plik- Typowany graf obiektów —
ExportObjectGraphemituje ograniczony, typowany JSON dla wartości bezpośrednich i ze strumieni obiektów, natomiastSaveAsObjectGraphPatchedstosuje zwalidowane zmiany słowników najwyższego poziomu jako przygotowaną rewizję przyrostową i ścieśle ładuje wynik przed dostarczeniem- Ochrona hasłem — otwieranie dokumentów PDF chronionych hasłem i raportowanie efektywnych
UserPermissionsdla uwierzytelnionej sesji- Tworzenie dokumentów — budowanie nowych dokumentów PDF od zera za pomocą
CreateDocument,AddPage,AddText,AddImage,AddPicture,AddJpegImageiCreatePath- Zapisywanie dokumentów — zapisywanie zmodyfikowanych dokumentów z różnymi opcjami (przyrostowy, usuwanie zabezpieczeń) oraz jawnymi docelowymi wersjami PDF od PDF 1.0 do PDF 1.7
- Wyjście PDF/A-1b —
SaveAsPdfA/SaveAsPdfAToStreamprzetwarza wynik zapisu bazowego poprzez aktualizację przyrostową, która wstrzykuje strumień metadanych XMP, OutputIntent sRGB ICC oraz zaktualizowany Catalog dokumentu, tak aby wynik był zgodny z PDF/A-1b. Niestandardowe profile ICC są obsługiwane poprzezTPdfASaveOptions.IccProfileData- Walidacja PDF/A —
ValidatePdfAoraz właściwość tylko do odczytuPdfAConformanceskanują otwarty dokument w poszukiwaniu znaczników XMPpdfaid, OutputIntent z osadzonym ICC, obecności szyfrowania i raportują poziom zgodności (pac1a,pac1b,pac2b,pac3b,pacNonelubpacUnknown) wraz z listą wpisówTPdfAValidationIssueopisujących każdy wykryty problem- Walidator zgodności wersji PDF — gdy SaveAs jest skierowane na PDF 1.0 do PDF 1.7, zapis odrzuca każdy wpis słownika, filtr, podtyp adnotacji, typ akcji, czcionkę, przestrzeń kolorów lub parametr szyfrowania wprowadzony po wybranej wersji docelowej (np. JBIG2Decode, MarkInfo, OutputIntents, AES / AES-256, adnotacje Polygon / Caret / Watermark / Redact, akcje JavaScript / Trans / SetState)
- Kompresja strumieni — automatyczna kompresja FlateDecode gwarantuje, że wszystkie strumienie PDF są optymalnie skompresowane podczas zapisywania; ustaw
Compressed := False, aby zrezygnować w potokach debugowania- Skalowalne łączenie wsadowe —
MergeFilesimportuje źródła oparte na plikach z zakresami stron i hasłami per źródło, utrzymuje otwarty najwyżej jeden dokument źródłowy oraz udostępnia polityki postępu, anulowania, obsługi stop lub skip, wycofania, formularzy, konspektu, zasobów i preferencji przeglądarki- Import podzbioru stron —
ImportPagesByIndexkopiuje jawną tablicę indeksów liczonych od zera z dokumentu źródłowego, gdzie InsertAt = 0 wstawia przed stroną 1, a InsertAt = PageCount dołącza na końcu. Pusta tablica indeksów importuje każdą stronę źródłową- Kompozycja N-up —
ImportNPagesToOnezwraca zupełnie nowyTPdf, którego strony są kompozytami NumX×NumY stron dokumentu źródłowego, o rozmiarze w jednostkach użytkownika PDF (1 jednostka = 1/72 cala)- Zmiana kolejności stron —
MovePageszmienia kolejność stron w miejscu, używając tablicy indeksów liczonych od zera oraz indeksu docelowego dla pierwszej przeniesionej strony- Walidacja planu stron —
ValidatePagePlanpodgląda mapowania usuwania, przenoszenia, wstawiania, dzielenia i łączenia, inwentaryzuje skutki dla nawigacji, etykiet, formularzy, drzewa struktury, importowanych funkcji i podpisów oraz odrzuca plany, które pozostawiłyby wiszące odwołania lub modyfikowały podpisaną treść bez wyraźnej autoryzacji- Dwuetapowe generowanie układu —
GenerateLayoutmierzy i paginuje zawijany tekst, linie, obrazy, XObjecty stron, nagłówki i stopki, a następnie atomowo emituje natywne obiekty stron, podczas gdy stabilne symbole zastępcze{page}i{pages}zachowują zmierzony licznik stron- Układ stronicowany z oparciem na dysku —
GeneratePagedLayoutzapisuje polecenia w wybranym przez wywołującego przewijalnym magazynie, odtwarza każdą stronę ze zwartych, nieciągłych segmentów, ogranicza zatrzymane tablice stron buforem LRU i sekwencyjnie dołącza strony PDFium- Układ tabel przechodzących przez strony —
TPdfLayoutTablerozwiązuje kolumny stałe, ułamkowe i dopasowane do treści jednokrotnie, powtarza ciągłe wiersze nagłówkowe, dzieli kwalifikujące się wiersze treści, zachowuje w nienaruszonym stanie grupy ze scalaniem wierszy oraz emituje podpisy, obramowania komórek, linki i jedną ciągłą semantyczną hierarchię Table / TR / TH / TD rozciągającą się przez strony- Buforowane węzły układu — plany układu są buforowane według pełnych tożsamości ograniczeń, treści, czcionek, stylów, źródła i miernika, a
TPdfLayoutCachedNodebuduje powtarzalne szablony leniwie i emituje każde umiejscowienie z jednego wielokrotnie używanego natywnego Form XObject- Automatyczny układ Tagged PDF —
GenerateTaggedLayoutemituje natywne MCID, artefakty, drzewo struktury Document, mapowania ParentTree i IDTree, nagłówki, listy, figury z tekstem alternatywnym, nagłówki tabel i adnotacje Link z własnością OBJR z tego samego zmierzonego planu układu; ograniczenia elementów utrzymują bloki i nagłówki razem, wymuszają minima wdowy / sieroty oraz wymuszają fizyczne podziały stron- Edycja marked-content —
PageObjectMarks,AddPageObjectMark,SetPageObjectMarkParam,RemovePageObjectMarkParamiRemovePageObjectMarkanalizują i modyfikują listy właściwości BDC przez stabilne natywne znaczniki- Tekst bidi i złożonych skryptów —
AddShapedTextkonwertuje przebiegi kierunkowe, formy kontekstowe, ligatury, przesunięcia i offsety na pozycjonowane glify CID Type 2, podczas gdy wygenerowane mapowania ToUnicode iActualTextzachowują logiczną semantykę Unicode- Autoryzacja czcionek CID Type 2 —
AddCidType2Textosadza dane TrueType dostarczone przez wywołującego z jawnymi mapowaniami CID-to-GID i ToUnicode, bezpiecznym opcjonalnym subsettingiem, kontrolowanym fallbackiem pełnej czcionki oraz kontrolami integralności ekstrakcji- Ujednolicony budżet bajtów cache —
TPdf.CacheBudgetByteskoordynuje sparsowane sceny stron, miniatury, dane struktury, migawki tekstu i migawki obiektów stron poprzez jeden mierzalny globalny LRU, aTPdfTileCachei cache czcionek systemowych mogą dołączyć do nadzoru wybranego przez wywołującego- Dostawca czcionek systemowych hosta —
ConfigureSystemFontProviderkieruje natywne żądania brakujących czcionek do dostawcy aplikacji z walidacją bajtów, ograniczonym buforowaniem LRU, opcjonalnym współdzielonym nadzorem bajtów, natywnym fallbackiem, ekstrakcją tabel i statystykami cyklu życia- Ponowne użycie strony Form XObject —
CreateXObjectFromPagetworzy wielokrotnie używalny uchwytTPdfXObjectz dowolnej strony innego dokumentu;InsertFormObjectFromXObjectwstawia JEDNĄ kopię opakowanej strony do bieżącej strony. Idealne dla znaków wodnych, nakładek szablonowych i procesów typu „stempluj jedną stronę na wielu". Obiekt strony docelowej może być pozycjonowany, skalowany i obracany poprzezFPDFPageObj_SetMatrixoraz pomocnikiTPdfMatrix- Zarządzanie stronami — dodawanie, usuwanie i manipulacja poszczególnymi stronami;
AddPage(0, ...)wstawia pierwszą stronę i natychmiast ją aktywuje- Pola strony — odczyt i zapis MediaBox, CropBox, BleedBox, TrimBox i ArtBox na bieżącej stronie
- Język Catalog — odczyt i zapis języka dokumentu zapisanego we wpisie /Lang w Catalog
- Identyfikatory plików trailera — odczyt stałych i zmiennych wpisów /ID trailera jako binarne bajty
- Akcje JavaScript dokumentu — wyliczanie nazw i skryptów akcji JavaScript drzewa nazw na poziomie dokumentu
- Drzewo struktury Tagged PDF — inspekcja logicznych elementów struktury, tekstu dostępności, języka, identyfikatorów marked-content i hierarchii stron Tagged PDF
- Viewer Preferences — odczyt
PrintCopies,PrintPageRanges,PrintScalingiPrintPaperHandlingze słownika viewer-preference dokumentu; zapisywane pliki PDF domyślnie ustawiają akcję otwarcia pierwszej strony Fit Height
Operacje na tekście
- Ekstrakcja tekstu — wydobywanie tekstu ze stron PDF z dokładnością na poziomie znaków poprzez właściwości
Text,TextInRectangle, indeksowaneCharacter,CharacterRectangleiCharacterOrigin- Model tekstu ustrukturyzowanego —
GetStructuredTextbuduje ograniczoną hierarchię stron, bloków, linii i stylizowanych przebiegów z natywnej geometrii znaków, metadanych czcionek, tożsamości obiektów tekstowych, semantyki Tagged PDF oraz porządku zapasowego układu fizycznego- Wykrywanie i ekstrakcja tabel —
ExtractTablesiExtractDocumentTablesłączą natywne ramki słów z przekształconymi liniami pomocniczymi ścieżek, aby wykrywać tabele z obramowaniem lub wyrównane do białych przestrzeni, zachowywać scalone zakresy, oceniać pewność, oznaczać kontynuacje stron i emitować CSV lub JSON- Semantyczny reflow i responsywne HTML —
BuildReflowDocumentłączy semantykę Tagged PDF, wnioskowanie układu fizycznego i ekstrakcję tabel w ograniczone, wielokrotnie używalne drzewo węzłów, którego bezpieczne wyjście HTML zachowuje nagłówki, akapity, listy, figury, sekcje stron i zakresy tabel- Warstwa OCR z możliwością wyszukiwania —
ApplyOcrSearchLayerprzekazuje ograniczone renderowania stron BGRA od góry do dołu do dostawcy aplikacji, mapuje czworokąty pewności przez natywną geometrię strony i dodaje niewidoczny tekst z możliwością wyszukiwania bez ponownego kodowania obrazów skanów- Jednostki czytania na poziomie zdań - TPdf.ReadingUnits, TPdf.DocumentReadingUnits, TPdfView.ReadingUnits i BuildReadingUnits udostępniają rekordy TPdfReadingUnit wielkości zdania dla zsynchronizowanego słuchania TTS
- Wizualne zaznaczanie linii —
TPdfView.SelectLineAtzaznacza wizualną linię tekstu zawierającą jedynkowy indeks strony i zerowy indeks znaku przez ten sam model granic linii, którego używa zaznaczanie potrójnym kliknięciem orazShift+HomelubShift+End- Wyróżnianie czytania słowo po słowie -
TPdf.PageWordBoxes,TPdfView.PageWordBoxes,BuildWordBoxes,WordBoxIndexAtCharIndex,TPdfView.SelectWordBox,TPdfView.SelectWordSpan,TPdfView.TrackReadingWordAt,TPdfView.SetReadingWord,TPdfView.ClearReadingWord,ReadingWordColor,ReadingWordFollowMapuje przesunięcie znaku strony na zawierający je TPdfWordBox, wyróżnia go i zwraca indeks słowa; Wyróżnia TPdfWordBox jako bieżące wypowiadane słowo w TPdfView; Czyści bieżącą nakładkę kursora czytania słowo po słowie w TPdfView; Steruje kolorem nakładki używanej przez bieżący kursor czytania słowo po słowie; Określa, czy TPdfView przewija bieżące wypowiadane słowo do widoku podczas śledzenia czytania- Orkiestracja sesji czytania na głos —
TPdfReadingSession,TPdfSpokenText,SpokenTextAppend,BuildSpokenTextFromWords,SpokenToPageChariEstimateSpokenWordIndexkoordynują silniki TTS hosta, segmenty mowy, wywołania zwrotne pozycji słów, szacowane tempo, wstrzymywanie / wznawianie oraz aktualizacje kursora słów TPdfView- Wyszukiwanie tekstu — znajdowanie tekstu z opcjami uwzględnienia wielkości liter, całych słów i wyszukiwania kolejnych wystąpień przy użyciu
FindFirst,FindNext,FindPrevious, albo strumieniowanie dopasowań w przód i wstecz przez cały dokument za pomocąTPdf.CreateDocumentSearch, z prostokątami wyników w przestrzeni strony, kooperatywnym anulowaniem i stałą pamięcią uchwytów stron- Nakładka podświetlenia wyników wyszukiwania —
TPdfView.HighlightSearchTextzastępuje nakładkę dopasowań bieżącej strony, aAddSearchTextHighlightdołącza unikalne zakresy dla dodatkowych terminów, dzięki czemu kilka zapytań może pozostać widocznych jednocześnie.ClearHighlightusuwa cały zestaw; przejście na inną stronę usuwa go automatycznie, ponieważ zakresy znaków są specyficzne dla strony.HighlightColordomyślnie ma wartośćclYellowi jest opublikowane, więc aplikacje mogą stylizować nakładkę- Właściwości znaków — dostęp do rozmiaru, wagi, kąta i pozycjonowania czcionki dla poszczególnych znaków za pomocą indeksowanych właściwości
CharacterAngle,CharacterFontSize,CharacterFontWeight,CharacterGenerated,CharacterIsHypheniCharacterMapError- Obsługa znaków europejskich —
AddTextautomatycznie ładuje i buforuje pasującą systemową czcionkę TrueType przed utworzeniem obiektu tekstowego, dzięki czemu akcentowane znaki czeskie, francuskie, niemieckie, hiszpańskie, portugalskie, polskie i tureckie, których wbudowane standardowe czcionki PDFium nie potrafią reprezentować, są teraz poprawnie renderowane bez żadnych zmian w kodzie- Dodawanie tekstu — dodawanie nowego tekstu do stron PDF z niestandardowymi czcionkami, kolorami, przezroczystością i obrotem
- Pozycjonowanie obiektów tekstowych — ustawianie pozycji per-znak dla istniejących obiektów tekstowych poprzez
SetTextPositionsiTPdfSingleArray- Informacje o czcionce — pobieranie właściwości czcionki, w tym nazwy rodziny, statusu osadzenia, kąta kursywy, ascent / descent oraz surowych danych czcionki dla każdego obiektu strony
Obsługa adnotacji
- Typy adnotacji — wsparcie dla tekstu, linku, podświetlenia, podkreślenia, przekreślenia i wielu innych typów adnotacji
- Tworzenie adnotacji — programowe tworzenie nowych adnotacji
- Edycja adnotacji — modyfikacja istniejących właściwości adnotacji, w tym koloru, przezroczystości i treści
- Adnotacje linków — obsługa linków wewnętrznych i zewnętrznych z obsługą akcji
Obsługa formularzy
- Akcesory do głosowego wypełniania formularzy - FocusedFormFieldValue, FocusedFormFieldName i FocusedFormFieldDetails w TPdf oraz TPdfView udostępniają wartość, nazwę i TPdfFormFieldInfo bieżącego logicznego pola formularza dla wypełniania klawiaturą lub głosem
- Typy formularzy — obsługa formularzy AcroForm i XFA
- Wypełnianie formularzy — interaktywne wypełnianie formularzy z obsługą JavaScript
- Wybór biblioteki V8 DLL — ustaw
EnableV8Engineprzed załadowaniem, aby użyćpdfium.v8.dllz odpowiedniego folderuDLLs\Win32lubDLLs\Win64, oraz sprawdzaj dostępność pomocników V8/XFA przezV8FeaturesAvailable,XfaBStrHelpersAvailableiGetRecommendedV8Flags- Dostęp do pól — odczyt i zapis wartości pól formularzy według indeksu lub pozycji
- Informacje o polach — dostęp do typu pola, flag, nazwy i innych właściwości
- Flagi pól — aktualizacja flag pól AcroForm według indeksu lub pozycji poprzez
SetFormFieldFlags/SetFormFieldFlagsAt, w tym flag tylko do odczytu, wymaganych, hasła i wyboru wielokrotnego- Spłaszczanie formularzy —
GenerateFormAppearancesregeneruje strumień wyglądu /AP dla każdego widżetu formularza na każdej stronie, aFlattenPage/FlattenAllPageswypala adnotacje i pola formularzy w statyczną zawartość strony (nieedytowalną)- Zaznaczanie tekstu widżetu formularza, schowek i Undo / Redo — na sfokusowanym widżecie AcroForm widok udostępnia
GetSelectedFormText,CopySelectedFormTextToClipboard,CutSelectedFormTextToClipboard,PasteFormTextFromClipboard,SelectAllFormTextorazFormUndo/FormRedo/FormCanUndo/FormCanRedo. Edytor obsługujeCtrl+A,Ctrl+C,Ctrl+Insert,Ctrl+X,Shift+Delete,Ctrl+ViShift+Insert; wycinanie i wklejanie odrzuca pola tylko do odczytu lub sesje bez uprawnienia form-fill lub modify- Transakcje edycji dokumentu i Undo / Redo —
BeginEditTransaction,CommitEditTransactioniRollbackEditTransactiongrupują dowolne edycje stron, obiektów, adnotacji, załączników i metadanych, podczas gdyUndoEdit,RedoEditi przenośne dzienniki edycji używają ograniczonych, weryfikowanych SHA-256 delt dwukierunkowych- Odzyskiwanie po awarii i autozapis sterowany zatwierdzeniem — pakiety odzyskiwania z sumami kontrolnymi wiążą odciski palców źródła i danych odzyskanych z ograniczonym dziennikiem edycji, podczas gdy atomowy autozapis odświeża jawny plik sidecar po zatwierdzeniu, cofnięciu lub ponownym wykonaniu, bez przepisywania źródłowego PDF
Operacje na obrazach
- Ekstrakcja obrazów — wyodrębnianie bitmap ze stron PDF za pomocą indeksowanej właściwości
Bitmap; iterujBitmapCount, aby zapisać każdy obraz na dysku- Wstawianie JPEG —
AddJpegImageprzyjmuje TStream surowych bajtów JPEG i osadza obraz jako XObject /DCTDecode bez ponownego kodowania- Obsługa Picture —
AddPictureprzyjmuje obiektTPicturez automatyczną konwersją formatu poprzez zarejestrowane klasy graficzne VCL/LCL- Bezpośrednie wstawianie obrazów —
AddImage(FileName)rozpoznaje każdy format zarejestrowany w jednostkach graficznych VCL lub LCL (BMP, PNG przez PngImage, JPG, ...) i współdzieli potok AddPicture.AddImage(TBitmap)pomija pośrednika TPicture, co upraszcza wywołujących, którzy już posiadają TBitmap z renderowania lub generowania wsadowego- Profil ICC obrazu — obiekty obrazów na stronie udostępniają osadzone dane profilu ICC, gdy są obecne (powiązanie dla
FPDFImageObj_GetIccProfileDataDecoded)- Generowanie miniatur — generowanie bitmap miniatur bieżącej strony przez właściwość
Thumbnailalbo renderowanie dowolnej strony numerowanej od 1 przezTPdf.RenderPageThumbnailbez zmianyPageNumber, z buforem LRU świadomym rewizji, ograniczonym limitemami wpisów i bajtów pikseli- Cache sparsowanej sceny strony —
TPdf.RenderPageByIndex,RenderPageThumbnailiExtractThumbnailponownie używają ograniczonych, buforowanych LRU scen stron PDFium, podczas gdy edycje stron, zmiany drzewa stron, stan formularzy i zamykanie dokumentu unieważniają nieaktualne wpisy
Jednostki pomocnicze
- Infrastruktura asynchroniczna —
FPdfAsyncłączy ustrukturyzowane kooperatywne anulowanie z usuwalnymi wywołaniami zwrotnymi i źródłami terminów, konfigurowalną dyspozycją wynikówTPdfFuture<T>oraz wielokrotnie używalnyTPdfAsyncExecutorze stałymi workerami, czterema torami priorytetowymi FIFO, ograniczonym podciśnieniem kolejki, uchwytami per zadanie, diagnostyką czasową, statystykami zbiorczymi i łagodnym zamykaniem- Adapter strumienia —
TPdfStreamAdapterłączy pascalowyTStreamz callbackamiFPDF_FILEACCESSPDFium, dzięki czemuLoadCustomDocumentodczytuje bloki na żądanie, zamiast buforować cały PDF w pamięci- Sesje pobierania progresywnego —
TPdfProgressiveDocumentutrzymuje przy życiu natywnego dostawcę dostępności PDFium, przekazuje podpowiedzi dokumentu, formularzy i stron doTPdfRangeRequestScheduler, scala brakujące zakresy, wywłaszcza transfery tła na rzecz bajtów krytycznych dla strony, ogranicza rozmiary żądań i ponowienia, anuluje zbędne transporty i otwiera zlinearyzowaną stronę, zanim cały PDF dotrze- Ograniczona inspekcja strumieni —
TPdfStreamInspectorinwentaryzuje fizyczne obiekty strumieni, udostępnia bezpieczne surowe okna i uporządkowane dekodowanie filtrów ogólnych, raportuje natywne ścieżki dostępu do obrazów i załączników oraz wymusza budżety źródła, wyjścia, słownika, liczby i wskaźnika ekspansji- Normalizacja strumieni zawartości —
TPdf.SaveAsNormalizedContenttokenizuje logiczną zawartość stron, usuwa komentarze, waliduje równowagę stanów i kontenerów, zachowuje nieobsługiwane operatory i dane obrazów wbudowanych oraz scala bezpieczne tablice/Contents- Wyjście Fast Web View —
TPdf.SaveAsLinearizedzapisuje obiekty pierwszej strony przed późniejszymi stronami, emituje dwie sekcje cross-reference i buduje tablice podpowiedzi przesunięć stron oraz obiektów współdzielonych, tak aby klient HTTP Range mógł otworzyć żądaną stronę bez pobierania kompletnego pliku- Wyjście strumieni obiektów —
TPdf.SaveAsObjectStreampakuje kwalifikujące się wartości do ograniczonych grup ObjStm PDF 1.5+, utrzymuje obiekty krytyczne dla otwarcia jako bezpośrednie i zapisuje adaptacyjne wpisy xref typu 2 dla mniejszych plików bez poświęcania dostępu swobodnego- Zapis przyrostowy brudnych obiektów —
TPdf.BeginIncrementalSaveiCommitIncrementalSaveporównują stabilne semantyczne migawki, zachowują każdy poprzedni bajt — zaszyfrowany lub nie — dziedziczą parametry zabezpieczeń R5, R6 lub R7, dołączają tylko zmienione obiekty, ścieśle otwierają każdy wynik ponownie, a przy commitach do pliku używają trwałego pliku pomocniczego wraz z atomową wymianą- Kontrola Optional Content —
TPdf.InspectOptionalContentinwentaryzuje warstwy, konfiguracje, metadane użycia, grupy radio, kolejność, blokady, polityki OCMD i wyrażenia widoczności, aSaveAsOptionalContentConfiguredzapisuje deterministyczne stany warstw, które PDFium stosuje przez swój natywny kontekst renderowania- Ograniczona pamięć robocza —
TPdfRandomAccessStoretrzyma małe dane w pamięci, raz przelewa je do prywatnego pliku tymczasowego delete-on-close przy limicie wybranym przez wywołującego i dostarcza odczyty pozycjonowane bez zmiany współdzielonego kursora;TPdf.SaveMemoryLimitstosuje tę samą politykę w postprocessingu zapisu rdzenia, podczas gdy domyślne aktualizacje Catalog dla open-action i etykiet stron używają okien o stałym rozmiarze oraz rzadkiego, leniwego indeksu obiektów- Natywne zapytanie o wersję —
TPdf.PdfVersionponownie używa stanu parseraFPDF_GetFileVersiondla semantyki nagłówka i Catalog, z jedną ośmiobajtową kontrolą nagłówka odrzucającą zniekształcone obniżenia wersji Catalog- Zestaw narzędzi geometrii macierzy —
FPdfMatrixopakowujeFS_MATRIXPDFium kompozycją post- i pre-, przekształceniami świadomymi punktu obrotu, dopasowaniem prostokątów stretch / contain / cover, diagnostyką odwracalności świadomą skali, dekompozycją, niemutującymi pomocnikami odwrotności, mapowaniem wektorów i czworokątów, partiami punktów lub prostokątów z jednej alokacji, wariantami w miejscu oraz jednoprzebiegowymi przekształconymi granicami- Anulowalne renderowanie progresywne —
TPdf.RenderPageProgressivesteruje pętląFPDF_RenderPageBitmap_Start+RenderPage_ContinuePDFium i sprawdzaIPdfCancellationTokenmiędzy iteracjami poprzez callbackIFSDK_PAUSE, dzięki czemu długie renderowanie w wysokim DPI może zostać przerwane w połowie strony, zamiast blokować do zakończenia. ZwracaTPdfProgressiveStatuso wartościprsDone,prsCancelledlubprsFailed- Ścieżka renderowania bez kopiowania —
RenderPage/RenderTile/RenderPageProgressivezapisują wyjście PDFium bezpośrednio do bufora DIB docelowejTBitmap, zamiast przechodzić przez bufor wewnętrzny, oszczędzając jedną kopię pamięci o rozmiarze szerokość × wysokość × 4 bajty na renderowanie — najbardziej zauważalne przy wysokim DPI (panele miniatur, eksport o jakości druku, eksport wsadowy). Ścieżka zapasowa per-scanline jest zachowana, gdy docelowy DIB nie może być bezpiecznie opakowany- Transformacje bitmap dla słabowidzących - InvertPdfBitmap, GrayscalePdfBitmap i DuotonePdfBitmap transformują w miejscu piksele wyrenderowanego 32-bitowego TBitmap dla widoków odwróconych, szarych lub dwukolorowych dla słabowidzących
- Podgląd niskiego kontrastu na żywo —
TPdfView.OptionsobsługujereInvertireNightDuotone, aNightDuotoneInkiNightDuotonePapersterują bieżącą nocną paletą przed narysowaniem nakładek
Operacje rysowania
- Rysowanie ścieżek — tworzenie ścieżek z liniami, krzywymi Beziera i zamkniętymi kształtami
- Usuwanie obiektów — usuwanie obiektów strony i regeneracja zawartości strony z TPdf lub TPdfView
- Wypełnienie i obrys — konfiguracja trybu wypełnienia, kolorów, przezroczystości i właściwości obrysu
- Tryby mieszania — wsparcie dla różnych trybów mieszania PDF
- Style linii — konfiguracja zakończenia linii, łączenia linii i szerokości obrysu
Podpisy cyfrowe
- Wykrywanie podpisów — wykrywanie i wyliczanie podpisów cyfrowych w dokumentach PDF
- Informacje o podpisie — dostęp do zawartości podpisu, zakresu bajtów, sub-filter, powodu i czasu
- Uprawnienia MDP — sprawdzanie uprawnień wykrywania i zapobiegania modyfikacjom dokumentu
- Analiza rewizji po podpisaniu —
AnalyzeSignatureRevisionsklasyfikuje przyrostowe zmiany oryginalnych bajtów względem DocMDP i FieldMDP, identyfikuje aktualizacje materiałów walidacyjnych oraz raportuje definicje w tle lub nierozwiązane obiekty skompresowane bez ponownego zapisywania dokumentu- Profile krzywych eliptycznych PDF 2.0 — walidacja PAdES identyfikuje podpisy NIST, Brainpool, Ed25519 i Ed448, sprawdza zbieżność krzywej z skrótem oraz parametry AlgorithmIdentifier i raportuje nieobsługiwane natywne kryptografie niezależnie od nieprawidłowych kombinacji
Obsługa załączników
- Dostęp do załączników — odczyt, tworzenie, modyfikacja i usuwanie osadzonych załączników plików
- Ograniczona ekstrakcja wsadowa —
ReadAttachmentMetadataraz inwentaryzuje załączniki, aExtractAttachmentsToStreamszapisuje po jednym zdekodowanym ładunku naraz, pod kontrolą limitów per plik, zagregowanych, limitów fragmentów oraz anulowania- Nazwy załączników — dostęp do nazw plików załączników
- Typy załączników — odczyt wartości podtypu MIME osadzonego pliku, jeśli są obecne
- Zakładki — nawigacja po zakładkach dokumentu z obsługą hierarchii poprzez tablicę
Bookmarks, pomocniki przejściaBookmarkChildren,HasBookmarkChildreniBookmarkFrom- Nazwane miejsca docelowe — dostęp do nazwanych miejsc docelowych według indeksu lub nazwy poprzez
Destination,DestinationByNameiDestinationCount- Etykiety stron — pobieranie etykiet stron dla każdej strony poprzez
PageLabel; przydatne, gdy dokumenty używają cyfr rzymskich dla stron wstępnych- Linki webowe — wykrywanie i nawigacja po linkach webowych na stronach za pomocą
WebLink,WebLinkCountiTPdfView.WebLinkAtPos- Adnotacje linków — dostęp do adnotacji linków z informacjami o akcji i miejscu docelowym poprzez
LinkAnnotation,LinkAnnotationCountiTPdfView.LinkAnnotationAtPos- Bezpieczna obsługa kliknięć linków — TPdfView wywołuje zdarzenia
OnAnnotationLinkClick/OnWebLinkClickprzed automatycznym przetwarzaniem goto / URI, przy czym akcje launch są domyślnie wyłączone. Wykrywanie kliknięcia linku działa tylko wtedy, gdy gest jest kliknięciem, a nie przeciągnięciem, używając świeżego punktu kotwicy MouseDown, dzięki czemu gesty panoramy nadal przechodzą przez istniejącą ścieżkę przewijania bez zmian
Renderowanie
- Renderowanie wysokiej jakości — renderowanie stron do kontekstu urządzenia, bitmapy lub kafelka poprzez
RenderPage/RenderTile, z zapisem bezpośrednim bez kopiowania do docelowego bufora DIB- Anulowalne renderowanie progresywne —
RenderPageProgressivesteruje pętlą progresywną PDFium i sprawdzaIPdfCancellationTokenmiędzy iteracjami, zwracającprsDone,prsCancelledlubprsFailed. Bitmapa przechowuje częściową pracę wykonaną do momentu anulowania- Równoległe renderowanie stron —
RenderPagesParallelprzechwytuje bieżący dokument raz, daje każdemu workerowi niezależnie załadowany moduł PDFium i dokument, zachowuje kolejność żądań oraz ogranicza pamięć wyjściową zatrzymaną per strona i łączną- Redakcja bezpiecznej treści —
SaveAsRedactedstosuje prostokąty/Redactdo odizolowanej migawki, zachowawczo usuwa przecinające się obiekty najwyższego poziomu strony i nakładające się adnotacje, maluje nieprzezroczyste zamienniki, usuwa osadzone załączniki i zapisuje zdezynfekowany wynik jednorewizyjny bez zmiany załadowanego dokumentu- Opcje renderowania — optymalizacja tekstu LCD (
reLcd), adnotacje (reAnnotations), skala szarości i flagi trybu drukowania- Hooki Skia — niskopoziomowe powiązania
FPDF_RenderPageSkiaiFPDF_FFLDrawSkiasą dostępne, gdy wywołujący dostarczają zewnętrzny SkCanvas (zależne od eksportów dołączonej biblioteki DLL)- Wybór trybu druku — ustawianie trybów druku PDFium EMF, tylko tekst, PostScript, pass-through, image-mask i Type 42 poprzez
SetPdfPrintModezTPdfPrintMode- Nakładka asynchroniczna — TPdfView może wyświetlać opcjonalną nakładkę ładowania, podczas gdy workery zarządzane przez aplikację renderują z oddzielnymi instancjami TPdf
- Obrót strony — obsługa obrotu o 0, 90, 180 i 270 stopni (
ro0,ro90,ro180,ro270)- Wykrywanie przezroczystości — właściwość
Transparentraportuje, czy jakikolwiek obiekt na bieżącej stronie ma przezroczystość, w tym tryby mieszania i częściową alfę
Przeglądanie (TPdfView)
- Tryby wyświetlania —
dmSingleContinuous,dmTwoPageContinuousidmTwoPageContinuousWithCover(strona okładki stoi samodzielnie, a następnie kontynuuje rozkładówkami dwustronicowymi). Pomocnik na poziomie jednostkiComputeSpreadPagesudostępnia matematykę stron rozkładówek bez tworzenia przeglądarki- Tryb dopasowania —
FitModewybiera sposób umieszczenia strony w obszarze wyświetlania:pfmNone(powiększenie ręczne),pfmActualSize(100%),pfmFitPage(cała strona mieści się w obszarze wyświetlania) ipfmFitWidth(szerokość strony pasuje do szerokości obszaru wyświetlania) ipfmFitHeight(wysokość strony pasuje do wysokości obszaru wyświetlania). Aktywny tryb dopasowania jest ponownie stosowany automatycznie przy zmianie rozmiaru i przy zmianie bieżącej strony; ustawienie Zoom bezpośrednio anuluje aktywny tryb dopasowania (FitMode powraca dopfmNone), zgodnie ze standardową konwencją przeglądarki PDF- Sterowanie powiększeniem — zmienne powiększenie z pomocnikami per-strona
PageZoom,PageWidthZoom,PageHeightZoomiActualSizeZoom- Kolor strony —
PageColoroddziela renderowane tło strony PDF od koloru otaczającej kontrolki (Color). DomyślnieclWhite, więc strony PDF są teraz renderowane jako papierowo białe niezależnie od motywu aplikacji hosta. Przeglądarki w trybie ciemnym mogą zachować ciemny obszar przewijania, jednocześnie pozostawiając rzeczywistą stronę PDF białą (lub w dowolnym kolorze wybranym przez aplikację)- Interaktywne zaznaczanie tekstu — końcowe przeciąganie myszą w celu zaznaczenia tekstu na stronach PDF, z automatycznym przełączaniem hit-testu między zaznaczaniem a panoramą: kliknięcie na znaku rozpoczyna przeciąganie zaznaczenia, kliknięcie na białą przestrzeń przesuwa. Podwójne kliknięcie zaznacza słowo, potrójne kliknięcie zaznacza linię,
Ctrl+Azaznacza stronę (obie strony w trybie rozkładówki),Ctrl+Ckopiuje jakoCF_UNICODETEXT,Shift+strzałkirozszerza zaznaczenie, najechanie nad tekst przełącza kursor nacrIBeam, a przeciągnięcie do krawędzi przeglądarki automatycznie przewija stronę. Nowe opublikowaneSelectionColoriOnSelectionChange; nowe publiczneHasSelection,SelectedText,SelectionCharCount,ClearSelection,SelectAll,CopySelectionToClipboard. Tryby wyświetlania rozkładówki zaznaczają obie widoczne strony z łączeniem CR/LF. Domyślne menu podręczne Copy prawego przycisku myszy jest automatycznie dołączane, gdy host nie przypisał własnegoPopupMenu. Zabezpieczone flagąAllowUserTextSelectionz v1.17.0 dla hostów typu kiosk- Mapowanie współrzędnych — konwersja między współrzędnymi urządzenia przeglądarki a współrzędnymi strony PDF za pomocą
DeviceToPage/PageToDevice, w tym przeciążenia przyjmująceTRecti zwracająceTPdfRectangle- Zaznaczanie tekstu i testowanie trafień — rozpoznawanie znaków pod punktami przeglądarki za pomocą
CharacterIndexAtPosi malowanie podświetleń zaznaczenia tekstu poprzezPaintSelection- Mysz i klawiatura — pełna obsługa urządzeń wejściowych z przewijaniem przez przeciąganie myszą, skróty PgUp / PgDn / Ctrl+Home / Ctrl+End oraz nawigacja po stronach kółkiem w górę / kółkiem w dół. Ctrl+kółko jest zarezerwowane dla powiększenia aplikacji i pomijane przez moduł nawigacji
- Blokada wejścia użytkownika —
AllowUserPageChangekontroluje klawiaturowe skróty stron,ChangePageOnMouseScrollingkontroluje skoki stron kółkiem, aAllowUserTextSelectionkontroluje wejście zaznaczania tekstu z myszy / klawiatury. Wszystkie trzy domyślnie ustawione na True; przełącz je na False, aby zablokować kioski, panele podglądu lub osadzenia tylko do odczytu bez tworzenia podklasy- Nakładka renderowania asynchronicznego —
AsyncRendering,LoadingTextiLoadingColorrysują mały wskaźnik „Loading..." nad renderowaną stroną, dzięki czemu aplikacje używające własnego workera do długich renderowań współdzielą spójną wizualną wskazówkę. Domyślne zachowanie jest zachowane.TPdfteraz serializuje wywołania renderowania i zwalniania stron per instancja; aplikacje nadal posiadają dyspozytora workerów i muszą unikać modyfikowania dokumentu, gdy renderowanie jest w toku- Bezpieczna obsługa kliknięć linków —
LinkOptionsjest opublikowanym zbiorem, który kontroluje automatyczne zachowanie dla czterech typów akcji linku PDF:loAutoGoto(przejście do strony),loAutoOpenURI(ShellExecute),loAutoLaunch(ShellExecute) iloAutoEmbeddedGoto(zarezerwowane). Domyślnie włączone są tylkoloAutoGotoiloAutoOpenURI;loAutoLaunchiloAutoEmbeddedGotopozostają wyłączone, aby przypadkowe kliknięcie nie mogło uruchomić dowolnego programu.OnAnnotationLinkClickiOnWebLinkClickuruchamiają się przed jakąkolwiek automatyczną akcją i umożliwiają aplikacji oznaczenie zdarzenia jako Handled lub przekierowanie go- Interakcja z formularzami — interaktywna edycja formularzy w przeglądarce oraz pomocniki zaznaczania / Undo / Redo z v1.23.0
- Stylizacja wizualna —
PageShadowSize,PageShadowColoriPageBorderColormalują opcjonalny cień pod prostokątem strony i jednopikselowe obramowanie wokół niego;SmoothScrollteraz animuje polecenia paska przewijania linii/strony w odcinkach sterowanych timerem, podczas gdy śledzenie suwaka pozostaje natychmiastowe- Nawigacja miniatur —
TPdfThumbnailView(jednostkaFPdfThumbnail) renderuje jedną miniaturę strony w każdym wierszu w przewijalnym panelu bocznym z podświetlaniem najechania i zaznaczenia oraz nawigacją po kliknięciu. Zaprojektowany do umieszczenia obok TPdfView. Właściwości:CurrentPageIndex,ThumbnailWidth,ThumbnailHeight,TextColor,HoverColor,SelectionColor,BorderColor; zdarzenie:OnPageClick
Kompresja
- Automatyczna kompresja — gdy właściwość
Compressedma wartość True (domyślnie), zapewnione jest, że wszystkie strumienie PDF są skompresowane FlateDecode podczas zapisywania- Przetwarzanie końcowe — silnik kompresji skanuje zapisane dane PDF i kompresuje wszystkie nieskompresowane strumienie przy użyciu maksymalnej kompresji zlib
- Odbudowa tablicy odwołań — automatyczna odbudowa tablicy xref, gdy kompresja strumieni zmienia przesunięcia bajtów
- Zerowy narzut — jeśli wszystkie strumienie są już skompresowane, dane przechodzą bez modyfikacji
Bezpieczeństwo
- Obsługa haseł — otwieranie dokumentów PDF chronionych hasłem
- Uprawnienia — odczyt uprawnień dokumentu i użytkownika; demo
SecurityAuditłączy uprawnienia, załączniki, JavaScript dokumentu, linki URI / Launch, podpisy, XFA i dostępność V8 w jedną powierzchnię ryzyka tylko do odczytu z akcjami zapisu raportu TXT / JSON i kopiowania TXT- Ograniczony zestaw narzędzi DER —
FPdfAsn1koduje niskie i wysokie numery tagów, typowane wartości, posortowane kolekcje SET OF oraz kanoniczne formy czasu lub ciągów; jego okna odczytu zero-copy, typowane dekodery i walidator z limitami zasobów obsługują przepływy pracy CMS, PAdES, certyfikatów i znaczników czasu- Długoterminowa walidacja specyficzna dla podpisów —
TPadesDssOptions.Vriszapisuje hashowane pośrednie słowniki VRI, podczas gdy współdzielone strumienie certyfikatów, OCSP i CRL są deduplikowane po haszu treści, a podpisywanie PAdES B-LT lub B-LTA tworzy VRI nowego podpisu automatycznie- Podpisywanie zdalne i przerywane —
PreparePadesRemoteSignatureutrwala skrót dokumentu SHA-256, dokładny ByteRange, współrzędne zastępcze i odcisk palca przygotowanego PDF dla podpisywania HSM lub chmurowego, aCompletePadesRemoteSignatureodrzuca zmodyfikowane, ponownie użyte, nadmiarowe sesje lub te z niezgodnym skrótem przed zapisem wyjścia- Analiza polityki rewizji podpisów —
AnalyzeSignatureRevisionsrekonstruuje łańcuchy rewizji klasycznych, hybrydowych i strumieni xref, stosuje DocMDP i FieldMDP per podpis, a w obliczu zmian zniekształconych, w tle, skompresowanych lub przekraczających budżet zawodzi bezpiecznie- Profile podpisów odporne na niejednoznaczność — walidacja PAdES liczy wymagane klucze wyłącznie na najwyższym poziomie słownika podpisu, odrzuca duplikaty oraz niespójne profile Sig lub DocTimeStamp i wymaga, aby ByteRange wykluczał dokładnie bezpośredni, szesnastkowy token Contents
- Eksport dowodów wielu podpisów —
BuildPadesEvidenceReportkoreluje fakty PDFium, politykę CMS, status zaufania i znaczników czasu, hasze ścieżek certyfikatów, pokrycie DSS/VRI oraz decyzje rewizyjne, z ograniczonym wyjściem JSON i CSV- Odnowienie znacznika czasu archiwalnego —
RenewPadesArchiveTimestampdołącza Document Time-stamp RFC 3161 nad dokładną, istniejącą historią podpisów, opcjonalnie najpierw odświeża kompletny DSS i waliduje wynikowy łańcuch B-LTA przed wyjściem- Asynchroniczna walidacja zaufania —
ValidatePadesTrustiValidatePadesTrustAsyncweryfikują podpisy odłączone oryginalnych bajtów, łańcuchy sygnatariusza i TSA, opcjonalne dowody odwołań online oraz tokeny znaczników czasu RFC 3161 z etapowym postępem, ograniczonym pobieraniem i kooperatywnym anulowaniem- Zaufanie kwalifikowane —
TPdfEuropeanTrustedListparsuje wyłącznie uwierzytelnione przez wywołującego listy zaufania ETSI, ponownie uwierzytelnia buforowane XML, akceptuje źródła aktualizacji dostarczane przez wywołującego i zapewnia offline'ową ocenę usług kwalifikowanych poprzezQualifiedTrustEvaluator- Usuwanie zabezpieczeń — zapisywanie dokumentów z usuniętymi zabezpieczeniami (gdy autoryzowane)
Drukowanie
- Tryby druku — wybór między trybami druku EMF, tylko tekst, PostScript Level 2 / 3, PostScript pass-through, EMF image-mask i Type 42 poprzez globalną funkcję
SetPdfPrintMode- Viewer Preferences — odczyt intencji autora dokumentu poprzez
PrintCopies,PrintPageRanges(zakresy stron liczone od 1),PrintScalingiPrintPaperHandling;SetPdfPrintPaperHandlingDevModemapuje wskazówkę duplex do WindowsDEVMODE.dmDuplex- Drukowanie N-up — dema
PrintPreferencesw Delphi, C++Builder i Lazarus pokazują kompozycję arkuszy N-up (1 / 2 / 4 / 9 stron na arkusz) z filtrowaniem stron parzystych / nieparzystych, renderowaniem w skali szarości, opcjonalnymi obramowaniami komórek o szerokości 1 piksela, preferencjami druku autora PDF i mapowaniem intencji duplex poprzezSetPdfPrintPaperHandlingDevMode
Dołączone dema
Drzewa
Demo\Delphi,Demo\CBuilderiDemo\Lazarusdostarczają uruchamialne projekty przykładowe, które ćwiczą żywą powierzchnię API we wszystkich trzech rodzinach IDE. Wybrane przykłady:
- PDFViewer / MultiPageViewer / SplitView — kompleksowe użycie TPdfView: ładowanie, nawigacja, powiększenie, obrót, rozkładówka dwustronicowa, układy z okładką oraz porównywanie PDF obok siebie w Delphi / C++Builder / Lazarus z synchronizowanymi poleceniami; dema przeglądarki są również praktycznymi testami szybkości dla wielogigabajtowych plików PDF, gdzie dokumenty o rozmiarze 2.x GB mogą osiągnąć użyteczny pierwszy widok niemal natychmiast, podczas gdy renderowanie stron pozostaje responsywne
- ViewerInteractionLab — skoncentrowane na TPdfView próbki interakcji dla Delphi, C++Builder i Lazarus dla trybów wyświetlania, trybów dopasowania, kolorów stron, obrotu, podświetlenia wyników wyszukiwania, zaznaczania tekstu, podglądu zaznaczonego tekstu, akcji schowka i informacji zwrotnej współrzędnych DeviceToPage
- SearchAndSelect — skoncentrowane próbki przepływu pracy dla Delphi, Lazarus i C++Builder dla listy wyników wyszukiwania na wszystkich stronach, nawigacji do poprzedniego / następnego dopasowania, podwójnego kliknięcia w wynik,
HighlightSearchText, wyszukiwania z dopasowaniem wielkości liter / całego słowa,AllowUserTextSelection,SelectedText,SelectAll,CopySelectionToClipboard,ClearSelectioni trybów wyświetlania rozkładówki- PreflightReport — wielokrotnie używalne obiekty
FPdfPreflightReportzbierają wyniki PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R i PDF/VT ze statusem, wagą Info / Warning / Error, wyszukiwaniem, filtrowaniem, deterministyczną agregacją, stabilnymi odciskami palców SHA-256, wyjściem TXT / HTML / Markdown / JSON / CSV oraz formatami automatyzacji SARIF 2.1.0 / JUnit XML / NDJSON / XML; dema Delphi, Lazarus i C++Builder plus przepływy konsolowe zapewniają podglądy, routing wsadowy, podsumowania, załączniki raportów i bramkowanie kodem wyjścia CI- ContentExtractionLab — ujednolicony przepływ pracy inwentaryzacji treści dla Delphi, Lazarus i C++Builder dla metadanych dokumentu, tekstu stron, obiektów stron, obrazów, załączników, linków, adnotacji, zakładek oraz metryk czcionek / znaków z eksportem TXT / JSON, wyborem wszystkich / żadnych kategorii, zapisem źródłowego PDF i akcjami kopiowania raportu
- WatermarkStamp — wielokrotnie używalny przepływ pracy Form XObject dla Delphi, Lazarus i C++Builder dla wycentrowanych znaków wodnych, stempli narożnych i etykiet numerów stron na wielostronicowym docelowym PDF
- CreatePDF — zbuduj wielostronicowy PDF od zera z tekstem, obrazami, ścieżkami, tabelami i kompozycją znaków wodnych; zawiera opcję 'European Text' do zapisu akcentowanego tekstu czeskiego / francuskiego / niemieckiego / hiszpańskiego / portugalskiego / polskiego / tureckiego w celu weryfikacji wyboru czcionek i obsługi Unicode
- ExtractText / ExtractImages / ContentExtractionLab — zapisz wyekstrahowany tekst (w tym osobne dane wyjściowe na stronę) lub osadzone obrazy na dysku; lub wygeneruj raport inwentaryzacji treści wielu kategorii w jednym przebiegu
- FormFill — odczyt metadanych pól AcroForm, zapis wartości, regeneracja wyglądu /AP i zapis edytowalnego lub spłaszczonego wyniku
- FontProperties — sprawdzanie metadanych indeksowanych znaków / czcionek poprzez TPdf i TPdfView w Delphi, C++Builder i Lazarus
- MergePDF / SplitPDF — połącz wiele źródłowych PDF (z wyborem zakresu stron per plik, opcjonalną ścieżką wyjściową, dziennikiem przebiegu, przyciskiem anulowania i podsumowaniem ukończenia łączenia) lub podziel jeden PDF na pliki wyjściowe per strona
- PDFtoJpg / BatchExport — jednorazowa lub wsadowa konwersja PDF na JPG dla wielu plików w Delphi, C++Builder i Lazarus z postępem ogólnym per plik, postępem bieżącym per strona, danymi wejściowymi DPI / jakości / hasła oraz wsadem anulowalnym kooperatywnie opartym na
IPdfCancellationToken- StandardsLab — próbki przepływu pracy dla Delphi, C++Builder i Lazarus dla walidacji PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R i PDF/VT, raportowania problemów i zapisu wyjść zorientowanych na standardy
- PrintPDF / PrintPreferences — standardowe drukowanie PDF w Delphi, C++Builder i Lazarus z podglądem, zakresami stron, kopiami, sortowaniem, postępem i anulowaniem (PrintPDF), oraz kompozycja arkuszy N-up w Delphi, C++Builder i Lazarus z filtrowaniem parzystych / nieparzystych i preferencjami druku autora PDF (PrintPreferences)
- SecurityAudit — próbki powierzchni ryzyka tylko do odczytu dla Delphi, C++Builder i Lazarus dla uprawnień, załączników, akcji JavaScript, linków URI / Launch, linków webowych, podpisów, stanu XFA, dostępności pomocników V8 / XFA oraz raportów audytu TXT / JSON
- Attachment — tworzenie plików PDF, dodawanie / lista / wyodrębnianie / usuwanie / zapisywanie osadzonych załączników plików z wyświetlaniem podtypu MIME
- ImageToPDF — wsadowa konwersja obrazów w jeden PDF dla Delphi, C++Builder i Lazarus, jeden obraz na stronę, z podglądem i postępem per obraz
Zestawy testów regresji w Delphi, C++Builder i Lazarus pokrywają 147 (Pas) / 123 (C++) przypadków współdzielących te same przykładowe pliki PDF, dzięki czemu zachowanie pozostaje wyrównane bajt-do-bajtu we wszystkich trzech rodzinach IDE
Obsługa platform
- Delphi — Delphi XE5 (RAD Studio XE5) do Delphi 13.1 Florence (RAD Studio 13.1)
- C++Builder — C++Builder XE5 (RAD Studio XE5) do C++Builder 13.1 Florence
- Lazarus — wsparcie Free Pascal / Lazarus
- Win32 / Win64 — zarówno 32-bitowe, jak i 64-bitowe platformy Windows
Wyrównane porównanie rozpoznaje wstawione, usunięte i przeniesione strony z ograniczonymi zmianami tekstu Unicode i wieloma regionami wizualnymi; nakładki czynią te zmiany eksportowalnymi
Transakcyjne scalanie nawigacji zachowuje hierarchię konspektu, style, akcje URI i przemapowane miejsca docelowe stron przez wybrane i uporządkowane importy stron
Opcjonalny OCR Tesseract dodaje przeszukiwalny tekst do zeskanowanych stron z jawną diagnostyką zależności, anulowaniem i budżetami zasobów
Transakcyjne scalanie AcroForm wybranych stron obsługuje jawne polityki nazw i izolację zasobów; opcjonalny dostawca kodów kreskowych generuje Code128, QR, DataMatrix i PDF417 oraz rozpoznaje obrazy w skali szarości