HotPDF 2.806.0 dla Delphi i C++Builder

Zadania JSON i C ABI eksportują załadowane strony jako semantyczne HTML, XHTML, XML albo JSON, a typowane tabele jako CSV, JSON albo XLSX, z przetwarzaniem wybranych stron, ograniczonym wyjściem, anulowaniem i zachowaniem źródła

Przewodnik po wyborze demo · Przykłady Delphi · Przykłady C++Builder

Wersjonowane rejestry reguł faktur obsługują jawną walidację CII XML i faktur hybrydowych z osobnymi warstwami profilu i kraju, łącznie z oficjalnymi zasobami XRechnung i francuskiego CTC przez skonfigurowany przez hosta silnik Saxon

Natywne generowanie, edytowanie, podpisywanie PDF, dane wyjściowe zgodne ze standardami, optymalizacja czcionek i obrazowanie dla aplikacji RAD Studio

HotPDF umożliwia aplikacjom VCL tworzenie, modyfikowanie, zabezpieczanie, podpisywanie, optymalizowanie, importowanie, kompresowanie i zapisywanie dokumentów PDF bezpośrednio z kodu Delphi lub C++Builder, bez wdrażania zewnętrznego środowiska uruchomieniowego PDF

Przegląd projektu

HotPDF to biblioteka komponentów PDF na poziomie kodu źródłowego dla Delphi i C++Builder. Została stworzona dla oprogramowania desktopowego, które wymaga deterministycznych danych wyjściowych PDF, bezpośredniego rysowania stron, silnej integracji z RAD Studio oraz kompaktowego wdrażania

Komponent obejmuje codzienne generowanie PDF, zaawansowane składanie dokumentów, edycję PDF, wyjście bogate w obrazy, formularze, adnotacje, szyfrowanie, przepływy pracy podpisywania, optymalizację czcionek oraz przepływy pracy oparte na strumieniach z poziomu jednego natywnego interfejsu API

Skrzynka narzędziowa załadowanych dokumentów dodaje usuwanie zakresów stron, scalanie świadome konspektu i AcroForm, ograniczenia formularzy wielu widgetów, edycję geometrii, widoczności, rotacji, obramowania i koloru, kompletną edycję adnotacji, automatyczną aktywację nagich adresów web i email, bezstanowe wyszukiwanie następnego dopasowania, kompletne typowane snapshoty konspektu, podpisywanie magazynem certyfikatów Windows, deterministyczny druk collated z odkrywaniem możliwości papieru, snapshoty Viewer pełnostronicowe, ograniczone regionem i pikselami, prefetch sąsiednich stron świadomy cache, trwałe wyróżnienia stron, zaznaczanie marquee świadome rotacji, druk bieżącego widoku, nawigację klawiaturą i kółkiem oraz komponenty przeglądarki VCL

Ostatnie wydania biblioteki rozszerzyły HotPDF z klasycznego pisarza PDF do szerszego natywnego zestawu narzędzi PDF obejmującego gate'owanie funkcji specyficzne dla wersji PDF 1.3 / 1.4 / 1.5 / 1.6 / 1.7, natywne wyjście PDF 2.0, zgodność ze standardami PDF/A-1 / -2 / -3 / -4 + PDF/X-1a / -3 / -4 + PDF/UA-1 / -2, cyfrowe podpisy PAdES baseline / extended / długoterminowej walidacji, potok podpisywania PFX / PKCS#12 w procesie z natywnym RSA i ECDSA plus opcjonalnym OpenSSL 3 dla Ed25519 i Ed448, przyrostowe aktualizacje zaszyfrowane Standardem i kluczem publicznym z zachowaniem poświadczeń, stabilnymi trwałymi ID, rotującymi ID modyfikacji, bajt w bajt zgodnymi prefiksami źródła i bajt w bajt zgodnymi zapisami no-op, podzbiory fontów CFF / OpenType / CID-keyed CFF oraz adaptery eksportu PDF dla FastReport, QuickReport, ReportBuilder i DevExpress ExpressPrinting kierujące istniejące raporty przez HotPDF jako jednolity backend PDF. Direct File API przetwarza wielogigabajtowe PDF-y z milionami obiektów plik-do-pliku — liczby stron, kopie, przepisanie informacji o dokumencie oraz szyfrowanie/deszyfrowanie AES-256 — w sekundy, a ograniczony loader odzyskiwania potrafi relokalizować nienaruszoną sekcję xref albo przebudować offsety obiektów bezpośrednich po uszkodzonych danych startxref i xref, bez ufania zagnieżdżonym tekstom przypominającym obiekty albo danym binarnym, publikując zdarzenia odzyskiwania z zakresami bajtów i jawnymi poziomami pewności

Opt-in pisarz LinearizeOutput dodaje wyjście fast web view z sekcją zależności pierwszej strony, grupowaniem obiektów współdzielonych, tabelami podpowiedzi dla stron głównych i obiektów współdzielonych oraz wczesną tabelą xref dla kompatybilności, zachowując jednocześnie docelowe plikowe i strumieniowe

Filtry strumieni załadowanego dokumentu działają przez reużywalny potok, którego ostatni etap pisze bezpośrednio do strumieni wywołującego, a etapy pośrednie przelewają przez niezależnie kompresowane bloki i ograniczoną asynchroniczną kolejkę wsadową — ze ścisłymi znacznikami końca ASCII85 i ASCIIHex, niezależnymi limitami zdekodowanych bajtów per łańcuch i per dokument, limitami liczby filtrów i głębokości potoku, wykrywaniem cykli referencji pośrednich, odrzucaniem rekurencji w tym samym strumieniu oraz ustrukturyzowanymi diagnostykami każdego sukcesu i porażki

Kodowanie predyktorem udostępnia teraz ścisłe reużywalne ścieżki TIFF oraz stałego albo adaptacyjnego PNG dla rastrów packed, 8-bit i 16-bit; obrazy z załadowanego dokumentu mogą kopiować natywne albo ogólnie zdekodowane ładunki bezpośrednio do strumieni wywołującego, a selektywna optymalizacja używa buforów przelewowych pamięć-dysk, deterministycznego baseline'u czterech strategii zlib, po którym następuje budżetowany podział bloków Zopfli, i ograniczonych równoległych zadań obrazowych zatwierdzających tylko mniejsze ładunki w kolejności źródłowej

Rekompresja JPEG i JPEG 2000 załadowanego dokumentu może prowadzić ograniczone próby jakości i wybierać deterministyczne wyjście, łącznie punktując próbkowany błąd percepcyjny i względny koszt zakodowanych bajtów, w granicach jawnych limitów błędu wizualnego i minimalnych oszczędności

Duże dokumenty lokalne używają ograniczonego okienkowego memory mappingu ze współdzielonym cache LRU dla odczytów parsera i niemutowalnych leniwych zakresów strumieni, przy czym progi mapowania i geometria okien pozostają konfigurowalne, a porażki schodzą automatycznie na fallback; surowe skompresowane zakresy, zdekodowane obrazy, skompilowane display liste i wyrenderowane strony rastrowe mają niezależne limity liczby wpisów, łącznych bajtów i przyjmowania per wpis, łączą świeżość ze starzejącym się częstotliwościowym przyjmowaniem o stałej pamięci, żeby opierać się zanieczyszczeniu skanowaniem, i wystawiają statystyki obłożenia, ruchu i częstotliwości; sprawiedliwy procesowy scheduler szczytowej pamięci opóźnia konkurujące ładowania dokumentów, rendery, optymalizacje strumieni i równoległą optymalizację obrazów, zanim ich główne working sety się nałożą, zachowując anulowanie i raportując presję przyjmowania; serializacja niezaszyfrowanych strumieni i transfery kierowane przez wywołującego piszą bajty memory, mapped-file, lazy-file, adaptive-cache i range-cache bez pośredniej pełnej kopii strumienia; krótkotrwałe tokeny i bufory parsera używają zachowanego blokowego areny między ładowaniami, proste słowniki i tablice skanują niemutowalne zakresy z bezpośrednią konwersją numeryczną i jednoprzebiegowym zagnieżdżaniem, konfigurowalne budżety bajtów, tokenów zagregowanych, wpisów kontenerów i zniekształconych tokenów stopują wrogie wejście z typowaną telemetrią, klucze słowników nie wymagają już tymczasowych obiektów nazw, a powtarzane nazwy, operatory treści i niemutowalne krótkie stringi współdzielą ograniczoną pulę w zakresie dokumentu; zmodyfikowane strumienie załadowanego dokumentu używają LoadedStreamMemoryThreshold do wyboru pamięci albo należnego, skompresowanego strumienia tymczasowego, którego surowe i skompresowane bloki współdzielą ograniczoną asynchroniczną kolejkę zapisu; członkowie object-stream są indeksowani numerem obiektu i parsowani dopiero przy referencji, podczas gdy LoadFromRandomAccessSource podpina czytniki zakresów HTTP i własne magazyny, koaleskuje sąsiednie odczyty przez ograniczony cache, adaptacyjnie rośnie z asynchronicznym read-ahead przy trwałym parsowaniu w przód, tłumi transport spekulatywny po losowych skokach, kooperatywnie anuluje pracę w locie dla pierwszoplanowych seeków, odzyskuje klucze haseł z ograniczonych zakresów trailera, xref, ID dokumentu i słownika szyfrowania bez żądania kompletnego źródła, przechwytuje dokładne binarne wpisy handlera bezpieczeństwa z autorytatywnego offsetu obiektu, tak że odroczone deszyfrowanie nie wymaga ponownego czytania źródła, wystawia pierwszą stronę zlinearyzowaną z samowystarczalnego prefiksu i planuje ograniczone, minimalne zakresy bootstrap, podpowiedzi, stron, obiektów współdzielonych i cross-reference dla dowolnej późniejszej strony, akceptując legalne krótkie odczyty oraz oba układy podpowiedzi — interoperacyjny i Annex F — pod ścisłymi limitami pamięci i struktury

Mapowane pliki lokalne adaptują się teraz w skonfigurowanym limicie bajtów: trwałe odczyty w przód używają większych widoków, żeby ograniczyć remapowanie, trwałe odczyty odległe albo wstecz zachowują do 16 mniejszych widoków MRU, zmiana trybu wymaga powtarzalnych dowodów, a THPDFMappedFileStatistics raportuje aktywną geometrię, szczytowe mapowane bajty, liczniki wzorców dostępu i przejścia

HotPDFABI.dll wystawia wersjonowane płaskie C ABI ze strukturami callback Win32 i Win64 sprawdzanymi pod układem, walidowanymi uchwytami opaque, stałymi kodami statusów, 64-bitowymi odczytami random-access prosto do buforów parsera, retryowalnymi zapisami strumieniowymi, jawnymi długościami w bajtach, anulowaniem, postępem i diagnostyką; build-HotPDF-ABI.cmd produkuje DLL i bibliotekę importu dla każdej platformy

Operacje dokumentowe JSON i C ABI współdzielą odkrywanie możliwości, renderowanie, tekst Unicode i formularze, warstwy OCR, redakcję, podpisywanie PFX i ograniczoną rastrową konwersję archiwalną PDF/A-4 przez wersjonowany schemat, budżety zasobów, rollback callbacków i atomowe wyjście plikowe; żądania archiwalne jawnie akceptują utratę informacji i zachowują załadowane źródło

Typowane JSON runy rich-text w Windows i Linux akceptują jawne wysokości linii normal, numeric, point, percentage i em z ograniczonymi wyliczonymi metrykami, przyjmowaniem fontu rodzica i transakcyjnymi zapisanymi wyglądami; Linux odrzuca runy rich w polach nietekstowych i zachowuje dokładne źródłowe bajty dla niezmienionych wypełnień wyłącznie rich

Natywny rich text i zaimportowane inline CSS zachowują jawną wysokość linii, dziedziczone współczynniki, wyliczone długości i metryki fontu rodzica przez zawijane linie, zapisane wyglądy i pola tylko do odczytu; natywne rekordy, plikowe joby Windows i callbacki oraz importy JSON FDF/XFDF w Linuksie współdzielą ograniczone przyjmowanie fontów i planowanie bezpieczne dla anulowania

Legacy pola XFA text, numeric, date i password tworzą prawdziwe wyglądy fontów Unicode z efektywnymi stylami instancji, edytowalnymi zasobami fontów i adopcją bezpieczną dla anulowania; wyglądy haseł liczą znaki z płaszczyzny uzupełniającej jako pojedyncze skalary Unicode

Natywne próbkowane funkcje kolorów wspierają ograniczoną wielowymiarową interpolację sześcienną z istniejącą konwencją czterech węzłów, liniowym fallbackiem w krótkim wymiarze, spakowanymi próbkami i anulowaniem przy wyliczaniu tonacji i cieniowania

Natywne renderowanie JPEG 2000 w Cairo przyjmuje precyzję źródła ze znakiem i bez znaku do 26 bitów, mieszane głębokości komponentów, subsampling i krycie oraz respektuje semantykę deklaracji obrazu JPX przez natywne API Windows i Linux

Buildy Free Pascal wymagają FPC 3.3.1 albo nowszego na każdej platformie; bieżąca akceptacja zapisuje rzeczywistą kompilację, a istniejące wyniki starszych kompilatorów pozostają historycznym dowodem

Natywne backendy FPC dostarczają TIFF, JPEG/JPX, ICC, JBIG2 i Zopfli przez zwalidowany most kodeków Windows, razem z rzeczywistym równoległym renderowaniem stron, stron uporządkowanych, kafli, pasów i kafli JPEG 2000

Detektywistyczne probki deterministycznej regresji różnicowej porównują nazwane silniki w domenach parse, render, text i save, powtarzają każdy wynik, żeby wykryć niestabilność, izolują wyjątki, egzekwują limity wejścia i wyjścia, dostarczają wbudowane odciski SHA-256 HotPDF i emitują uporządkowany schemat JSON hotpdf.differential.v1

Natywny statystyczny harness regresji wydajności izoluje workloady ładowania, zapisu, renderowania i ekstrakcji na Win32 i Win64, zapisuje rozgrzewki plus 30 surowych próbek z p50, p95, wariancją próbki, RSS, I/O procesu, deterministyczną tożsamością fixture i metadanymi środowiska oraz failuje względem wersjonowanych progów JSON

Ciągły magazyn korpusu zniekształconych PDF-ów rewwaliduje i ponownie minimalizuje każdy przypadek porażki w konfigurowalnych granicach, trzyma najmniejsze wejście równoważne sygnaturą między uruchomieniami, serializuje konkurujących pisarzy procesowo bezpieczną blokadą i atomowo publikuje PDF-y adresowane SHA-256 oraz pliki metadanych hotpdf.corpus.case.v1

Ujednolicona telemetria operacji rozdziela rezerwację schedulera i opóźnienie kolejki, czas ścienny od czasu CPU bieżącego wątku, przenośną pamięć zatrzymaną przez komponenty od próbkowanego working set procesu oraz zakodowane wejście od finalnego zdekodowanego wyjścia, a przy tym raportuje szczytowe dodatkowe żywe alokacje, delt bajtów I/O procesu, aktywność cache, zagregowaną pracę filtrów i ekspansję dekodowania

Ograniczone deterministyczne logi replay przechwytują punkty kontrolne anulowania, dostępność zakresów random-access i wyniki callbacków boolean/integer w uporządkowanym schemacie JSON; ścisły replay waliduje każdą sygnaturę zdarzenia i podstawia zarejestrowane decyzje, dzięki czemu przerywane zewnętrzne timowanie i zachowanie callbacków można odtworzyć bez zmiany operacji na dokumencie

Ładowanie świadome rewizji waliduje teraz listy wolne xref i przejścia generacji, zachowując ograniczone szczegóły dla zduplikowanych i zacienionych definicji obiektów; destrukcyjne edycje przyrostowe scalają istniejące i nowo uwolnione obiekty w kompletny deterministyczny łańcuch wolny, podnoszą generacje z saturacją, zachowują generacje obiektów brudnych i wystawiają statystyki przebudowy; jawne stany obiektów clean, dirty, released i must-write wspierają małopamięciowe uwalnianie cache object-stream po zapisie, a deterministyczna kolejność słowników, strumieniowane wersjonowane snapshoty JSON grafu obiektów i aktualizacje przyrostowe, naprawa dokumentów

Przeszukiwalne warstwy tekstu OCR łączą rozpoznawacz wybrany przez aplikację z ograniczonym renderowaniem stron, walidują pewność, Unicode i geometrię pikseli, odwracają rotację strony dla wyrównanego niewidzialnego tekstu, opcjonalnie wiążą wyjście z jednym OCG i zatwierdzają każdą wybraną stronę jedną transakcją grafu; oznaczone warstwy OCR HotPDF można bezpiecznie zastąpić po zapisaniu i ponownym załadowaniu, sąsiadujące słowa łacińskie i cyrylickie dostają jawne spacje Unicode, a konsolowy przykład SearchableOCR generuje próbki skanów i konwertuje wybrane strony wbudowanym OCR, RapidOCR albo silnikami Tesseract DLL/CLI, z konfigurowalnymi limitami i statystykami konwersji

Wbudowany silnik OCR rozpoznaje tekst ASCII — zwykły, pogrubiony, kursywę i pogrubioną kursywę — łącznie z wyblakłym drukiem i jasnym tekstem na przeważnie ciemnej stronie; wyrazy z niepewnymi zachowanymi glifami są pomijane w całości, żeby nie gubić znaków po cichu

Wstępne przetwarzanie skanu i ustrukturyzowany OCR dodaje oparte na dowodach orientację stron, deskew o ciągłych kątach, czyszczenie ramek i cieni, jawną rektyfikację perspektywy, odwracalną geometrię rastra/strony oraz semantyczne wyjście tekst/DOM przez silnik OCR wybrany przez aplikację

Opcjonalny adapter natywnej biblioteki DLL Tesseract dostarcza konfigurowalną segmentację strony i tryby silnika, wielojęzyczne rozpoznawanie Unicode, pewność, granice słów i linie bazowe przez HPDFCreateTesseractDLLOCREngine w kompilacjach Delphi, C++Builder oraz Windows FPC/Lazarus

Lokalny adapter CLI Tesseract przyjmuje też THPDFTesseractOptions dla layoutów pojedynczej linii, pojedynczego słowa, sparse-text i bloku pionowego, z jawnym trybem silnika, timeoutem i limitami pikseli wejścia; natywny adapter DLL używa kierunku linii bazowej, żeby długość pionowego słowa nie zawyżała rozmiaru tekstu przeszukiwalnego

Adapter lokalnych modeli RapidOCR dodaje jawne ścieżki modeli ONNX, opcjonalną klasyfikację kątową, lokalne słowniki i fonty, kontrolę wątków CPU, offline'owy preflight oraz ograniczone rozpoznawanie Unicode przez THPDFRapidOCROptions w kompilacjach Delphi, C++Builder oraz Windows FPC/Lazarus

Adapter natywnej biblioteki DLL RapidOCR trzyma modele ONNX na CPU w ramach procesu i rozpoznaje snapshoty pamięci przez HPDFCreateRapidOCRDLLOCREngine, z presetami THPDFRapidOCRDLLOptions.ForLanguage dla chińskiego uproszczonego i tradycyjnego, angielskiego, japońskiego, koreańskiego, rosyjskiego, popularnych języków łacińskich, arabskiego i hindi, ze zweryfikowanymi lokalnymi pakietami modeli, poziomą kolejnością czytania, opcjonalną klasyfikacją kątową, tekstem Unicode, ograniczonym wyjściem i kooperatywnym anulowaniem w kompilacjach Delphi, C++Builder oraz Windows FPC/Lazarus

Opcjonalne adaptery lokalne Tesseract i RapidOCR dostarczają anulowalnego OCR chińskiego z jawnymi ścieżkami wykonywalnych i modeli; Zadania OCR JSON i C ABI wystawiają adaptery CLI i DLL przez jawne ustawienia silników i ograniczone wyjście przeszukiwalnego PDF; wbudowany silnik domyślny pozostaje bez zmian, a zewnętrzne silniki, pakiety Pythona, modele i lokalna zależność RapidOCR od Arial muszą zostać zaopatrzone osobno

OCR waliduje lokalne kodowanie TSV i natywne kontrakty tensora detekcji przed użyciem wyników, liczy odrzucone słowa wobec międzystronicowych limitów rozpoznawania i zatrzymuje się atomowo, gdy pozostały budżet nie może pokryć kolejnej kwalifikującej się strony

SetLoadedFreeTextPlainText jawnie zamienia appearance obsługiwanej adnotacji FreeText z załadowanego dokumentu na wyrównany do lewej tekst ASCII Helvetica dla przepisania albo zapisu przyrostowego, a SetLoadedAnnotationContents zmienia tylko przechowywaną treść

SetLoadedFreeTextText przebudowuje wyglądy załadowanego tekstu Unicode i sformatowanego FreeText z osadzonymi fontami, zawijaniem, wyrównaniem, nieprzezroczystością, rotacją i atomową obsługą przepełnienia; SetLoadedFreeTextRichText aktualizuje teraz zarówno widoczny wygląd, jak i przechowywaną treść

Dekodowanie kodów kreskowych ze strony załadowanego dokumentu renderuje kompletną stronę albo region wewnątrz media box w progresywnych ograniczonych plasterkach, pożycza każdy rastr oryginalny albo obrócony o ćwierć obrotu dekoderowi wybranemu przez aplikację, waliduje Unicode, surowe bajty, pewność i granice, odwraca rotacje rastra i strony do przestrzeni użytkownika PDF i deduplikuje nachodzące ładunki

Detekcja redakcji z przeglądem łączy wbudowane wzorce PII świadome sum kontrolnych z detektorami encji i twarzy wybranymi przez aplikację, mapuje każde zaakceptowane pokrycie albo prostokąt rastra do przestrzeni strony PDF, startuje każde znalezisko jako oczekujące i atomowo scenkuje tylko znaleziska z jawną aprobatą i tożsamością recenzenta, bez wypalania treści

Przepisywanie kolorów strony załadowanego dokumentu konwertuje wybrane farby do DeviceGray, DeviceRGB albo DeviceCMYK, zachowuje zwykły tekst i ścieżki w kolorach urządzenia jako przeszukiwalne wektory, renderuje obrazy, Formy, wzory, cieniowania, transparency, ICC i kolor Type 3 przez jeden bezstratny obraz procesu, gdy trzeba, domyślnie chroni strony z kolorami spot i atomowo zatwierdza kompletną ograniczoną partię

Ustrukturyzowany eksport stron załadowanego dokumentu zapisuje wybrane strony jako UTF-8 HTML, XHTML, XML albo JSON z jednego dostępnego modelu czytania, preferując kolejność otagowaną i zachowując język dokumentu i tytuł, nagłówki, listy, tabele, figury, alternatywy, konspekt, etykiety stron, bezpieczne linki, adnotacje i niez wrażliwe kontrolki formularzy w ramach atomowego anulowania i budżetów bajtów

Typowane ekstrakcje tabel konwertuje wykrytą geometrię tabeli do publicznego kanonicznego grida, łączy kompatybilne fragmenty i sąsiednie strony, oznacza powtarzane nagłówki i scalone zakresy kolumn, wnioskuje wartości integer, number, boolean, date, date-time, currency i percentage sterowane locale, z pewnością, i atomowo zapisuje ograniczone CSV albo JSON bogaty w metadane

Opcjonalne handlery dokumentów rozpoznają XPS, EPUB i CBZ z inspekcjonowanej treści, zachowują kolejność stałych stron, spine albo naturalną kolejność obrazów, konwertują skrócone ścieżki XPS oraz jednolite pędzle property-element, wielostopniowe liniowe albo eliptyczne radialne gradienty na natywne wektory PDF i wzory cieniowania, wypełniają ścieżki z cacheowanych zasobów ImageBrush JPEG, PNG, TIFF albo JPEG XR pakietu z ograniczonym mapowaniem viewbox i viewport, transformacjami lokalnymi pędzla, natywnymi wzorami obrazów powtarzanych albo odbitych i alfą miękkiej maski PNG, nakładają jednolite, gradientowe albo obrazowe wartości Path.OpacityMask przez złożoną alfę albo współdzielone grupy transparency DeviceGray, składują nachodzących potomków Canvas raz przez izolowane grupy DeviceRGB dla Opacity i Canvas.OpacityMask, kompilują drzewa XPS VisualBrush inline albo z zasobów w reużywalne Form XObject i ograniczone wzory kafelkowe, mapują ograniczoną, stransformowaną i ustrukturyzowaną geometrię Canvas.Clip na zagnieżdżone natywne ścieżki clipowania PDF, zachowują ograniczone klastry XPS Glyphs, dokładne programy fontów pakietu i glyph ID, jawne przesunięcia, offsety, originy RTL, nieprzezroczystość, reużycie zasobów, ekstrakcję Unicode oraz nawigację HTTP, HTTPS, mail, stron pakietu i LinkTarget ze stransformowanych adnotacji PDF z clipowaniem, dziedziczą nawigację w zakresie Canvas przez wizualia potomne z zagnieżdżonymi nadpisaniami, emitują pozycjonowane przebiegi TJ, egzekwują wspólne budżety archiwów, zasobów, reflow, stron, linków, URI, geometrii, treści grup, pikseli, wyjścia i anulowania oraz reużywają jeden niemutowalny cache PDF dla atomowego eksportu i renderowania

Zdalne podpisywanie CSC łączy istniejący potok providera CMS z usługami CSC API v2 przez transport HTTP należący do aplikacji, z odświeżaniem OAuth, odkrywaniem łańcucha poświadczeń, dokładną obsługą SAD przypiętą do hasza, ograniczonymi uporządkowanymi partiami multisign, podpisywaniem synchronicznym albo asynchronicznym, ograniczonym odpytywaniem, znacznikami czasu RFC 3161, anulowaniem, kluczami idempotencji SHA-256 content-addressed i skończonym cache ukończonych operacji

Zagnieżdżone transakcje grafu obiektów copy-on-write robią snapshot każdego dotkniętego korzenia pośredniego raz na savepoint, zachowują adresy korzeni podczas rollbacku, przywracają alokację numerów obiektów, usuwają dopisane korzenie, przelewają dużą historię strumieni poza konfigurowalny próg i wystawiają statystyki snapshotów rezydentnych i plikowych

Reużywalne elementy layoutu wspierają pomiar bez efektów ubocznych, zweryfikowane głowy podziałów i należące do elementu kontynuacje przepełnienia dla akapitów, wierszy, kontenerów i własnej treści; deklaratywne callbacki stron komponują tła, nagłówki, treść dokumentu, stopki i pierwsze plany w stabilnej kolejności, a nieograniczone raporty zachowują plikowe scenkowanie stron, ograniczenia akapitów, ograniczone diagnostyki, helpery semantyczne i kontrolę kierunku bidi

Renderowanie stron załadowanego dokumentu wykonuje kolorowe i bezkolorowe wzory kafelkowe plus cieniowania axial, radial, free-form i lattice Gouraud, Coons patch i tensor-product patch dla wypełnień i kresek, honoruje macierze wzorów w domyślnym układzie współrzędnych nadrzędnej treści, obsługuje wszystkie trzy typy kafelkowania i kroki ze znakiem, izoluje ścieżkę każdej komórki, nakłada bezkolorowe bazowe tinty do operacji wypełnienia i kreski oraz ogranicza rekurencyjną głębokość wzorów, wykonanie kafelków, dekodowanie siatek i adaptacyjną teselację dla wrogich zasobów

Produkcyjne bitmapy, bezpośrednie DC, replay Form i display list współdzielą teraz jeden interpreter tokenów treści z anulowaniem per operator; skompilowane display liste cache'ują indeksy operatorów dla replayu bez skanowania operandów i wystawiają liczbę poleceń przez THPDFPageDisplayList.OperatorCount i THPDFDisplayListInfo.OperatorCount, a renderer zachowuje swoją kompletną maszynę stanów grafiki i zasobów

Izolowane i knockout grupy transparency renderują przez ograniczone kafle 768 pikseli z ciągłością absolutnych współrzędnych urządzenia, kaflo-localnym przechowywaniem alfy i miękkiej maski, jednoprzebiegowym dekodowaniem i tokenizacją Form, deterministycznym przywracaniem stanu zagnieżdżonych grup i statystykami szczytowego working set dostępnymi przez GetLastTransparencyGroupTileStats

Opt-in proofing overprint zachowuje płyty procesowe, których farba nie nazywa, nakłada ochronę zerowych komponentów /OPM 1 dla DeviceCMYK, traktuje DeviceGray jako czarną płytę procesową i łączy tinty spot Separation i DeviceN przez ich alternatywne transformacje kolorów

Powtarzane glify Type 3 reużywają ograniczonych display list CharProc kluczowanych fontem, glifem, macierzą liniową i stanem koloru, unikając powtarzanego dekodowania i tokenizacji strumieni przy zachowaniu translacji, clipowania, zagnieżdżonych zasobów, reguł kolorów d0/d1 i limitów rekurencji

Progresywne sesje stron załadowanego dokumentu dekodują kwalifikujące się progresywne obrazy DCTDecode po jednym skanie na ograniczoną kontynuację dla wcześniejszych widocznych podglądów, wystawiają liczniki skanów i obrazów przez THPDFLoadedPageRenderSession i dostarczają anulowalnych powiadomień THPDFProgressiveJPEGScanEvent, zachowując fallback do pełnego obrazu dla niewspieranego stanu farby albo porażek dekodowania

Progresywne sesje regionów alokują tylko żądane okno przestrzeni użytkownika, zachowują stan grafiki i tekstu między ograniczonymi kontynuacjami, używają konserwatywnych granic display list do wycinania niepowiązanych ścieżek, tekstu, obrazów, Form i cieniowań oraz wystawiają liczniki widocznych i wyciętych farb dla telemetrii

Dekodowanie JPEG 2000 waliduje pojedyncze kafle codestream, łączy rekonstrukcję regionu źródłowego i resolution-of-interest i współbieżnie dekoduje niezależne widoczne kafle z prywatnym stanem kodeka, anulowaniem, limitami workerów CPU i użytkownika, deterministyczną kompozycją i automatycznym fallbackiem budżetu pamięci szczytowej

Trafienia cache obrazów załadowanego dokumentu zwracają teraz niemutowalne zdekodowane uchwyty bitmap z licznikiem referencji, które przeżywają eksmisję i zniszczenie dokumentu, wspierają bezpieczne wątkowo bezpośrednie rysowanie, zachowują na żądanie izolowane mutowalne kopie i eliminują powtarzane kopie pikseli z ciepłych ścieżek renderera

Równoległe renderowanie stron załadowanego dokumentu nakłada teraz kompilację display list na playback w dynamicznie wyważanych workerach, kompiluje niepowiązane strony poza blokadą cache, zaczyna wyjście przed skompilowaniem pełnego zestawu wejść, zachowuje kolejność wejść i raportuje telemetrię współbieżności etapów, użycia cache, ukończeń i opóźnień przez THPDFParallelRenderPipelineInfo; RenderLoadedPagesParallelOrdered dodaje callbacki wątku wywołującego z ograniczoną kolejką ukończonych bitmap, backpressure okna uporządkowanego, kooperatywnym anulowaniem callbacków i pożyczonymi czasami życia bitmap dla zadań, których kompletnego wyjścia rastrowego nie wolno trzymać rezydentnie

Oba równoległe API stron używają teraz procesowego schedulera szczytowej pamięci, żeby redukować żądanych workerów z konserwatywnych estymat stron, rezerwować każdą zgłoszoną stronę, sprawiedliwie opóźniać pracę pod presją i raportować współbieżność wyliczoną z pamięci, szczytowe zarezerwowane bajty, przyjęcia, opóźnienia i czas oczekiwania; uporządkowane callbacki trzymają rezerwacje wyjścia aktywne do zwolnienia bitmapy, więc zakolejkowane rastry i aktywne workery dzielą jeden budżet

RenderLoadedPageTilesParallel i RenderLoadedPageBandsParallel przepuszczają jedną stronę przez izolowane workery z dostawą kafli wierszowo albo pasów od góry do dołu, pożyczonymi czasami życia bitmap, kooperatywnym anulowaniem, pamięcią in-flight kontrolowaną przez wywołującego i ograniczonym niemutowalnym cache sekwencji tokenów glifów Type 3 i ekranów progowych halftone

SaveLoadedPageToPng, SaveLoadedPageToPngStream, SaveLoadedPagesToTiffBanded i SaveLoadedPagesToTiffStreamBanded podają ten sam renderer pasów do strumieniowych enkoderów PNG albo TIFF, emitując skompresowane wiersze bez pełnego framebuffera i raportując telemetrię pasów, wierszy, workerów, pamięci, wyjścia, timingu i anulowania

Podmienialne backendy renderowania stron załadowanego dokumentu otrzymują skompilowane display liste i dostęp do zasobów dokumentu, deklarują możliwości współbieżności i zarządzania kolorem, uczestniczą w renderowaniu synchronicznym i równoległym, unieważniają stare cache rastrów przy wymianie i wystawiają deterministyczne statystyki porażki, fallbacku i wykonania; wbudowany natywny backend GDI zachowuje istniejące wyjście, nie przypisując sobie akceleracji urządzenia

Prefetch stron załadowanego dokumentu kompiluje i renderuje teraz poza blokadą cache z kooperatywnymi punktami kontrolnymi anulowania, natychmiast ustępuje pierwszoplanowemu renderowaniu stron i raportuje postęp żądania, użycie cache, porażki, liczniki preempcji i opóźnienie anulowania przez THPDFLoadedPagePrefetchInfo

Pierwszoplanowe renderowania z cache przejmują swoją zwykłą rezerwację pamięci przed nałożeniem istniejącej kopii bitmapy na anulowanie prefetchu, zachowują ścisłą kolejność chybień i dokładną telemetrię operacji oraz sprawdzają ponownie anulowanie po oczekiwaniu na rezerwację albo blokadę cache

Walidacja grafu segmentów JBIG2 sprawdza teraz zarówno strumienie obrazów, jak i globalne przed dekodowaniem natywnym albo zewnętrznym, odrzuca zniekształcone zależności i niepoprawną organizację osadzoną w jawnych budżetach segmentów, krawędzi, głębokości i symboli oraz blokuje niepoprawne słowniki współdzielone przed wejściem do cache globals

Seryjne kodowanie JBIG2 trenuje teraz symbole na kompletnym zestawie stron przez zewnętrzny backend statyczny, współdzieli jeden globalny słownik między wszystkie image XObject, zwija dokładnie zduplikowane strony, schodzi na natywny akumulator, gdy to dozwolone, i publikuje telemetrię backendu, rozmiaru, symboli i budżetu

Renderowanie wektorów i obrazów oparte na ICC nakłada kompletne potoki kolorów źródłowy, proof, output i sRGB z wybieralnym rendering intent i kompensacją black point, a wątkowo bezpieczny ograniczony cache LRU reużywa transformacje między instancjami dokumentów i rendererów

Rekompresja obrazów załadowanego dokumentu i downsampling efektywnego DPI zachowują skalibrowane definicje wyjścia, a spłaszczanie transparency emituje skalibrowane RGB i zachowuje strony Separation albo DeviceN jako treść wektorową zamiast wyrzucać tożsamość koloru spot

Akcje obliczania i walidacji AcroForm załadowanego dokumentu mogą używać ograniczonego typowanego podzbioru wyrażeń z booleanami, liczbami, stringami, null, undefined, tablicami, operatorami warunkowymi i short-circuit, deterministycznymi datami UTC oraz dopuszczonymi helperami string, tablic, konwersji i Math, podczas gdy nieobsługiwany aktywny skrypt failuje na zamkniętym, bez startowania silnika JavaScript

Opcjonalne wiązania runtime QuickJS wykonują szerszy JavaScript kontrolowany przez aplikację przez statyczne obiekty albo mostek DLL neutralny ABI na Win32 i Win64, z konfigurowalnymi limitami pamięci, stosu, skryptu, czasu i przerwań plus jawnymi semantykami statusu i odzyskiwania

Skryptowanie formularzy XFA rozszerza ograniczony FormCalc o logikę warunkową, powtarzalne tablice numeryczne i walidowane callbacki instancji, a jawnie włączona piaskownica QuickJS dodaje pełny przepływ sterowania i natywne tablice typowane, bez wystawiania obiektów plikowych, procesowych, przeglądarkowych i sieciowych; interaktywny runtime dynamicznego XFA dodaje neutralny dla hosta fokus, edycję Unicode, hit testing, walidację i obliczenia świadome instancji, atomowy rollback i ograniczony reflow bez spłaszczania

Natywne okna selekcji list XFA używają rzeczywistych metryk linii osadzonych fontów, by utrzymać widoczność zaznaczonych opcji, zapisują indeks top z kompletnymi tablicami opcji i wartości oraz zachowują zmiany fontów powtórzonych instancji i rollback zdarzeń z ograniczonym przygotowaniem widocznych glifów

SanitiseLoadedDocument nakłada na załadowane PDF-y polityki JavaScript-only, active-content albo strict dla dokumentów niezaufanych, usuwa nieosiągalne obiekty ładunków, kompaktuje żywe numery obiektów i bezpiecznie przepisuje w miejscu przez atomową wymianę pliku

Preflight JSON, HTML i findings w stylu veraPDF wystawiają stabilne nazwane przestrzennie identyfikatory reguł i ustrukturyzowane lokalizacje PDF z logicznym zakresem, ścieżką, kluczem i dokładnymi współrzędnymi obiektu, strony albo bajtu, gdy są dostępne, podczas gdy kompatybilność text i CSV pozostaje bez zmian

Reużywalne polityki walidacji łączą teraz preflight strukturalny ze ścisłymi albo WTPDF wymogami przyjęcia, wydobywają kanoniczne metadane deklaracji i claim, przepuszczają uporządkowane partie plików przez ograniczone limity workerów i kolejek, zachowują błędy świadome źródła i oferują tryby inspect, add-missing oraz synchronize dla naprawy XMP niezależnie od naprawy strukturalnej PDF

Przyjęcie Factur-X i ZUGFeRD sprawdza teraz krzyżowo typ MIME głównego załącznika faktury i nazwy FileSpec względem rejestracji EmbeddedFiles i Catalog AF, wystawia zdekodowany typ MIME i URI namespace XMP oraz odrzuca niepasujące typy dokumentów XMP albo namespace rozszerzeń

Wbudowana walidacja reguł biznesowych e-faktur wykonuje wszystkie kontrole Schematron specyficzne dla profilu ze zweryfikowaną kompatybilnością XPath 2, zewnętrznymi bazami kodów, stabilnymi identyfikatorami reguł, jawnymi błędami ewaluacji, bezpiecznym parsowaniem XML i fail-closed werdyktami łącznymi

Zadania przyrostowego podpisywania zachowują poprzednie podpisy i wypełniają istniejące pola przez poświadczenia PFX, a zadania porównania dwóch dokumentów wystawiają sześć trybów porównania i dwustronne artefakty przeglądu umów JSON, HTML oraz annotated-PDF przez wersjonowane JSON i niezmienione layouty ABI v1

Natywne wyglądy AcroForm Unicode wypełniają wspierane jednowierszowe pola prawdziwym osadzonym TrueType, dokładnymi szerokościami glifów, mapowaniem CID-to-glyph i uzupełniającym ToUnicode, aktualizują każdy widget transakcyjnie, zachowują zabezpieczenia AES i renderują się spójnie przed i po atomowym zapisie

Wersjonowane natywne C ABI Linux dostarcza rzeczywiste operacje tekstu, formularzy, PNG i szyfrowanego podpisywania przez ograniczone callbacki; prawdziwi klienci C i Python działają na Ubuntu 24.04, Ubuntu 26.04 i Debian 12, w tym współbieżne użycie uchwytów, anulowanie i rollback po błędach

Natywne renderowanie PDF-do-PNG w Linuksie używa powierzchni CPU Cairo/FreeType i współdzielonej ograniczonej interpretacji zawartości dla ścieżek, tekstu, obrazów, Forms i istniejących wyglądów adnotacji, z kanonicznymi posunięciami standardowych fontów, kooperatywnym anulowaniem, ochroną źródła i atomową publikacją PNG

Natywne headless podpisywanie PDF wypełnia istniejące niepodpisane pole podpisu, zachowuje oryginalną rewizję i zabezpieczenia AES-256, weryfikuje wynikowy CMS/CAdES względem dokładnych bajtów pliku i atomowo publikuje prawdziwy przyrostowo podpisany PDF z jawnych poświadczeń PEM

Natywne headless CMS strumieniuje współdzielone segmenty ByteRange przez OpenSSL 3, weryfikuje istniejące rewizje podpisów PDF, generuje odłączone CMS/CAdES z jawnych poświadczeń PEM i odróżnia integralność od jawnego zaufania do CA

Natywne headless zabezpieczenia AES-256 otwierają dokumenty R5/R6 hasłami użytkownika lub właściciela, uwierzytelniają zaszyfrowane uprawnienia, deszyfrują skompresowane obiekty i zawartość oraz publikują zaszyfrowane przyrostowe wartości formularzy, zachowując oryginalny prefiks źródła na Linuksie i Windows

Dynamiczna prezentacja instancji XFA wspiera ograniczone zdarzenia warunkowe, jawne powtórzone bindowanie danych, niezależną obecność i dostęp, stabilne trwałe tożsamości, malowanie host canvas i rekordy dostępności; ten helper interpretuje własne rozszerzenie pakietu formularza, które zewnętrzne czytniki XFA nie stosują automatycznie

Ograniczona edycja akapitów przepływa wybrany tekst przez linie bazowe i wspierane wspólne wywołania Form z jawną kontrolą fontów i prostokątów, konserwatywnymi raportami kolizji, zaplombowanym podglądem, commit i rollback; powtórzone zapisy zachowują zserializowany edytowany graf

Version 2.825.0: Podpisywanie zaszyfrowanych dokumentów przez joby Windows JSON i C ABI z zachowaniem oryginalnych rewizji, ustawień zabezpieczeń AES, ID dokumentów i uprawnień podpisów

Version 2.826.0: Odczyt i zapis zaznaczeń choice o wartościach tablicowych Unicode, utrzymanie posortowanych indeksów opcji i generowanie pasujących wyglądów dla zaznaczeń list widocznych i przewiniętych

Version 2.827.0: Wykonywanie świadomych locale obrazów picture XFA dla daty, czasu, liczb i tekstu z osadzonymi zbiorami locale, ograniczonymi transakcyjnymi zapytaniami locale i chronioną arytmetyką IEEE JavaScript

Version 2.828.0: Renderowanie czteroskładnikowych grup przezroczystości CMYK i ICC oraz grup stron ze wszystkimi trybami blendowania, zagnieżdżoną geometrią knockout i współdzielonymi budżetami profili kolorów

Version 2.829.0: Import natywnych grafów zasobów stron i przekształconych wyglądów adnotacji do zwykłych lub zaszyfrowanych dokumentów oraz konwersja kompatybilnych wejść do przeszukiwalnego tekstu i wektorowego PDF/A-4 z prawdziwą walidacją przed publikacją atomową

Version 2.830.0: Wykonywanie zaawansowanych klauzul picture XFA — numerycznych, kalendarzowych, tekstowych i złożonych — przez rzeczywiste zdarzenia formularza, z zachowaniem precyzji wejścia, semantyki locale i transakcyjnego replayu skryptów

Version 2.831.0: Spójne stosowanie ograniczeń seed podpisywania, blokad i tylko-do-odczytu do zakodowanych nazw PDF, odrzucanie semantycznie zduplikowanych kluczy i walidacja dziedziczonych słowników polityk

Version 2.832.0: Podpisywanie przez natywne ABI callbacków Linux z tożsamościami PEM lub ograniczonymi PFX, nowymi polami wyglądów Unicode i certyfikacją oraz zachowanie przygotowanego podpisanego dokumentu jako bieżącego kontekstu po udanej publikacji

Version 2.833.0: Renderowanie pionowych CMap Identity-V i predefiniowanych Unicode z rzeczywistymi początkami W2/DW2, macierzami, ruchem tekstu i przycinaniem oraz poprawne dekodowanie osadzonych strumieni CMap Encoding

Version 2.834.0: Walidacja identyfikatorów certyfikatów podpisujących CAdES wobec rzeczywistego podpisującego niezależnie od opcjonalnego zaufania do certyfikatów oraz rozwiązywanie osadzonych strumieni CMap Encoding przez natywny adapter czcionek

Version 2.835.0: Wykonywanie transakcyjnego stanu hosta XFA, flag stron i cyklu życia, per-instancja zmian fokusa, walidacji oczekujących edycji i operacji reset ze stabilną tożsamością i replayem stanu leksykalnego

Version 2.836.0: Udostępnienie synchronicznego transportu znaczników czasu RFC 3161 przez kompatybilny rozszerzony rekord natywnej operacji podpisywania, z ograniczonymi odpowiedziami, współdzielonym anulowaniem i jawną walidacją zaufania TSA oraz odwołań

Version 2.837.0: Generowanie osadzonych wyglądów Unicode przez natywne wypełnianie formularzy JSON w Linuksie dla pól text, choice i multiselect, stanów checkbox i radio oraz podpisów przycisków, z zachowaniem publikacji transakcyjnej i szyfrowania

Version 2.838.0: Wykonywanie generowanych w runtime programów Eval FormCalc z izolowanymi zakresami obliczeń, zagnieżdżonym wyliczaniem, źródłem Unicode, ograniczonymi ponowieniami kompilacji i transakcyjnym replayem odpowiedzi hosta

Version 2.839.0: Implementacja kopiowania wartości FormCalc i stabilnych referencji węzłów z przypisaniem przez referencję, rebindowaniem i odłączeniem null, tożsamościową równością numeryczną, zapamiętanymi uchwytami i transakcyjnym rollbackiem

Version 2.840.0: Renderowanie kalibrowanych kolorów źródłowych CalGray, CalRGB i Lab, kalibrowanego blendowania grup i stron, baz Indexed, 16-bitowych próbek obrazów i miękkich masek luminancji XYZ z ograniczoną konwersją i bezpiecznym wyliczaniem gamma

Version 2.841.0: Uwierzytelnianie oryginalnych rewizji CMS i CAdES przed natywnymi aktualizacjami formularza, wymuszanie oryginalnych uprawnień DocMDP i FieldMDP oraz zablokowanych pól, zachowanie podpisanej zawartości i zasobów oraz atomowa synchronizacja metadanych podpisów push-button

Version 2.842.0: Udostępnienie natywnego porównania semantycznego dwóch dokumentów przez C ABI i Pascal we współdzielonym przenośnym rdzeniu, z geometrią glifów źródła, wejściami zaszyfrowanymi i o zagnieżdżonej zawartości, przygotowanym wyjściem przeglądu JSON lub HTML i stabilną kolejnością blokad współbieżnych

Version 2.843.0: Rozwiązywanie dynamicznych ścieżek SOM XFA z wywnioskowanymi i względnymi wystąpieniami, zakresowanymi predykatami, selektorami klas i potomków, kolekcjami wildcard oraz transakcyjnymi przypisaniami właściwości obiektów skryptowych

Version 2.844.0: Renderowanie alternatywnych tonacji Separation i DeviceN z ograniczonymi funkcjami wektorowymi, spakowanymi obrazami i blendowaniem grup CMYK, zachowanie geometrii knockout None i spójne mapowanie kolorów rejestracji All

Version 2.845.0: Emitowanie uwierzytelnionych referencji FieldMDP z istniejących lub dziedziczonych blokad pól podpisów, zachowanie zaszyfrowanych nazw pól Unicode i referencji certyfikacji oraz stosowanie poziomów uprawnień blokad bez osłabiania oryginalnych podpisanych polityk

Version 2.846.0: Wystawienie natywnych datasetów i węzłów danych XFA z dwukierunkowymi bindowaniami formularza, dynamicznym mirroringiem danych instancji, stabilnymi zapamiętanymi referencjami, niezależnymi niezbindowanymi wartościami formularza i transakcyjnym replayem skryptów

Version 2.847.0: Wymuszanie dziedziczonych natywnych ograniczeń seed i certyfikatów podpisów z prawdziwymi łańcuchami wystawców, politykami subject i key usage, wybieralnymi digestami CMS, zaszyfrowanymi metadanymi podpisu Unicode i transformacjami blokujących dokumentów

Version 2.848.0: Rozwiązywanie kompletnych sufiksów ścieżek potomków XFA wewnątrz każdego kontekstu wildcard, zachowanie lokalnych granic wystąpień i wykonywanie predykatów w bieżącym zakresie zdarzenia z dokładnym transakcyjnym rollbackiem

Version 2.849.0: Renderowanie osadzonych prostych czcionek Type1 i Type1C z dokładnymi zadeklarowanymi lub wbudowanymi kodowaniami glifów Adobe, oddzielenie ekstrakcji ToUnicode od wyświetlanych konturów oraz akceptacja zwalidowanego neutralnego stroke-adjustment i względnego kolorymetrycznie stanu grafiki

Version 2.850.0: Konwersja kompatybilnych dokumentów z brakującymi czcionkami do przeszukiwalnego tekstu i wektorowego PDF/A-4 z jawnym ograniczonym osadzaniem czcionek Ghostscript, prawdziwą walidacją veraPDF i publikacją atomową oraz spójny wybór natywnych czcionek Unicode TrueType między dystrybucjami

Version 2.851.0: Renderowanie fizycznych kolorów źródłowych Lab ICC i ograniczonych wejść kompatybilności XYZ w ścieżkach, tekście, spakowanych obrazach i paletach Indexed, zachowanie kalibrowanych i alternatywnych tonacji ICC przez grupy RGB lub CMYK oraz stosowanie osadzonych profili JPX z oddzielną lub skojarzoną alfą

Version 2.852.0: Zapisywanie uwierzytelnionych prawnych atestacji Unicode w podpisach certyfikacji, poszanowanie wymagań Legal seed wyłącznie dla certyfikacji, zachowanie istniejących statystyk prawnych i uprawnień katalogu oraz utrzymanie zaszyfrowanych polityk stringów

Version 2.853.0: Osadzanie prawdziwych dowodów odwołań Adobe jako uwierzytelnionych podpisanych atrybutów CMS, walidacja kompletnych łańcuchów certyfikatów i znaczników czasu wobec jawnego zaufania i bieżących dowodów CRL lub OCSP przed publikacją oraz wymuszanie wymaganego osadzania odwołań w seed podpisu

Version 2.854.0: Wystawienie natywnych obiektów właściwości i atrybutów XFA z trwałymi bindowaniami formularza per-instancja, zsynchronizowanymi zapisami wartości/danych i rzeczywistymi efektami font, border, paragraph i layoutu UI, z zachowaniem transakcyjnego rollbacku i budżetów fokusa bez skryptów

Version 2.855.0: Zastosowanie natywnych domyślnych wartości schematu właściwości XFA i zachowanie jawnych pustych wartości, stylów per-instancja oraz ułamkowych pomiarów punktowych czcionek, ramek i rysunków przez rzeczywiste wyjście AcroForm i spłaszczone PDF

Version 2.856.0: Wybieranie rzeczywistych natywnych presetów wyglądów podpisów po zarejestrowanej nazwie profilu, generowanie odrębnych layoutów approval, certification i compact, zachowanie uwierzytelnionych metadanych profilu i zaszyfrowanych polityk oraz odrzucanie nieznanych profili przed publikacją

Version 2.857.0: Porównywanie dokumentów natywnych po liczbie stron i obiektów, tekście Unicode, znormalizowanych grafach strukturalnych i rzeczywistych renderowanych pikselach RGB lub luminancji, z semantyczną równoważnością strumieni, uwierzytelnionymi zaszyfrowanymi wejściami i ograniczonym przygotowaniem przed publikacją callbacków

Version 2.858.0: Dekodowanie eskapowanych nazw czcionek, kodowań, glifów, kolorów i zasobów PDF dokładnie raz w natywnym renderowaniu i współdzielonej ekstrakcji tekstu, zachowanie literałowych kluczy zasobów z hashem oraz utrzymanie zgodności równoważnych nazw z rzeczywistymi konturami i metrykami glifów

Version 2.859.0: Zastosowanie żywych per-instancja nadpisań font, paragraph i treści skalarnych XFA do rzeczywistego rysowania i mierzenia rich text, zachowanie pierwszeństwa inline CSS i jawnie pustej zawartości przez natywną trwałość XDP oraz utrzymanie dokładnego transakcyjnego rollbacku

Version 2.860.0: Bindowanie natywnych opcji podpisywania i weryfikacji Linux do rzeczywistego wyboru digest, metadanych podpisu Unicode, nazwanych profili wyglądów, jawnych bajtów zaufania, tożsamości transportu znaczników czasu i uwierzytelnionych dowodów odwołań, z ograniczonym prywatnym przygotowaniem przed publikacją

Version 2.861.0: Export rzeczywistych natywnych PDF przeglądu umów z adnotacjami i jawnych podświetleń Unicode z widocznymi wyglądami normal, zachowanie zawartości źródłowej i przyrostowych rewizji podpisów, wymuszanie uwierzytelnionych uprawnień adnotacji P3 i zaszyfrowanych praw użytkownika oraz przygotowanie ograniczonych wyjść przed publikacją callbacków

Version 2.862.0: Renderowanie rzeczywistych natywnych shadingów PDF function, axial i radial z ograniczoną geometrią i wyliczaniem funkcji, dziedziczonym przycinaniem, semantyką Domain, Matrix, Extend i BBox, kalibrowanymi i specjalnymi kolorami, przezroczystością, miękkimi maskami, blendowaniem i grupami knockout

Version 2.863.0: Poszanowanie poprawnych dziedziczonych ograniczeń seed i certyfikatów podpisów Windows z rzeczywistym wyborem digest i CAdES, informacjami podpisu Unicode, znormalizowanymi pośrednimi blokadami pól, uwierzytelnionymi historycznymi uprawnieniami blokad, dozwolonymi drugimi podpisami i zaszyfrowanymi politykami formularza

Version 2.864.0: Zachowanie oryginalnego deadline'u skanowania kodów kreskowych przez priorytetyzowanie kompletnych rastrów liniowych i grup kandydatów strefy ciszy oraz odrzucanie niepoprawnych projekcyjnych ramek finderów DataMatrix przed próbkowaniem modułów wewnętrznych, bez zmiany tolerancji finderów

Version 2.865.0: Żądanie i uwierzytelnianie znaczników czasu RFC 3161 dla jawnych imprintów SHA256, SHA384 i SHA512 bez ponownego hashowania imprintu, z zachowaniem ścisłych długości digestów, świeżych nonce, ograniczonego transportu, łańcuchów zaufania i walidacji odwołań

Version 2.866.0: Wyrównywanie runów rich text XFA o mieszanych rozmiarach do wspólnej linii bazowej zapisanego PDF, zachowanie trybu pozycji tekstu wywołującego i stosowanie większego sąsiedniego marginesu akapitów, w tym przejść przez puste akapity

Version 2.866.1: Uwierzytelnianie tokenów RFC 3161 raw-signature z użyciem faktycznie wspieranego przez nie algorytmu imprintu SHA256, SHA384 lub SHA512, przy zachowaniu istniejącego domyślnego żądania SHA256 i pełnych kontroli zaufania oraz odwołania tokena

Version 2.867.0: Zawijanie rich text XFA przez style inline z mierzonymi granicami słów, jawnymi łamaniami linii, wspólnymi liniami bazowymi i wyrównaniem, rzeczywistymi przerwami między słowami przy justowaniu i geometrią linków fragmentów, z zachowaniem natywnej trwałości XDP powtórzonych instancji

Version 2.868.0: Generowanie maskowanych wyglądów pól password i literałowych file-select z zachowanymi wartościami Unicode i politykami AES-256, przenoszenie eskapowanego Unicode z płaszczyzny uzupełniającej przez natywne ABI JSON, retencja subnormalnych źródłowych tokenów dziesiętnych PDF oraz tworzenie buforów prefetch RGB bez screen DC

Version 2.869.0: Podpisywanie dokumentów Windows rzeczywistymi synchronicznymi callbackami transportu RFC 3161 C ABI z imprintami SHA256, SHA384 lub SHA512, uwierzytelnionym zaufaniem TSA i kontrolami CRL, wymaganymi ograniczeniami seed znacznika czasu i ograniczoną publikacją transakcyjną

Version 2.870.0: Renderowanie rzeczywistego natywnego wyjścia Cairo w Windows z jawnymi konturami standardowych czcionek GDI i poprawnymi konwencjami wywołań Win32 OpenJPEG, z odtwarzalnymi przypiętymi zależnościami natywnymi i niezależną akceptacją wyjścia

Version 2.871.0: Tworzenie brakujących właściwości font, paragraph, fill, color, border, edge i corner XFA przez rzeczywiste natywne skrypty zdarzeń, trwałe zapisywanie stabilnych bindowań formularza per-instancja z dokładnym rollbackiem oraz regenerowanie opcjonalnych wyglądów widgetów po skutecznych zmianach stylów

Version 2.871.1: Wykonywanie ciał zdarzeń XFA we własnym zakresie leksykalnym i strict, z zachowaniem aliasów pól w zakresie zewnętrznym, wartości this zdarzenia, jawnych return i dokładnego rollbacku przy błędzie

Version 2.872.0: Tworzenie rzeczywistych podpisów certyfikacji DocMDP w Windows z uprawnieniami P1, P2 lub P3 i uwierzytelnionymi prawny mi atestacjami Unicode, poszanowanie wymaganych polityk seed i blokad FieldMDP oraz zezwalanie na kolejne podpisy tylko tam, gdzie podpisana polityka na to pozwala

Version 2.873.0: Tworzenie trwałych per-instancja wyborów UI XFA przez skrypty natywne i konsumowanie rzeczywistych widgetów text, password i choice z wyglądami multiline i mierzonymi długimi słowami

Version 2.874.0: Edycja natywnych pól rich-text z typowanymi runami stylów Unicode, rzeczywistymi osadzonymi czcionkami regular, bold, italic i bold-italic, mierzonymi liniami bazowymi wyglądów o mieszanych rozmiarach, dekoracjami i zsynchronizowanymi wartościami V/RV przez widgety i zaszyfrowane wyjście

Version 2.875.0: Rozwiązywanie rzeczywistych domyślnych wartości pól XFA bez fabrykowania danych podczas odczytu, zachowanie jawnych pustych wartości instancji i zapewnienie, że edycje zapisują niezależne dane instancji bez modyfikacji współdzielonych szablonów

Version 2.876.0: Osadzanie uwierzytelnionych dowodów CRL i OCSP w podpisanych atrybutach Adobe RevocationInfoArchival w Windows, wymuszanie rzeczywistych polityk seed i walidacja statusu zaufania, autoryzacji odpowiedzi i świeżości przed publikacją podpisów

Version 2.876.1: Zachowanie kompletnego bindowania SOM XFA i rzeczywistej selekcji danych emitowanych instancji przy stosowaniu domyślnych wartości formularza i szablonu dla brakujących instancji, bez pożyczania wartości z innego powtórzonego wystąpienia

Version 2.877.0: Renderowanie rzeczywistych kolorowych i jednokolorowych wzorców tiling i shading PDF z dziedziczonymi początkami wzorca, zagnieżdżonymi komórkami, nakładaniem, malowaniem stroke i stencil, przezroczystością i ograniczonym anulowaniem na natywnych celach Linux i Windows

Version 2.878.0: Generowanie rzeczywistych profili wyglądów podpisów Windows z osadzonymi czcionkami Unicode dla złączonych i oddzielnych widgetów, rotacji, szyfrowania i workflow certyfikacji oraz wymuszanie wymaganego AppearanceFilter względem faktycznie wygenerowanego profilu

Version 2.879.0: Tworzenie trwałych natywnych potomków wartości skalarnych XFA z natychmiastową synchronizacją pól, danych i współdzielonych aliasów, trwałością typowanych formularzy, commitami widgetów, izolacją powtórzonych instancji i dokładnym transakcyjnym rollbackiem

Version 2.880.0: Renderowanie rzeczywistych natywnych wartości draw i podpisów skalarnych XFA po utworzeniu skryptem, zachowanie jawnych pustych wartości i izolacji powtórzonych instancji oraz utrzymanie dokładnego rollbacku, gdy późniejsze natywne rysowanie wyczerpie budżet

Version 2.880.1: Uwzględnianie anulowania przed alokacją renderera strony i instalacją kontekstu oraz podczas inicjalizacji, zachowanie aktywnego kontekstu kolorów wywołującego, gdy konstrukcja zostaje początkowo odrzucona, i zwalnianie dzierżawionych list wyświetlania bez publikowania częściowych bitmap

Version 2.880.2: Utrzymanie wyrównania akapitów rich przez puste początkowe runy, zmiany stylu inline i jawne łamania linii oraz malowanie żądanych ramek prostokątów lub okręgów i mierzonych podświetlonych wierszy zamiast ich cichego pomijania

Version 2.881.0: Automatyczne uwierzytelnianie standardowych odłączonych podpisów CAdES z wymaganym wiązaniem certyfikatu podpisującego i spójny odczyt prawdziwych literałowych Contents w zapisie szesnastkowym lub eskapowanym dla weryfikacji, dozwolonych aktualizacji formularza i dowodów długoterminowej walidacji

Version 2.882.0: Dziedziczenie rzeczywistych zasobów czcionek ze strumieni potomnych i parametrów tekstu PDF w renderowaniu Form, Type3 i Pattern, zachowanie zapisów tekstu w stanie grafiki, poszanowanie niewidzialnego tekstu Type3 i resetowanie niezależnych domyślnych wyglądów adnotacji

Version 2.883.0: Tworzenie trwałych natywnych potomków wartości obrazowych i geometrycznych XFA oraz renderowanie rzeczywistej alfy PNG, DPI obrazu i geometrii proporcji, z zachowaniem izolacji powtórzonych instancji i transakcyjnego rollbacku; korekta pikseli obrazów FPC, które wcześniej renderowały się na czarno

Version 2.884.0: Wystawienie przenośnych domyślnych granic rozszerzonych grafemów Unicode 17 i zawijanie zbyt szerokich słów rich na kompletnych klastrach, z zachowaniem rzeczywistej zawartości wyglądu Unicode i korektą zmian szerokości form łączenia po shapowaniu podłańcucha

Version 2.885.0: Wystawienie domyślnych możliwości łamania linii Unicode 17 i konsumowanie ich w rzeczywistych natywnych polach rich, z zachowaniem grup nierozdzielających spacji, dywyników i interpunkcji oraz jawnych separatorów Unicode z dokładnymi oryginalnymi wartościami V i RV

Version 2.886.0: Tworzenie i uwierzytelnianie samodzielnych znaczników czasu dokumentów PDF RFC3161 z ograniczonym streamingiem, imprintami SHA256, SHA384 lub SHA512, wiązaniem tożsamości zaufanego TSA i nonce, wymaganymi deklaracjami rozszerzeń ESIC oraz uwierzytelnionymi wyjątkami certyfikacji lub blokad pól

Version 2.887.0: Import i serializacja trwałego natywnego XML exData XFA z natychmiastowymi odczytami skryptów, zachowaniem przestrzeni nazw i mieszanej zawartości, zapamiętanymi tożsamościami powtórzonych instancji, transakcyjnym rollbackiem i prawdziwym renderowaniem zapisanego XHTML

Version 2.888.0: Zastosowanie kompletnych właściwości Unicode 17 i kontekstowego łamania linii przez istniejące API dokumentu, wystawienie surowych lub rozwiązanych wg LB1 przenośnych zapytań o właściwości, zachowanie ustalonych porządków enum i kontraktów tailoringu oraz poszanowanie zakazów miękkiego dyównika

Version 2.889.0: Synchronizacja zmaterializowanych ukrytych i niewidzialnych aliasów skalarnych XFA po commitach widocznych pól, z zachowaniem natywnych powtórzonych zakresów danych, jawnych pustych wartości i dokładnego transakcyjnego rollbacku

Version 2.890.0: Zachowanie legalnych grup Unicode słów, nierozdzielających spacji, interpunkcji i liczb przez typowane runy rich stylów, dopasowywanie całych grup rzeczywistymi naliczeniami stylowanej czcionki, utrzymanie linii bazowych o mieszanych rozmiarach i łączenie CRLF przez szwy stylów

Version 2.890.1: Odzyskiwanie przejściowych blokad atomowej publikacji w Windows z co najwyżej ośmioma anulowalnymi próbami podmiany, przy zachowaniu dokładnych celów, przygotowanych bajtów, trwałych błędów systemu operacyjnego i sprzątania dzierżawionego stageingu

Version 2.891.0: Zachowanie uporządkowanych komentarzy XML i instrukcji przetwarzania natywnego XFA przez import zdarzeń, serializację, klonowanie i transakcyjny rollback, przy wykluczeniu ich ze skalarnego tekstu, rich text i selekcji elementów SOM

Version 2.892.0: Renderowanie ograniczonych shadingów trójkątnych mesh free-form i lattice z prawdziwą semantyką współrzędnych, flag, funkcji, kolorów i przezroczystości oraz jednokrotne dekodowanie strumieni palety Indexed w heksadecymalnym zapisie

Version 2.893.0: Odczyt i zapis ograniczonych skalarnych danych pól natywnych FDF i XFDF oraz transakcyjny import rzeczywistych wyglądów Unicode, choice i przycisków do niezależnie publikowanych PDF, z zachowaniem uwierzytelnionych polityk podpisów i szyfrowania AES

Version 2.893.1: Uwierzytelnianie wymaganych dowodów CRL i OCSP podpisanych przez Adobe wewnątrz prawdziwych znaczników czasu dokumentów RFC3161 przed akceptacją aktualizacji formularza chronionych polityką podpisów, z transakcyjną odmową dla dowodów brakujących, odwołanych, wygasłych lub niezaufanych

Version 2.894.0: Zawijanie zbyt szerokiego typowanego rich text na kompletnych granicach grafemów Unicode między stylami czcionek i kolorów, mierzenie rzeczywistych stylowanych zakresów przed przydziałem linii oraz zachowanie niepodzielnych zbyt dużych klastrów, mieszanych rozmiarów punktowych i jawnego odstępu znaków

Version 2.895.0: Import i export rzeczywistych bajtów FDF i XFDF przez istniejące wersjonowane natywne callbacki Linux JSON, zachowanie wartości pól Unicode, zabezpieczeń AES i uwierzytelnionych polityk podpisów oraz rollback bieżącego dokumentu po nieudanym wyjściu lub publikacji wyniku

Version 2.895.1: Kompilacja statycznego natywnego wsparcia zdarzeń XFA raz na dzierżawiony silnik JavaScript i replay kompletnych kompaktowych dynamicznych argumentów zdarzeń, z zachowaniem domknięć, nagranych odpowiedzi hosta, izolacji instancji, oryginalnych budżetów dziennika i deadline'ów transakcji podczas rollbacku

Version 2.896.0: Rozwiązywanie natywnego bindowania SOM w XFA przez powtórzone zakresy danych z ograniczonym przechodzeniem potomków, eskapowanymi nazwami, dopasowaniem Unicode, fallbackami brakującego liścia per-instancja i transakcyjną synchronizacją wartości runtime

Version 2.897.0: Shapowanie wybranych spanów stylów Unicode z prawdziwym otaczającym kontekstem HarfBuzz, wystawienie natywnych API kolejności i kierunku akapitów oraz rozmieszczanie typowanych elementów rich w rzeczywistych zawijanych liniach fizycznych przy zachowaniu stylów logicznych i własności obiektów

Version 2.898.0: Odczyt i zapis ograniczonego rich text w FDF i XFDF, dekodowanie natywnych spanów stylów XHTML w cztery prawdziwe osadzone style czcionek oraz transakcyjny import rzeczywistych wyglądów do podpisanych lub zaszyfrowanych PDF, w tym kanoniczne porównanie istniejących wartości rich tylko do odczytu

Version 2.899.0: Przyczepianie stylowanych znaczników łączących do rzeczywistych kotwic GPOS bazowych, ligatur i znaczników z niezależnymi skalami czcionek, zachowanie konturów glifów o ujemnym początku wewnątrz clipów rich widgetów i rezerwowanie dopasowanych zasięgów linii dla widocznych ułożonych w stos znaczników

Version 2.900.0: Transakcyjne wczytywanie i zapisywanie XML natywnego Data DOM XFA świadome przestrzeni nazw, zachowanie uporządkowanej mieszanej zawartości i tożsamości data binding, cytowanie wartości hosta w czasie liniowym oraz utrzymanie dokładnego leasingu modułu JavaScript per sesja przez ograniczony replay silnika

Version 2.901.0: Renderowanie shadingów mesh Coons i tensor patch z ograniczoną geometrią sześcienną, interpolacją kolorów w przestrzeni źródłowej, krawędziami kontynuacji, obsługą zagięć i transakcyjnymi limitami zasobów oraz anulowania

Version 2.902.0: Import i export stylowanych FDF i XFDF przez prawdziwe callbacki Linux JSON C ABI, osadzanie skonfigurowanych prawdziwych krojów czcionek, zachowanie polityk podpisów i dokładnych prywatnych bajtów źródłowych dla importów no-op oraz publikacja bieżącego stanu dokumentu dopiero po powodzeniu obu wyjść callbacków

Version 2.903.0: Zachowanie kierunkowych embeddingów, override'ów, izolatów i kontekstu akapitów sparowanych nawiasów przez zawijane linie rich stylów, wystawienie ograniczonych API kolejności linii fizycznych pochodnej od akapitów i cache'owanej oraz shapowanie rzeczywistych elementów linii z rozpoznanymi poziomami i skryptami

Version 2.903.1: Utrzymanie klastrów shapowania wyłącznie kierunkowych Unicode przy zerowym naliczaniu odstępów znaków, z zachowaniem sterowań logicznych, tożsamości glifów i normalnych odstępów widocznych klastrów oraz słów

Version 2.904.0: Wykonywanie natywnego runtime JavaScript XFA, dziennika zdarzeń, Data DOM, XML, FormCalc i locale ICU na Linuksie z dzierżawionymi leasingami modułów współdzielonych i prawdziwymi zegarami monotonicznymi, przy zachowaniu istniejącej inicjalizacji Unicode w Windows

Version 2.904.1: Zachowanie kompletnych sterowań kierunków akapitów i sparowanych nawiasów przez automatyczne samodzielne shapowanie i zwykłe zawijanie wielowierszowych pól, z kontekstami łączenia linii fizycznych, niemodyfikowalnym cache akapitów i ograniczonym całkowitym wyjściem glifów

Version 2.904.2: Odczyt rzeczywistych zewnętrznych słowników strumieni cross-reference bez mylenia zagnieżdżonych ustawień szyfrowania, rozwiązywanie eskapowanych nazw wpisów i zachowanie bezpośrednich słowników szyfrowania w zwykłych przyrostowych rewizjach Windows

Version 2.905.0: Tworzenie natywnych drzew stron PDF, powtórzonych edytowalnych pól, przycisków push i statycznego tekstu Unicode bezpośrednio z XDP i zapisanych wartości runtime na Linuksie i Windows, z prawdziwymi osadzonymi wyglądami i ograniczonym przygotowaniem kandydatów przed wyjściem wywołującego

Version 2.905.1: Rozwiązywanie eskapowanych parametrów predictora w rzeczywistym słowniku DecodeParms i lokalizowanie prawdziwego tokena strumienia po zbalansowanej zewnętrznej składni słownika, z zachowaniem binarnych payloadów xref o wartościach białych znaków w zwykłym wczytywaniu Windows

Version 2.906.0: Pozycjonowanie łączących znaczników między stylami z użyciem rzeczywistych granic wybranych glifów i kanonicznych klas łączenia przy braku kotwic przyczepiania, z niezależnymi skalami czcionek, układaniem po tej samej stronie i rzeczywistymi rozpoznanymi kierunkami elementów dla podwójnych znaczników

Version 2.907.0: Renderowanie rzeczywistych tożsamości glifów CID-keyed CFF i ograniczonych podstawień notdef przez prawdziwe mapowania CID-to-GID czcionek, z zachowaniem niezależnej ekstrakcji tekstu i kontroli anulowania w całym parsowaniu eskapowanego CMap

Wbudowane legacy CMap dekodują PDF-owe kody znaków od jednego do czterech bajtów dla natywnego renderowania i ekstrakcji Unicode, zachowują tryby pisania rodzica i dziecka, deterministycznie odzyskują zniekształcone sekwencje kodów i ograniczają dziedziczenie podlegające anulowaniu; pakiety redystrybucji zawierają kompletną notę danych CMap

Importy FDF i XFDF w Windows wybierają rzeczywiste dostarczone nazwane rodziny i style fontów z zagnieżdżonych ścieżek plików lub niezmienionych callbacków V1, zachowując podpisane albo szyfrowane AES rewizje i publikację dwufazową; synchroniczne odczyty losowe wejścia używają niezależnego kursora źródła, więc odczyty w tle nie mogą uszkodzić sekwencyjnych kopii wyjściowych

Version 2.907.1: Dekodowanie rzeczywistych eskapów szesnastkowych PDF i bajtów UTF-8 w polach formularza z wartościami nazw i dziedziczonych, z zachowaniem stanów export przycisków ze spacjami, interpunkcją i Unicode przez natywne ponowne wczytanie zapisanego dokumentu

Version 2.908.0: Tworzenie prawdziwych natywnych combo boxów, list, pól wielokrotnego wyboru, checkboxów i strukturalnie zakresowanych grup radio XFA bezpośrednio z zapisanych danych runtime, z sparowanymi etykietami display/export, elementami per-instancja, flagami dostępu i niezależnymi natywnymi stanami wyglądów

Version 2.908.1: Zastosowanie poprawnych inline deklaracji rich-text z niezależnym priorytetem important, otaczającymi wyliczonymi bazami font-size i jawnymi właściwościami dziedziczonymi, z zachowaniem granic komentarzy CSS oraz deklaracji w cudzysłowach i funkcjach

Fallback fontów rich-text z dostarczonych rodzin wybiera kompletne stylowane grafemy Unicode z rzeczywistych programów kandydackich rodzin, zachowując autorskie wartości i precyzyjne style wyglądów; natywny fallback JSON Linux wystawia to samo zachowanie opt-in przez niezmienione rekordy V1 i utrzymuje zagregowany limit fontów między rzeczywistymi alokacjami dostawców

Version 2.909.0: Wybieranie rzeczywistych dostarczonych nazwanych rodzin TrueType per run rich i ograniczona deklaracja XHTML font-family, zachowanie metryk stylów per rodzina i cache znaczników oraz import rzeczywistych wartości rich z FDF lub XFDF z porównaniem kanonicznym świadomym rodzin

Version 2.910.0: Dopasowywanie wyglądów adnotacji NoZoom i NoRotate wokół przekształconej kotwicy górnego lewego prostokąta, z zachowaniem UserUnit, dopasowanej geometrii formularza, krycia i rzeczywistego clipu strony przy skalowaniu i rotacji

Version 2.911.0: Tworzenie natywnych rysunków prostokątów, linii i łuków XFA oraz inline obrazów PNG lub JPEG z rzeczywistym dekodowaniem próbek, maskami alfy, dopasowaną proporcją i obróconym rozmieszczeniem, ograniczonym przygotowaniem i transakcyjną własnością pod anulowaniem

Version 2.912.0: Import i export prawdziwych FDF lub XFDF przez plikowe joby Windows i callbacki V1 z niemodyfikowalnym wejściem na własność, przygotowaniem bieżącego niezapisanego grafu, rzeczywistymi wyglądami rich z czterema czcionkami, uwierzytelnionymi podpisanymi politykami AES oraz commit kontekstu dopiero po powodzeniu obu wyjściowych callbacków

Version 2.913.0: Wybieranie skonfigurowanych natywnych rodzin czcionek rich przez niezmienione callbacki Linux V1 JSON dla typowanych wypełnień i importów FDF lub XFDF, wczytywanie rzeczywiście wymaganych programów rodziny i stylu z budżetami zagregowanymi oraz deklarowanie obu zaimplementowanych profili rich

Version 2.913.1: Rozwiązywanie istniejących niejawnych wartości XFA przez ograniczone żywe konteksty danych bez powtarzania parsowania selektorów doliczanego do puli operacji skryptowych, z zachowaniem oryginalnych deadline'ów transakcji i jawnego zachowania bindowania

Version 2.913.2: Dekodowanie kompletnych obróconych kodów kreskowych macierzowych przed odłączonymi fragmentami i odrzucanie dokładnych niedopasowań finderów QR przed próbkowaniem całej siatki, przy zachowaniu ciaśniejszego grupowania, oryginalnego zachowania liniowych kodów, atomowych budżetów skanowania i niezmienionego deadline'u dwóch sekund

Version 2.914.0: Tworzenie natywnych wyglądów Boolean XFA z sześcioma własnymi znacznikami, okrągłymi lub kwadratowymi ramkami, kolorami i rozmiarami znaczników, pięcioma pozycjami podpisów i współdzielonymi osadzonymi czcionkami podpisów; zachowanie odwracalnych aliasów export Unicode i odrębnych legalnych stanów neutral przez wykonanie zdarzeń i ponowne wczytanie zapisanego PDF

Version 2.914.1: Nakładanie trafień pamięci podręcznej pierwszego planu na kooperatywne anulowanie prefetchu po uzyskaniu rzeczywistej rezerwacji pamięci, zachowanie telemetrii cache operacji i ponowne sprawdzanie anulowania po oczekiwaniu na blokadę cache lub rezerwację, przy zachowaniu ścisłej kolejności miss i dołączania wątków

Version 2.915.0: Utrzymanie widoczności zaznaczonych opcji natywnych list XFA przez okna selekcji oparte na metrykach czcionek i zapamiętane indeksy top, zachowanie kompletnych tablic opcji i wartości oraz utrzymanie zmian czcionek powtórzonych instancji i rollbacku zdarzeń z ograniczonym przygotowaniem widocznych glifów

Version 2.916.0: Dekodowanie i renderowanie 182 wbudowanych legacy CMap z ograniczonymi kodami od jednego do czterech bajtów, dokładnymi trybami pisania rodzica i dziecka, mapowaniami Unicode, deterministycznym odzyskiwaniem po uszkodzonych kodach, anulowalnym dziedziczeniem i dołączonymi notami redystrybucji

Version 2.917.0: Wybieranie prawdziwych nazwanych programów rodzin i stylów dla importów FDF i XFDF w Windows przez zagnieżdżone ścieżki plików lub istniejące wersjonowane callbacki czcionek oraz izolowanie synchronicznych odczytów losowych źródeł od sekwencyjnej publikacji transakcji

Version 2.918.0: Renderowanie natywnych podpisów Boolean XFA z efektywnego XHTML i dostarczonych nazwanych czcionek stylów, zachowanie nakładek powtórzonych instancji i zapisanego runtime XML oraz wymiarowanie automatycznych rezerw podpisów finalnymi zasięgami logicznych linii tekstu

Version 2.919.0: Rozwiązywanie kompletnych stylowanych grafemów Unicode przez jawne dostarczone kandydackie rodziny czcionek, zachowanie autorskich wartości i precyzyjnych stylów wyglądów, wystawienie opt-in natywnego fallbacku JSON Linux przez niezmienione callbacki V1 oraz utrzymanie rzeczywistego zagregowanego limitu czcionek podczas wczytywania skonfigurowanych programów

Version 2.920.0: Zapis mieszanych pól skalarnych i oryginalnych typowanych runów rich-text w jednej niezależnej atomowej transakcji dokumentu, zachowanie precyzyjnych wartości wyglądów i dostarczonych programów czcionek, uwierzytelnionych polityk i bieżących edycji grafu oraz rozpoznawanie prawdziwych no-op wyglądów tylko do odczytu

Version 2.920.1: Utrzymanie zgodności udanych mutacji PDF natywnego C ABI Linux ze zcommitowanym snapshotem źródła, dzięki czemu kolejne importy FDF lub XFDF o tych samych wartościach zachowują dokładnie opublikowane wartości formularza, typowane wyglądy, narysowany tekst i zaimportowane strony zamiast odtwarzać nieaktualne bajty wejściowe

Version 2.921.0: Renderowanie natywnych skalarnych i XHTML podpisów przycisków XFA z prawdziwymi dostarczonymi programami rodziny i stylu, zachowanymi separatorami inline i autorskim paddingiem, rzeczywistymi wyglądami normal/down/rollover, widocznością podpisów i trwałymi nadpisaniami powtórzonych instancji

Version 2.922.0: Wybieranie natywnej widoczności adnotacji w widoku lub druku z regułami PDF 2.0 Invisible, rozpoznawanie statycznych wyglądów RichMedia i Projection oraz niejawnych transformacji Text, z utrzymaniem ograniczonej, anulowalnej atomowej podmiany PNG w Windows i rzeczywistych diagnostyk błędów OS

Version 2.923.0: Zachowanie uporządkowanych list kandydatów czcionek rich-text przez natywne wyglądy i Linux V1 JSON oraz bindowanie mieszanych runów skalarnych i oryginalnych typowanych do plikowych jobów Windows i niezmienionych callbacków V1 z precyzyjnym malowaniem, dostarczonymi programami stylów i publikacją dwufazową

Version 2.924.0: Renderowanie domyślnych grup optional-content dokumentu i wyrażeń membership przez oznaczoną zawartość stron, form XObjects i adnotacje, zachowanie ukrytej grafiki i stanu tekstu oraz wystawienie jawnego użycia widoku lub druku przez natywny interfejs Linux V1 JSON

Version 2.925.0: Wybieranie uporządkowanych rodzin czcionek dostarczonych przez wywołującego dla kompletnych stylowanych grafemów rich-text przez plikowe joby Windows i callbacki V1, z zachowaniem kandydatów CSS i typowanych, prawdziwych transakcji pustej wartości i zagregowanych budżetów czcionek

Version 2.926.0: Rozwijanie ograniczonego inline CSS font shorthand do niezależnie kaskadowanych kandydatów rozmiaru, grubości, kursywy i dostarczonej rodziny, z zachowaniem dziedziczonego względnego wymiarowania, resetów pominiętego stylu, priorytetów ważnych składników i rzeczywistych zapisanych wyglądów czcionek

Version 2.927.0: Malowanie oryginalnych skalarnych i rich podpisów przycisków ApplyXFAAsAcroForm w Windows z rzeczywistymi zainstalowanymi programami rodziny i stylu, trwałymi nadpisaniami per-instancja i natywnymi pakietami wyglądów normal/down/rollover, z rejestracją prawdziwych zasobów czcionek AcroForm

Version 2.928.0: Renderowanie tablic dash i faz ExtGState z ograniczonym skanowaniem typowanych tablic PDF, z zachowaniem komentarzy, ścisłej walidacji operandów, dziedziczonej geometrii obrysu, anulowania i zwykłych tablic tekstowych

Version 2.929.0: Budowanie skalarnego tekstu, komórek comb, etykiet choice i znaczników przycisków z uporządkowanych dostarczonych rodzin czcionek regular przez natywne settery, joby Windows i wersjonowane callbacki Windows/Linux; zachowanie zwykłych skalarnych metadanych i rozróżnienie pustego zaznaczenia choice od wybranego pustego exportu

Version 2.930.0: Wyliczanie automatycznych zastosowań optional-content z jawnym kontekstem zoom, języka i użytkownika, trwałymi natywnymi ręcznymi zaznaczeniami i ograniczonym stanem operacji JSON w Linuksie; unieważnianie pożyczonych kontekstów renderowania po zmianach dokumentu

Version 2.931.0: Zachowanie stanów export on, off i neutral legacy checkboxów XFA, stylowanych podpisów Unicode i natywnych pakietów wyglądów, spójne kodowanie specjalnych nazw PDF oraz odtwarzanie bezpośrednich zasobów stron po anulowanej adopcji widgetów

Version 2.932.0: Dekodowanie komponentów JPEG 2000 ze znakiem i bez znaku w zakresie do 26 bitów z mieszaną precyzją, subsamplingiem i kryciem, normalizacja ograniczonych próbek oraz ignorowanie deklaracji BitsPerComponent obrazu JPX przed renderowaniem

Version 2.933.0: Wyliczanie wielowymiarowych próbkowanych sześciennych funkcji kolorów z istniejącą skalarną konwencją czterech węzłów, liniowym fallbackiem w krótkim wymiarze, ograniczoną pracą tensorową, anulowaniem i niezmienioną interpolacją skalarną

Version 2.934.0: Tworzenie prawdziwych Unicode wyglądów legacy XFA text, numeric, date i password z efektywną rodziną i stylem czcionki per-instancja, edytowalnymi osadzonymi zasobami czcionek, skalarnym maskowaniem haseł i transakcyjną adopcją zasobów

Version 2.935.0: Zachowanie wysokości linii rich-text, wyliczonych długości CSS, dziedziczonych współczynników i metryk czcionki rodzica przez natywny layout, zapisane wyglądy, plikowe joby Windows i callbacki oraz importy JSON FDF/XFDF w Linuksie, z ograniczonym planowaniem metryk czcionek

Version 2.935.1: Liczenie znaków Unicode z płaszczyzny uzupełniającej raz w przenośnych wyglądach haseł XFA, zachowanie oryginalnych wartości i wymuszanie zagregowanych budżetów glifów przed alokacją masek, z anulowaniem w ziarnistości skalarnej

Version 2.936.0: Bindowanie jawnych typowanych wysokości linii rich-text JSON do zapisanych wyglądów Windows i Linux, z zachowaniem runów autorskich, dostarczonych metryk rodzica, ograniczonego planowania zagregowanego i transakcyjnych aktualizacji mieszanych pól

Legacy grupy radio XFA zachowują zakresy powtórzonych instancji, dokładne exporty i stylowane podpisy Unicode, z rollbackiem całej grupy i natywną fabryką wyglądów członków z dostarczonym fontem

Version 2.936.1: Parsowanie poprawnych słowników i trailerów PDF przy włączonej kontroli przepełnienia arytmetycznego poprzez jawną retencję 32 młodszych bitów mnożenia hashu FNV

Natywne intencje renderowania zachowują intencje kolorów stanu grafiki, obrazów i grup przezroczystości przez ograniczone transformacje ICC

Version 2.937.0: Tworzenie niezależnych legacy grup radio XFA z rzeczywistych zakresów powtórzonych instancji, z zachowaniem dokładnych exportów, stanów zaznaczenia i stylowanych podpisów Unicode, rollbackiem adopcji całej grupy oraz oddzielonym natywnym API wyglądu członków z dostarczoną czcionką

Legacy pola choice XFA zachowują wartości powtórzonych instancji, etykiety display, okna selekcji list i stylowane wyglądy Unicode, z rollbackiem per pole i oddzieloną fabryką z dostarczonym fontem

Version 2.938.0: Renderowanie czterech standardowych intencji kolorów przez stany grafiki, formularze, obrazy, shadingi, wzorce i grupy przezroczystości, z nadpisaniami dla obrazów, fallbackiem względnym dla nieznanych nazw i ograniczonym, anulowalnym cache transformacji ICC

Binarna wymiana adnotacji FDF zachowuje dostarczone słowniki adnotacji, stany wyglądów, współdzielone zasoby fontów i obrazów oraz jawne lokalne cele GoTo przez ograniczone natywne API, nowoczesną wymianę wczytanych dokumentów Windows, joby plikowe i wersjonowane callbacki Windows/Linux

Pasujące nazwy adnotacji na tej samej stronie wybierają podmiany; nienazwane albo niepasujące adnotacje są doklejane, podczas gdy uwierzytelniona polityka, atomowa publikacja i dokładne zacommitowane bajty no-op pozostają wymuszane

Natywna wymiana XFDF adnotacji dopisuje osiemnaście zmapowanych typów adnotacji z ograniczonymi danymi binarnymi, zawartością rich Unicode, obiektami popup i reply, uwierzytelnionymi uprawnieniami i transakcyjną publikacją przez callbacki natywne/Linux

Version 2.939.0: Tworzenie legacy pól combo i list XFA z dokładnymi exportami powtórzonych instancji, etykietami display, zaznaczonymi indeksami, pozycjami scrolla i stylowanymi wyglądami Unicode, z zachowaniem flag high pól i rollbacku per-pole, fabryką choice z oddzieloną dostarczoną czcionką i trybem metadata-only

Version 2.940.0: Wymiana osiemnastu zmapowanych typów adnotacji przez ograniczone natywne operacje XFDF i Linux V1 JSON, z zachowaniem zawartości Unicode rich, calloutów, przezroczystych kolorów, załączników binarnych, linków popup i forward-reply, uwierzytelnionych uprawnień i transakcyjnej publikacji dopisywania

Version 2.941.0: Zastosowanie niezależnie kaskadowanych natywnych CSS oraz oryginalnego typowanego odstępu liter i słów do runów shapowanych, fizycznych linii, dopasowywania i zapisanych wyglądów, z wyliczoną serializacją punktów, dokładnym zaokrąglaniem dziesiętnym i transakcyjną publikacją JSON Windows/Linux

Natywny fallback adnotacji maluje wspierane adnotacje bez wyglądów normal, używając ograniczonej tymczasowej geometrii oraz zasobów tekstu i fontów

Domyślne wyglądy FreeText nakładają ograniczony profil operatorów DA, transformowane automatyczne dopasowanie, zawijanie po granicach słów i korzeniowo zakresowany stan tekstu oraz dekoracji, zachowując geometrię adnotacji i zasoby źródła; cztery skończone kontrole malowania i przycinania Tr4 do Tr7 przeszły niezależne czytniki MuPDF 1.28.5 i Poppler, a oryginalne 90 obrazów czytników przeszło niezależny model pełnych komórek w swoim przypiętym korpusie

Version 2.941.1: Walidacja unikalności zaznaczeń natywnych XFA choice z ograniczonym sortowaniem podlegającym anulowaniu, przy zachowaniu dokładnych wartości export rozróżniających wielkość liter, oryginalnej kolejności zaznaczeń i transakcyjnego zachowania przy błędzie

Wymiana XFDF adnotacji w Windows eksportuje zmapowane adnotacje i dopisuje uwierzytelnione XFDF przez ograniczone plikowe joby i oryginalne callbacki V1, z publikacją atomową i dokładnymi bajtami no-op

Version 2.942.0: Renderowanie wspieranych adnotacji bez wyglądów normal przez ograniczoną tymczasową geometrię, zakończenia linii, ikony i Unicode FreeText, z zachowaniem zasobów źródłowych, rich text, flag widoku/druku i anulowania

Natywna publikacja no-op typowanych formularzy zachowuje dokładne bajty wczytanego PDF dla niezmienionych mieszanych aktualizacji i pustych batchy, przy zachowaniu oczekujących edycji grafu, uwierzytelnionych polityk i publikacji atomowej

Version 2.943.0: Wymiana zmapowanych XFDF adnotacji przez plikowe joby Windows i oryginalne callbacki V1 z uwierzytelnianymi transakcjami dopisywania, ograniczonymi danymi binarnymi i Unicode, dokładnymi bajtami no-op i publikacją atomową

Dynamiczne elementy choice XFA aktualizują żywe listy display i export, zachowują przetrwałe aliasy węzłów i dokładne zaznaczenia oraz zapisują natywne i legacy wyglądy choice PDF ograniczonymi transakcyjnymi operacjami skryptowymi

Version 2.943.1: Zachowanie dokładnych bajtów wczytanego PDF, gdy natywne transakcje rich-text mieszające skalary i typy albo puste batche nie wprowadzają zmian, przy zachowaniu oczekujących edycji grafu, uwierzytelnionych polityk podpisów i szyfrowania, limitów zasobów i publikacji atomowej

Lokalne destynacje adnotacji zachowują osiem trybów celowania stron, nazwy Unicode i autorską precyzję dziesiętną przez natywną i legacy wymianę XFDF, z kwalifikowanym Adobe XML i transakcyjnymi callbackami Windows/Linux

Version 2.944.0: Zarządzanie żywymi elementami display i export XFA choice przez JavaScript i FormCalc, z zachowaniem przetrwałych aliasów, dokładnych zduplikowanych lub pustych zaznaczeń, natywnych list per-instancja oraz zapisanych wyglądów PDF natywnych lub legacy pod ograniczonymi limitami mutacji

Fonty rich adnotacji tylko do odczytu wspierają osadzanie Preview/Print i kompletne fonty bez subsettingu pod jawnymi uprawnieniami per wywołanie; adnotacje Screen zachowują istniejące wyglądy i nie malują niejawnego placeholdera multimedialnego

Version 2.945.0: Zachowanie lokalnych stronicowych i nazwanych destynacji adnotacji przez natywną i legacy wymianę XFDF, z dokładnymi ograniczonymi tokenami dziesiętnymi, kwalifikowanym Adobe XML, walidacją duplikatów atrybutów i transakcyjną publikacją callbacków Windows/Linux

Version 2.946.0: Renderowanie tymczasowego tekstu rich adnotacji z jawnymi uprawnieniami czcionek Preview/Print tylko do odczytu i niezmienionymi pełnymi bajtami czcionek, z zachowaniem edytowalnych polityk osadzania i istniejących wyglądów Screen bez niejawnych placeholderów multimedialnych

Version 2.946.1: Zachowanie obecnych pustych atrybutów XFA oraz nazw, wartości, przestrzeni nazw i zapytań indeksowanych UTF-8 przez natywną serializację XML, trwałe domyślne właściwości, powtórzone zdarzenia skryptowe i transakcyjny rollback

Version 2.946.2: Naprawa arytmetyki słów SHA-1, SHA-256, SHA-384 i SHA-512 przy włączonych kontrolach zakresu i przepełnienia kompilatora, z zachowaniem poprawnych digestów i uwierzytelniania haseł AES-256 bez zmiany publicznych interfejsów

Version 2.946.3: Zastosowanie xfa.host.resetData przez zdarzenia natywne bez błędnego traktowania go jako importu Data XML, z zachowaniem domyślnych wartości szablonu, zbindowanych wartości, powtórzonych zakresów, oczekujących edycji i transakcyjnego rollbacku

Version 2.947.0: Renderowanie fasetowanych i cofniętych prostokątnych ramek adnotacji oraz mierzonych podpisów w Unicode lub rich line, z zachowaniem krycia, przesunięć końcówek, istniejących wyglądów, ograniczonych zasobów czcionek i przycinania adnotacji

Version 2.947.1: Zachowanie jawnych pustych deklaracji domyślnej przestrzeni nazw XML podczas parsowania i serializacji XFA, dzięki czemu niekwalifikowane poddrzewa danych nie dziedziczą przestrzeni nazw przodka po zapisie i ponownym wczytaniu

Version 2.948.0: Renderowanie wypełnionych masek glifów z przechwyconym ułamkowym pokryciem clipu przy zachowaniu ścieżek PDF, wzorców, alfy i operatorów blendowania, wraz z kontrolą pojemności pamięci roboczej rastra przed alokacją

Version 2.949.0: Zachowanie rozróżnienia między brakiem wybranych opcji choice a wybraną pustą wartością export przez natywną wymianę XFDF Windows i Linux, z dokładną publikacją no-op, ograniczoną walidacją i sprawdzanym wczytywaniem zaszyfrowanych dokumentów

Version 2.950.0: Tworzenie, klonowanie, zmiana nazw, wstawianie i usuwanie natywnych węzłów Data DOM w XFA z ograniczoną własnością, dziedziczonymi przestrzeniami nazw, stabilnymi referencjami importowanymi, odświeżaniem bindowania i kompletnym rollbackiem zdarzeń; atrybuty UTF-8 i zapamiętane referencje FormCalc są zachowywane przez zapisany XML i natywnych konsumentów PDF

Version 2.951.0: Renderowanie ograniczonych zachmurzonych ramek dla adnotacji Square, Circle, Polygon i FreeText bez wyglądów normal, z zachowaniem szerokości, kreskowania, krycia i grafów źródłowych; współdzielenie niemodyfikowalnych wygenerowanych bajtów czcionek między widokami FreeText bez ponownego doliczania zdekodowanych bajtów, przy zachowaniu budżetów parsowania i anulowania

Version 2.952.0: Zdalne destynacje adnotacji zachowują specyfikacje plików Unicode i dokładne współrzędne przez natywną wymianę i callbacki Windows/Linux; zwykłe importy adnotacji z wczytanych dokumentów zachowują uwierzytelnione polityki szyfrowania i podpisów, dokładne zakresy podpisów i współdzielone wartości pól RC4

Version 2.953.0: Kolekcje węzłów zapytań XFA dostarczają niezależnych zapamiętanych list, metadanych wystąpień i ograniczonych transakcyjnych edycji przez natywne zapisane wartości i wyglądy; zapamiętani menedżerowie podążają za bieżącym grafem zdarzeń, a zwykła ewaluacja SOM zachowuje oryginalne limity stosu

Version 2.954.0: natywne arkusze stylów rich-text stosują ograniczone wewnętrzne selektory, ważność, specyficzność i kolejność źródłową przez rzeczywiste zapisane pola i transakcje FDF/XFDF Windows/Linux

Version 2.955.0: Żywe kolekcje potomne XFA śledzą bieżące potomków formularzy i właściwości, powtórzone instancje i niejawne właściwości między zdarzeniami; niezależne klony odwołują się do rzeczywistych wartości natywnych i zapisanych wyglądów PDF z ograniczonym rollbackiem zdarzeń

Version 2.955.1: kontrolowana arytmetyka kryptograficzna i uzgodnienie kluczy zachowują SHA3/SHAKE i wymiany krzywych pełnej szerokości przy włączonych kontrolach liczb całkowitych oraz odrzucają kanoniczne całkowicie zerowe sekrety współdzielone X25519/X448

Version 2.956.0: Wyglądy pól i adnotacji OpenType CFF zachowują rzeczywiste tożsamości zbiorów znaków, kompletne bajty fontów, wymierzone metryki, tekst Unicode i ograniczone zasoby fontów

Version 2.956.1: Kolekcje potomne FormCalc rozwiązują ścieżki nodes przez rzeczywisty kompilator i zachowują ograniczony replay zdarzeń, zapisane wartości i natywne wyglądy PDF

Version 2.957.0: rozszerzone natywne selektory rich-text stosują atrybuty, rodzeństwo, pozycje strukturalne, język i negację do zapisanych wartości i transakcyjnych wyglądów pól

Version 2.958.0: Żywe numeryczne indeksy potomków Data DOM zachowują bieżącą natywną kolejność i wymuszają dostęp tylko do odczytu wewnątrz zapamiętanych obiektów skryptowych, z ograniczonym rollbackiem zdarzeń i zapisanymi wyglądami PDF

Version 2.959.0: logiczne i relacyjne selektory rich-text stosują złożone listy not/is/where, zakotwiczone relacje has i filtrowane pozycje nth-child do rzeczywistych zapisanych wartości i transakcyjnych wyglądów pól

Version 2.960.0: Transport wyglądów Stamp standardowego XFDF zachowuje rzeczywiste strumienie Form, ograniczone zasoby fontów i obrazów, uwierzytelnione uprawnienia i atomową publikację natywną albo przez callbacki

Version 2.961.0: Wyglądy adnotacji z surowymi fontami domyślnymi używają oryginalnych programów Type1C, CIDFontType0C i gołego Type1 dla ograniczonego tymczasowego tekstu i wyglądów rich-caption

Version 2.962.0: Zawijanie słów adnotacji z surowymi fontami zachowuje kompletne zakodowane komórki i runy stylów, z ograniczonym reflow i mierzalnym anulowaniem

Version 2.963.0: natywne przestrzenie nazw CSS rich-text stosują zakresowane deklaracje i kwalifikowane selektory do rzeczywistych zapisanych wyglądów i transakcji formularzy Windows/Linux, z ograniczonym dziedziczonym wyszukiwaniem przestrzeni nazw i zgodnością buildów sprawdzanych

Version 2.964.0: Wyglądy OpenType CFF2 instancji domyślnej zachowują oryginalną tożsamość glifów, mapowanie Unicode i uprawnienia fontów, konwertując kompletne kontury domyślne w statyczne programy CFF 1 kluczowane CID dla zapisanych pól PDF

Version 2.965.0: transakcyjne natywne drzewa formularzy XFA wspierają tworzenie, klonowanie i edycje własności potomków ze stabilnymi przeżywającymi aliasami, rollbackiem, wystąpieniami pustego scalenia i trwałością zapisanych pakietów formularzy

Version 2.966.0: natywne media queries rich text ewaluują jawne profile hosta print/screen, media atrybuty stylów, zagnieżdżone warunki Boolean i zakresy cech przed zapisaniem obliczonych wartości rich i wyglądów

Wersja 2.967.0: zewnętrzne arkusze rich-text dostarczone przez wywołującego rozwiązuje linkowane arkusze i importy, współdzielone preferowane albo alternatywne zestawy tytułów i bazy dokumentów przed transakcyjną natywną, Windows i Linux publikacją danych formularzy

Wersja 2.968.0: jawne preferencje rich-text dodają schemat kolorów, reduced motion/transparency/data, kontrast, wymuszone i odwrócone kolory oraz dostępność skryptów, zachowując nieznane wartości przy pominięciu

Wersja 2.969.0: skończona matematyka liczbowa CSS rich text dodaje calc, min, max i clamp, długości względne do korzenia i jawne długości viewportu oraz obliczone metryki linii i odstępów w rzeczywistych zapisanych wyglądach

Wersja 2.970.0: natywne support queries CSS dopuszczają warunkowe grupy rich-text i importy przy użyciu obsługiwanej gramatyki deklaracji i selektorów, współdzielonych budżetów i transakcyjnych zapisanych wyglądów

Wersja 2.971.0: korzeniowy scope i statyczne selektory akcji użytkownika zachowują logiczne dopasowanie selektorów, warunkowe przyjmowanie arkuszy i obliczone zapisane wyglądy

Wersja 2.971.1: haszowanie cache shaped-run zachowuje arytmetykę modularną przy włączonych kontrolach zakresu i przepełnienia w buildach FPC 3.3.1 Windows

Wersja 2.974.0: usuwanie adnotacji po stronie i nazwie przygotowuje ograniczone kaskady popupów i odpowiedzi przez natywne API, transakcje Windows, joby JSON i wersjonowane callbacki, zachowując uprawnienia, podpisane rewizje i rollback nieudanej publikacji

Wersja 2.973.0: binarna wymiana adnotacji FDF zachowuje zasoby wyglądów, współdzielone grafy obiektów i lokalne destynacje akcji przez ograniczone natywne API, wymianę Windows i wersjonowane callbacki

Wersja 2.972.0: natywne domyślne wyglądy adnotacji zachowują stan tekstu, automatyczne dopasowanie, rich text i przycinanie w renderowaniu headless

Natywne workflow dokumentów w Linuksie tworzą dokumenty HTML z osadzonymi fontami Unicode i kontrolkami AcroForm, wstawiają widoczny albo przeszukiwalny tekst stron, wykonują rzeczywisty OCR Tesseract ograniczonymi anulowalnymi procesami potomnymi i autorują niezależnie walidowane wyjście rastrowe PDF/A-4

Headless dowody DSS/VRI walidują łańcuchy certyfikatów oraz dostarczone autoryzacje OCSP/CRL, podpisy, status i świeżość przed przyrostową publikacją dowodów, także dla dokumentów zaszyfrowanych

Transport hosta XFA dostarcza jawne typowane callbacki dla akcji hosta i FormCalc Get/Post/Put, nagrywa odpowiedzi dla bezpiecznych ponowień żądań i replayu stanu modułów oraz raportuje zakończenie transakcji dla kompensacji po stronie aplikacji

Headless znaczniki czasu RFC 3161 walidują imprinty wiadomości, nonce, autoryzację TSA, zaufanie do certyfikatów i dostarczone dowody odwołań, a potem osadzają rzeczywisty token znacznika czasu w odłączonych podpisach CMS; niepowodzenie wymaganego znacznika czasu zachowuje plik docelowy

Trwałe sesje JavaScript XFA zachowują stan leksykalny obiektów skryptowych, zagnieżdżone domknięcia i niezależne moduły powtórzonych instancji z ograniczonym, deterministycznym transakcyjnym rollbackiem

Zachowanie PDF/A-4 wczytanych dokumentów zachowuje oryginalne operatory tekstu, wektory, obrazy, osadzone programy fontów i istniejące warstwy OCR; składa widoczne wyglądy adnotacji/widgetów, opcjonalnie dodaje przeszukiwalny OCR, raportuje jawne utraty i waliduje zachowanie przed atomową publikacją pliku

Rastrowa konwersja archiwalna załadowanego PDF/A-4 przebudowuje widoczną treść stron na ograniczone obrazy sRGB w świeżo walidowanym dokumencie PDF/A-4, normalizując fonty, przezroczystość i namalowane kolory przez ścisły renderer natywny; API plikowe etapuje i atomowo publikuje wynik, a raport identyfikuje usunięte adnotacje, formularze i załączniki. Ta opt-in ścieżka archiwizacji wizualnej odrzuca oryginalny tekst wektorowy, tekst przeszukiwalny, podpisy i treść interaktywną

Wyjście PDF 2.0 wspiera teraz identyfikację i walidację PDF/A-4, PDF/A-4e, PDF/A-4f, PDF/UA-2, PDF/X-6, PDF/X-6p i PDF/X-6n, łącznie z XMP świadomym rewizji rozwiązanym po URI namespace, transakcyjną naprawą PDF/A-4 dla bezpiecznej normalizacji nagłówka, traileru, metadanych, Catalog i prezentacji z rollbackiem bajt w bajt i zachowaniem treści stron, wybieralnymi zestawami reguł PDF/X-6 z ISO 15930-9:2020 albo z rozwiązanych errat, rzeczywistymi kontrolami nagłówka ICC i kanałów, output intentami dokumentu i strony, rzeczywistym namalowanym kolorem i overprintem przez tablice treści, zagnieżdżone formy, wzory kafelkowe i cieniowania, obrazy, maski obrazów, cieniowania, glify Type 3, miękkie maski i appearance adnotacji, odziedziczoną grafikę i tra

Tabele Tagged PDF 2.0 dostają ograniczoną ekspansję grida, kontrole przecięć i grup wierszy, lokalną dla tabeli asocjację nagłówków i wykrywanie cykli, a listy dostają kompletne kontrole numeracji i łańcuchów kontynuacji; egzekwowane są dokładne sekwencje Ruby i Warichu, a aplikacje mogą zapisywać per-element podpowiedzi wymowy albo uporządkowane osadzone leksykony PLS przez SetStructurePronunciation i AddPronunciationLexicon

Cykl v2.119.32-51 dodał po stronie producenta kształtowanie znaków arabskich / perskich / urdu (obowiązkowa ligatura LAM-ALEF, 9 liter Arabic Presentation Forms-A), kompletny silnik substytucji OpenType GSUB obejmujący każdy LookupType 1-8 z wyborem Script / LangSys i zamknięciem podzbioru TTF dla glifów zastępczych, obsługę kontenerów XFA (XML Forms Architecture) (AddXFAPacket / ClearXFAPackets / XFAPacketCount), rodzinę wyzwalaczy pól formularza AcroForm /AA /K + /F + /V + /C, rejestrację czcionek multi-Unicode /DR za pomocą RegisterAcroFormFont, ustawienia atrybutów dostępności elementów struktury (/Lang / /E / /T) z wyliczeniem standardowego typu struktury Table 333 i typowanym przeciążeniem AddStructureElement oraz właściwości sekwencji zawartości oznaczonych w BeginTaggedContent

Cykl v2.119.52-68 zamknął automatyczny potok kształtowania Phase 8 i rozszerzył zakres obsługiwanych pism: Arabic Extended-A (w tym U+0750-077F Arabic Supplement oraz U+08A0-08FF Arabic Extended-A) oraz perski / urdu Form-B zostały rozszerzone do pełnej tabeli klas łączenia U+0672-06D5 plus 26 nowych mapowań Forms-A, z późniejszym składaniem dla LAM-ALEF, par YEH-HAMZA + samogłoska (8 ligatur w U+FBEA-FBFB), samodzielnej ligatury Allah (U+FDF2) i 22-kodowej frazy Bismillah (U+FDFD). Nowa opcjonalna właściwość ShapingFeatures + wyliczenie THPDFShapingFeature (sfArabicGSUB / sfStandardLigatures / sfContextualLigatures / sfContextualAlternates / sfIndicShaping) sprawia, że producent automatycznie emituje specyficzne dla czcionki podstawienia rlig / liga / clig / rclt oparte na GSUB, przy czym standardowe ligatury łacińskie (ff / fi / fl / ffi / ffl / ſt / st przez U+FB00-FB06) oraz reorganizacja sylab Devanagari Indic (Repha + pre-base I-matra) dołączają do tego samego potoku. Nowe metody możliwości kształtowania dla pisma syryjskiego (GetSyriacJoiningClass / GetSyriacPosition), mongolskiego (GetMongolianJoiningClass / GetMongolianPosition) oraz Devanagari (GetDevanagariCategory / ApplyDevanagariReorder) pozwalają wywołującym kierować skomplikowane pisma niearabskie przez ten sam silnik GSUB. GetCodepointAdvance udostępnia buforowaną ułamek em /W do obliczeń zawijania, a AssignSyntheticCodepointForGID / GetSyntheticCodepointForGID pozwalają producentowi emitować dowolny glif zastępczy GID z GSUB (kształty klastrów Devanagari, alternatywy stylistyczne, sekwencje wariantów CJK) za pomocą punktów kodowych Private-Use-Area z pełną integracją /CIDToGIDMap + /ToUnicode + /W. Zbiorcza mapa ToUnicode CMap zawiera teraz 35 wpisów odwrotnego mapowania ligatur (8 z rodziny LAM-ALEF + 18 z rodziny YEH-HAMZA + 1 Allah + 1 Bismillah + 7 łacińskich), dzięki czemu kopiowanie/wklejanie w czytniku generuje źródłowe punkty kodowe. Szkielety dokumentacji dla ChangeLog są teraz dostarczane w 11 językach (EN / CN / AR / DE / ES / FR / IT / JA / KO / PT / RU) z interfejsem wyboru języka; limit retencji ChangeLog został zwiększony z 250 do 500 sekcji wersji

Cykl v2.152-v2.190 rozbudował kompletny silnik pozycjonowania OpenType GPOS i rozszerzył zakres obsługi skomplikowanych pism. Opcjonalne opcje kształtowania stosują teraz własny kerning czcionki (parzysty, kontekstowy i od prawej do lewej), rozmieszczanie znaków łączących (znak-do-bazy, znak-do-znaku oraz znak-do-ligatury na komponent), kotwice połączeń pisma łączonego oraz kerning pionowy dla tekstu pionowego, wszystko zapisane jako standardowe operatory tekstowe PDF, dzięki czemu każdy czytnik renderuje ten sam wynik. Kształtowanie po stronie producenta obejmuje teraz pismo arabskie (w tym bloki Supplement, Extended-A i Extended-B), syryjskie, mongolskie, N'Ko, Adlam, Hanifi Rohingya, układanie spółgłosek tybetańskich, Devanagari i inne pisma indyjskie poprzez łańcuch cech Indic czcionki, jawajskie, porządkowanie znaków tajskich i laotańskich, porządkowanie punktów samogłoskowych hebrajskich, khmerskie, birmańskie, Tai Viet oraz Meetei Mayek. Rodzina opcjonalnych funkcji typograficznych OpenType - ligatury standardowe, uznaniowe i historyczne, kapitaliki, cyfry tekstowe / wersalikowe / proporcjonalne / tabelaryczne, indeksy górne, indeksy dolne, liczebniki porządne, ułamki, indeksy dolne naukowe, liczniki, mianowniki, alternatywy stylistyczne i kontekstowe, formy zlokalizowane, formy wrażliwe na wielkość liter, przekreślone zero i alternatywy pionowe - może być stosowana automatycznie podczas wyprowadzania tekstu. Kopiowanie, wklejanie i wyszukiwanie tekstu odzyskują oryginalne znaki we wszystkich kształtowanych danych wyjściowych, w tym w ligaturach i łańcuchowych substytucjach cech. Dane wyjściowe czcionek stały się również mniejsze: osadzone programy czcionek są zawsze kompresowane algorytmem Flate, czcionka używana na kilku stronach jest osadzana raz na dokument, tagi podzbiorów są generowane deterministycznie dla powtarzalnych danych wyjściowych, a opcjonalny tryb kompaktowy zapisuje zwykły tekst ASCII przy użyciu standardowych czcionek jako nieosadzony tekst WinAnsi

Zakres standardów PDF

HotPDF zawiera specyficzną dla wersji obsługę praktycznych funkcji tworzenia PDF 1.3, PDF 1.4, PDF 1.5, PDF 1.6 i PDF 1.7, używanych przez aplikacje biznesowe, obrazowania, wydawnicze oraz automatyzacji dokumentów. Publiczne interfejsy API są sprawdzane pod kątem wybranej wersji PDF, dzięki czemu generowane pliki unikają nowszych wpisów, gdy wymagana jest ścisła kompatybilność

Bieżąca matryca obejmuje filtry i predyktory, strumienie XRef, łańcuchy aktualizacji przyrostowych, szyfrowanie AES, zabezpieczenia kluczem publicznym, kolory DeviceCMYK i ICCBased, wzorce kafelków, cieniowania osiowe/promieniowe/wielostopniowe, obrazy wbudowane, warstwy, grupy przezroczystości, przejścia stron, adnotacje, widżety AcroForm, zewnętrzne haki podpisywania, metadane XMP, otagowane drzewa struktury PDF, OutputIntents, produkcyjne ramki stron, ViewerPreferences, UserUnit, kolejność Tabs oraz osadzanie/tworzenie podzbiorów czcionek dla czcionek TrueType, Type 3, CFF, OpenType-CFF i CID-keyed CFF

Jest to szeroki zakres obsługi standardów dla obsługiwanego obszaru tworzenia HotPDF, a nie ogólne twierdzenie, że każdy przypadek brzegowy w ISO 32000-1 został zaimplementowany

Dlaczego warto wybrać HotPDF

Własne potoki filtrów strumieni

Rejestr IHPDFCustomStreamFilter komponuje dekodery push/pull zdefiniowane przez aplikację z wbudowanymi filtrami pod jednym zagregowanym budżetem bajtów, jawnymi kontraktami seek, kooperatywnym anulowaniem, izolowanym wyjściem tymczasowym, typowanymi statusami porażki i telemetrią wykonania

Dekodowanie RunLength waliduje zakodowane przebiegi, zanim zarezerwuje dokładnie rozmiar zdekodowanego wyjścia, a read-ahead bezpośredniego odczytu pliku odrzuca niekompletne uzupełnienia cache po porażkach I/O

Natywne dopasowanie do RAD Studio

Używaj znanych projektów, pakietów, strumieni, formularzy i wzorców rysowania Delphi i C++Builder zamiast opakowywać oddzielny silnik PDF

Nowoczesne funkcje PDF

Buduj pliki PDF z formularzami, adnotacjami, warstwami, przezroczystością, przejściami stron, otagowaną strukturą, szyfrowaniem, symbolami zastępczymi podpisów i aktualizacjami przyrostowymi

Kompaktowe i szybkie dane wyjściowe

Zmniejsz rozmiar PDF dzięki kompresji zlib-ng, obrazowaniu libjpeg-turbo, podzbiorom TrueType, podzbiorom OpenType-CFF oraz obsłudze CID-keyed CFF dla dużych czcionek CJK

Przewagi konkurencyjne

Poniższe możliwości stanowią wyraźne różnice techniczne dla HotPDF w porównaniu z typowymi komponentami Delphi PDF. Większość konkurencyjnych komponentów komercyjnych albo w ogóle nie ma tych funkcji, albo są one znacznie słabsze w środowisku produkcyjnym. Każdy wiersz odpowiada weryfikowalnej implementacji i publicznemu interfejsowi API wewnątrz biblioteki

Kompletne kształtowanie i pozycjonowanie OpenType

Pełny silnik substytucji GSUB obejmujący każdy LookupType 1-8 (Single, Multiple, Alternate, Ligature, Contextual, Chained Contextual, Extension, Reverse Chained Contextual), sparowany z silnikiem pozycjonowania GPOS obejmującym wszystkie 9 LookupTypes (kerning parzysty / pojedynczy / kontekstowy, mark-to-base, mark-to-mark, mark-to-ligature na komponent ligatury, cursive attachment, odległość, pionowe vkrn/vpal). Całe pozycjonowanie jest emitowane za pomocą standardowych operatorów tekstowych PDF, dzięki czemu każdy czytnik renderuje identycznie

Kształtowanie skomplikowanych pism po stronie producenta

Ponad 20 pism kształtowanych po stronie producenta, sterowanych przez własny łańcuch cech GSUB czcionki: arabski (w tym Supplement / Extended-A / Extended-B), syryjski, mongolski, N'Ko, Adlam, Hanifi Rohingya, układanie tybetańskie, Devanagari i rodzina indyjska, jawajski, porządkowanie znaków tajskich / laotańskich, porządkowanie samogłosek hebrajskich, khmerski, birmański, Tai Viet, Meetei Mayek. Dane wyjściowe zawierają pełne odwrotne mapowanie /ToUnicode, dzięki czemu kopiowanie/wklejanie odzyskuje oryginalne punkty kodowe

Stos podpisywania w procesie

Rozpakowywanie ASN.1, RSA, AES i PBES2 PKCS#12 z profilami AES-128 / AES-192 / AES-256 CBC oraz HMAC-SHA-1 / SHA-256 / SHA-384 / SHA-512 PBKDF2, legacy'owe rozpakowywanie PFX PBE-SHA1-3DES i CMS SignedData (RFC 5652) są obsługiwane wewnątrz HotPDF. SignPDFWithPFX podpisuje tożsamości RSA i ECDSA kodem natywnym, a dla Ed25519 / Ed448 PureEdDSA używa opcjonalnego OpenSSL 3 libcrypto; pliki PFX z wieloma tożsamościami mają deterministyczny wybór po localKeyId i automatycznie osadzają pasujący dostępny łańcuch certyfikatów z dokładną deduplikacją DER, podpisyjący CMS mogą używać tożsamości issuer-and-serial albo kompaktowych X.509 SubjectKeyIdentifier, kontenery CMS z wieloma podpisującymi zachowują niezależne atrybuty, algorytmy, certyfikaty, providerów i wyniki walidacji, walidacja polityki podpisu PAdES obsługuje jawne identyfikatory polityk, ustrukturyzowane kwalifikatory, hashowanie dokumentu polityki i przypinanie przez wywołującego, a preflight profilu PAdES raportuje każde wymaganie baseline lub extended z dowodem klauzuli, obiektu i rewizji — weryfikacja załadowanych podpisów obsługuje RSA PKCS#1 v1.5, RSA-PSS z walidacją parametrów, NIST i Brainpool ECDSA, Ed25519, Ed448, polityki skrótów SHA-2, SHA3 i SHAKE256, tokeny znaczników czasu RFC 3161, ścieżki certyfikatów kontrolowane przez wywołującego, offline'ową walidację OCSP albo CRL i fail-fast, czytelne maszynowo diagnostyki niespójnych algorytmów skrótu CMS

Długoterminowa walidacja PAdES od początku do końca

Przepływy PAdES B-B, B-T, B-LT i B-LTA są pokryte od początku do końca: walidacja podpisów i znaczników czasu dokumentu RFC 3161 w SHA-2 albo SHA3, odnawianie znaczników czasu archiwum trybem append-only z dowodami DSS, OCSP i CRL dostarczonymi przez wywołującego, dokładna deduplikacja dowodów między rewizjami, walidacja DSS / VRI, trust anchor'y od wywołującego, ograniczenia Seed Value, deklaracje rozszerzeń ISO 32001 i XAdES-in-PDF

Zgodność na trzech osiach + Preflight

Niezależne bramkowanie profili dla PDF/A-1/-2/-3, PDF/X-1a/-3/-4 i PDF/UA-1 jednocześnie — wywołania niezgodne rzucają wyjątki diagnostyczne zamiast po cichu zapisywać niespełniające norm pliki PDF. CreatePreflightReport generuje raporty text / JSON / HTML / CSV / XML ze stabilnymi ID reguł i lokalizacjami, a CreatePreflightMRR dodaje deterministyczne, ograniczone pluginy funkcji i walidacji dla własnych polityk CI

Interfejs API Direct File dla wielogigabajtowych plików

Działa na pliku PDF na dysku bez budowania wykresu obiektów w pamięci. Na dokumencie o rozmiarze 2 GB z 1,67 miliona obiektów: szyfrowanie AES-256 ~14 s, deszyfrowanie ~16 s, pełne przepisanie ~6 s; odczytanie liczby stron dokumentu 1,25 GB zajmuje milisekundy. Klasyczne tabele xref, strumienie XRef, pliki o referencjach hybrydowych i dokumenty aktualizowane przyrostowo pozostają na bezpośredniej ścieżce

Ograniczone odzyskiwanie uszkodzonych PDF-ów

Po uszkodzonym startxref relokalizuje nienaruszone tabele xref albo strumienie xref, a gdy to nie wystarcza, przechodzi na świadomy tokenów skaner 1 MiB kawałków, który przebudowuje offsety obiektów bezpośrednich z konfigurowalnymi budżetami bajtów i obiektów, pierwszeństwem najnowszej definicji, odsiewaniem fałszywych trafień w treści strumieni, ograniczonymi zdarzeniami pewności z zakresami bajtów i obowiązkowym pełnym przepisaniem przy zapisie

Podzbiory CFF / OpenType-CFF / CID

W czcionkach TrueType, OpenType-CFF i CID-keyed CFF można tworzyć podzbiory z zachowaniem glyph ID dla tekstu Type0 / Identity-H. Dokumenty CJK, które wcześniej osadzały 14-megabajtowe programy CID-keyed CFF, wychodzą teraz w 500 KB - 2 MB bez utraty ani jednego rysowanego glifu; osadzone programy czcionek są zawsze kompresowane algorytmem Flate, czcionka używana na wielu stronach jest osadzana raz dla całego dokumentu, a tagi podzbiorów są deterministyczne, żeby powtarzalne uruchomienia dawały identyczne wyjście. Opcjonalne kompaktowe podzbiory TrueType ponownie numerują zachowane glify, więc kilka znaków CJK potrzebuje już tylko kilku kilobajtów danych czcionki, a pojedynczy przełącznik CompressDocument łączy je z kompresją Flate i strumieniami obiektów dla najmniejszego możliwego wyjścia; dla załadowanych PDF-ów ta sama bezstratna obróbka jest dostępna przez CompressLoadedDocument

Ujednolicona fasada rejestrowania w czasie rzeczywistym

THPDFLogger + globalny HPDFLog oferują przełączalną w czasie rzeczywistym fasadę diagnostyczną: filtrowanie ważności błędów / ostrzeżeń / informacji / debugowania, jednoczesne cele zapisu do pliku + OutputDebugString + konsoli, bezpieczeństwo wątków, pojedyncza kopia zapasowa 10 MB z rotacją, wyłączona szybka ścieżka o zerowym narzucie. Metoda LoadFromFile, raporty weryfikacji wstępnej (preflight) oraz ścieżka awaryjna strumienia obiektów są już powiązane ze strukturalną diagnostyką, którą można przełączać w czasie rzeczywistym bez ponownej kompilacji - możliwość operacyjna, której brakuje większości konkurencyjnych komponentów

Cztery adaptery silników raportów

Wymienne backendy PDF dla FastReport (TfrxHotPDFExport), QuickReport (TQRHotPDFExportFilter), ReportBuilder (TppHotPDFDevice) i DevExpress ExpressPrinting (obejmujące cxGrid / cxRichEdit / cxScheduler / cxPivotGrid). Istniejące układy raportów nadal działają - zmieniany jest tylko emiter PDF

Są to gotowe i dostarczone możliwości, a nie obietnice na przyszłość. Każdy z powyższych elementów jest zaimplementowany w obecnej bibliotece, kompiluje się bez błędów i przechodzi testy DUnitX oraz weryfikację veraPDF od początku do końca. Oceniając konkurencyjne komponenty, poproś o dowód pełnego pokrycia GSUB/GPOS LookupType, łańcucha PAdES B-LTA działającego w ramach procesu oraz zmierzonej przepustowości szyfrowania wielogigabajtowego

Główne możliwości

  • Zbuduj przenośny rdzeń Linux z natywnym mapowaniem plików POSIX, obiektami PDF i dekodowaniem treści, współdzielonymi danymi fontów sfnt, kompresją, kryptografią i klasyczną serializacją PDF; wczytuj tabele klasyczne, strumienie xref, referencje hybrydowe i strumienie skompresowanych obiektów, wyodrębniaj tekst Unicode stron i Form oraz zapisuj niezależne wartości text AcroForm przez natywne headless API dokumentów; zabezpieczenia, podpisy i renderowanie pozostają w integracji
  • Porównuj treść kontraktów po akapitach i tokenach słów lub zdań, zachowuj dwustronne pozycje źródłowe, wykrywaj przestawienie klauzul, wykluczaj jawne klauzule standardowe i twórz wyjście przeglądowe HTML albo PDF z adnotacjami
  • Rozpoznawaj wiele kodów kreskowych w jednym rastrze, zachowuj identyczne ładunki w osobnych lokalizacjach i próbkuj obrócone albo projekcyjne moduły ECC 200 Data Matrix z ograniczoną pracą, geometrią czterech narożników, anulowaniem i atomową publikacją wyników
  • Twórz pliki PDF, dodaj strony, rysuj tekst, rysuj grafikę wektorową i zapisuj do plików albo strumieni należących do wywołującego
  • Konwertuj i renderuj XPS, EPUB i CBZ przez opcjonalne handlery punktowane treścią, z ograniczoną pracą nad archiwami i konwersją
  • Importuj paged media HTML5 z tolerancyjnym DOM, kaskadą CSS do druku, tabelami, zagnieżdżonymi panelami biznesowymi flex/grid, zawijanymi wierszami, rozpiętościami kolumn, obrazami i opcjonalnymi kontrolkami AcroForm w równoległych boxach, zasobami fontów sfnt kontrolowanymi callbackiem oraz ograniczonymi budżetami parsera, layoutu, zasobów i zdekodowanych obrazów
  • Importuj SVG jako reużywalne Form XObject z natywną geometrią, CSS, gradientami, maskami, tekstem Base 14, linkami świadomymi umiejscowienia oraz ścisłymi budżetami parsera i zasobów
  • Łam treść RichEdit i RTF przez silnik formatowania Windows, zachowując tekst wektorowy, fonty, obrazy, obsługiwane prezentacje OLE i jawne budżety zasobów
  • Renderuj natywne wykresy wektorowe z seriami liniowymi, słupkowymi, obszarowymi, kołowymi i punktowymi, automatycznymi albo ręcznymi osiami, motywami, legendami, etykietami, ograniczonymi danymi i opcjonalnymi alternatywami Figure PDF/UA
  • Inspekcjonuj wizualną diagnostykę layoutu z ograniczonym wykrywaniem nachodzenia, ścieżkami elementów, opt-in mapowaniem źródła, natywnymi nakładkami wektorowymi, statystykami i synchronicznymi callbackami podglądu
  • Kontroluj semantykę współrzędnej Y tekstu strony przez THPDFPage.TextFromBaseLine, zamykaj eksperckie surowe operatory PDF w AppendScopedRawContent i odpytuj wyjście tekstowych pól z zawijaniem przez TextOutBoxEx / WideTextOutBoxEx
  • Obsługuj tekst Unicode, tekst od prawej do lewej, tekst pionowy, osadzone czcionki, podzbiory TrueType, podzbiory CFF/OpenType-CFF, metryki tekstu i akapity
  • Zastosuj kerning OpenType czcionki, pozycjonowanie znaków łączących, połączenie pisma łączonego, kształtowanie skomplikowanych pism i funkcje typograficzne podczas wyprowadzania tekstu za pomocą opcjonalnych opcji kształtowania
  • Dodawaj metadane, adnotacje, wyskakujące komentarze, hiperłącza, załączniki, preferencje przeglądarki, ustawienia układu strony, zachowanie drukowania, warstwy i przejścia stron
  • Importuj i zapisuj przepływy pracy oparte na obrazach JPEG, bitmapach, TIFF, JPEG2000, JBIG2, WMF i EMF, ze standardowym formatem JPEG obsługiwanym przez libjpeg-turbo
  • Dekoduj kafle kodestreamu JPEG 2000 i regiony resolution-of-interest przez ograniczone ścieżki natywne i odizolowane od awarii, z automatycznym wyborem rozdzielczości renderera i równoległą rekonstrukcją kafli świadomą budżetu
  • Koduj partie stron JBIG2 z trenowaniem symboli między stronami, jednym współdzielonym słownikiem globalnym, reużyciem zduplikowanych stron, ograniczonymi budżetami wejścia, natywnym fallbackiem i jawną telemetrią kompresji; dekoduj refinement, agregowane słowniki symboli i dopracowane instancje tekstu przez natywny fallback Pascal dla strumieni arytmetycznych i standardowych Huffmana, z zachowanymi kontekstami, ograniczonymi tabelami referencji długiej formy, łańcuchowymi słownikami globalnymi i dekodowaniem widocznych kafli
  • Dekoduj załadowane strumienie obrazów CCITT Group 3 i Group 4 z wierszami jedno- i dwuwymiarowymi, rozszerzeniami bezkompresyjnymi T.4/T.6, ścisłym rozpoznawaniem EOFB, kompletną obsługą DecodeParms i ograniczoną resynchronizacją uszkodzonych wierszy
  • Wczytuj istniejące pliki PDF, kopiuj strony, dołączaj strony, usuwaj strony, łącz dokumenty, aktualizuj informacje, stempluj strony oraz sprawdzaj, wypełniaj lub spłaszczaj formularze wczytanych dokumentów
  • Przetwarzaj wielogigabajtowe pliki PDF za pomocą interfejsu API Direct File: odczytuj liczbę stron, kopiuj, przepisuj informacje o dokumencie oraz nakładaj lub usuwaj zabezpieczenia AES-256 bezpośrednio z pliku do pliku w kilka sekund, bez ładowania wykresu obiektów dokumentu
  • Stosuj hasła, AES-128, AES-256, PDF 2.0 AES-256 R6, szyfrowanie kluczem publicznym, flagi ochrony i kontrolę uprawnień
  • Twórz pola AcroForm, automatyczne strumienie wyglądu formularzy, pola podpisu, zewnętrzne symbole zastępcze podpisywania CMS oraz przyrostowe aktualizacje z wieloma podpisami

Korzyści dla programistów

  • Integracja oparta na kodzie źródłowym pozwala zachować kontrolę nad debugowaniem i wdrażaniem
  • Wspólne przykłady dla Delphi i C++Builder ułatwiają weryfikację zachowania w obu stosach językowych
  • Statyczna integracja zewnętrznych bibliotek C sprawia, że zależności dotyczące kompresji i obrazowania są powtarzalne
  • Skoncentrowane pomocnicze interfejsy API obejmują filtry PDF, FlateDecode, LZW, CCITT, maski obrazów, kody kreskowe, podzbiory czcionek i przepływy pracy z zawartością stron
  • Bramki wersji PDF mogą automatycznie podnosić wersję wyjściową lub wymuszać ścisłą zgodność z wersjami PDF 1.3/1.4/1.5/1.6/1.7 poprzez StrictVersionLock
  • Gotowe do użycia projekty pakietów Delphi i C++Builder obejmują obecne generacje RAD Studio, w tym 13.1 Florence

Najważniejsze nowości w bibliotece

Bezstratna edycja strumienia treści

THPDFContentStreamAST zachowuje każdy bajt białych znaków, komentarz, ogranicznik, pisownię operandu i ładunek obrazu inline, wystawiając połączone węzły operacji i kontenerów, ograniczone parsowanie, posortowane nakładki edycji oraz serializację do pamięci albo strumienia; odwiedzający operatorów treści dodają ograniczone callbacki inspect, measure, replace, delete, stop i reject z deterministycznymi snapshotami stanu i walidowanymi atomowymi aktualizacjami załadowanych stron; porównanie semantyczne kanonizuje liczby, stringi, obrazy inline, efektywne macierze, redundantne settery oraz zapis i przywrócenie stanu grafiki przed dokładnym porównaniem zdarzeń; zamiana tekstu załadowanej strony zmienia tylko dopasowane zakresy operandów

Direct File API dla wielu gigabajtów

Rodzina DAOpenFileReadOnly / DACopyFile / DASetDocumentInfo / DASaveAsFile oraz plik-do-pliku wywołania EncryptFile / DecryptFile działają bezpośrednio na pliku PDF zamiast budować graf obiektów w pamięci. Dla benchmarkowego dokumentu 2 GB z 1,67 miliona obiektów szyfrowanie AES-256 zajmuje około 14 sekund, deszyfrowanie około 16 sekund, a pełne przepisanie około 6 sekund; otwarcie dokumentu 1,25 GB dla odczytania liczby stron trwa milisekundy. Klasyczne tabele, xref streamy, pliki o referencjach hybrydowych i dokumenty aktualizowane przyrostowo pozostają na bezpośredniej ścieżce

Raporty preflight

CreatePreflightReport i CreatePreflightReportWithProfile audytują PDF pod kątem obsługiwanych kontroli PDF/A, PDF/X i PDF/UA i generują raporty text, JSON, HTML, CSV lub XML. ValidatePDFWithPluginBundle łączy te same wbudowane polityki z ograniczonymi zaufanymi pluginami funkcji i reguł w jednym deterministycznym XML MRR

Zestaw narzędzi formularzy dokumentu załadowanego

Wymiana FDF plikowo-strumieniowa i wielowartościowa wymiana XFDF zachowuje osobne wybrane pozycje w polach wyboru multi-select, łącznie z wartościami opcji zawierającymi łamanie wierszy, i przebudowuje indeksy wyboru przy imporcie

HasFormFields i FormFieldExists odpowiadają na pytania o formularz załadowanego PDF-a, zanim go tkniesz, tworzenie pól w załadowanym dokumencie odrzuca zduplikowane nazwy korzeni przed rejestracją widgetów, wartości pól można czytać i zapisywać po indeksie albo nazwie, a FlattenFormFields wypala interaktywne pola AcroForm w treść stron i raportuje, ile pól spłaszczył — obok spłaszczania XFA do AcroForm

Podpisywanie PFX / PKCS#12 w procesie

THotPDF.SignPDFWithPFX(InputPDF, OutputPDF, PFXFile, Password) podpisuje istniejący plik PDF z placeholderem jednym wywołaniem. Workflow plikowe, strumieniowe, z zewnętrznym podpisującym i z providerem wybierają skrót SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-384, SHA3-512 albo wymagany przez Ed448 SHAKE256 512-bit, kopiują z ograniczonymi buforami 256 KB, łatają seekiem pola o stałej szerokości /ByteRange i /Contents oraz wspierają podpisywanie w tym samym strumieniu bez trzymania kompletnego drugiego PDF-a w pamięci. Stos ASN.1, AES i PBES2 PKCS#12 przyjmuje klucze prywatne RSA, ECDSA na nazwanych krzywych, Ed25519 i Ed448 plus AES-128 / AES-192 / AES-256 CBC z profilami HMAC-SHA-1 / SHA-256 / SHA-384 / SHA-512 PBKDF2; podpisywanie RSA i ECDSA idzie ścieżkami natywnymi, a Ed25519 i Ed448 przez opcjonalny OpenSSL 3 libcrypto. HPDFEnumeratePFXIdentities, HPDFParsePFXByLocalKeyID i THPDFCMSSignOptions.PFXLocalKeyID wybierają deterministycznie poświadczenia wielu tożsamości i przenoszą pasujący dostępny łańcuch certyfikatów do CMS; niespójne identyfikatory podpisującego, kontenera, długości klucza, mechanizmu podpisu albo algorytmów RFC 6211 failują przed hashowaniem dokumentu i pracą providera

Długoterminowa weryfikacja PAdES

Przepływy pracy PAdES B-B, B-T, B-LT i B-LTA są obsługiwane od początku do końca: tworzenie podpisów ze znacznikami czasu RFC 3161, słowniki długoterminowej weryfikacji DSS / VRI, podpisy znaczników czasu dokumentów oraz ograniczenia wartości początkowych (Seed Value). Wymuszanie wartości początkowych podpisów oraz XAdES-in-PDF stanowią część tego samego obszaru

Zgodność z PDF/A, PDF/X i PDF/UA

HotPDF bramkuje metody funkcji w stosunku do profili PDF/A-1 / -2 / -3, PDF/X-1a / -3 / -4 oraz PDF/UA-1. Wywołania, które naruszyłyby wybrany profil (przezroczystość w PDF/A-1, JavaScript w PDF/A, zewnętrzne adnotacje w PDF/X, brak tagowania struktury w PDF/UA), zgłaszają wyjątki diagnostyczne zamiast cichego generowania niezgodnych plików PDF

Adaptery zewnętrznych silników raportów

Gotowe backendy PDF dla czterech najpopularniejszych silników raportowych Delphi: TfrxHotPDFExport (FastReport 4 / FastReport VCL, łącznie z wyjściem natywnych obiektów dla tekstu, obrazów, kształtów, linii, linków i obsługiwanych kodów kreskowych plus filtrowaniem zakresu stron, kontrolkami osadzania fontów, zabezpieczeniem hasłem, opcjonalnymi bramkami PDF/A lub PDF/X i jednostką rejestracji czasu projektowania frxHotPDFDesign), TQRHotPDFExportFilter (QuickReport z opcjonalnymi bramkami PDF/A lub PDF/X), TppHotPDFDevice (ReportBuilder, łącznie z opcjonalnym wyjściem natywnych rozkazów rysowania dla tekstu, prymitywów wektorowych, obrazów, linków, obsługiwanych kodów kreskowych oraz opcjonalnymi bramkami PDF/A lub PDF/X) i dxHotPDFExportReportLinkToFile/Stream (DevExpress ExpressPrinting System obejmujący cxGrid / cxRichEdit / cxScheduler / cxPivotGrid z opcjonalnymi bramkami PDF/A lub PDF/X). Istniejące raporty działają dalej — podmieniany jest tylko emiter PDF

Silnik pozycjonowania OpenType GPOS

Opcjonalne pozycjonowanie tekstu oparte na własnych danych GPOS czcionki: kerning parzysty i kontekstowy dla tekstu od lewej do prawej i od prawej do lewej, pozycjonowanie znak-do-bazy, znak-do-znaku oraz znak na komponent ligatury, wyrównanie wejścia/wyjścia pisma łączonego, pozycjonowanie odległości i pionowy kerning dla czcionek pionowych. Pozycjonowanie jest emitowane za pomocą standardowych operatorów tekstowych PDF, dzięki czemu każdy czytnik PDF renderuje ten sam wynik

Zakres kształtowania skomplikowanych pism

Kształtowanie po stronie producenta renderuje poprawnie połączony i uporządkowany tekst dla pisma arabskiego (w tym bloków Supplement, Extended-A i Extended-B), syryjskiego, mongolskiego, N'Ko, Adlam, Hanifi Rohingya, tybetańskiego, Devanagari i innych pism indyjskich, jawajskiego, tajskiego, laotańskiego, hebrajskiego, khmerskiego, birmańskiego, Tai Viet oraz Meetei Mayek bez polegania na shaperze po stronie przeglądarki. Każde pismo jest opcjonalnym przełącznikiem, więc istniejące dane wyjściowe pozostają identyczne pod względem bajtów do momentu włączenia, a kopiowanie/wklejanie odzyskuje oryginalne znaki

Automatyczne funkcje typograficzne OpenType

Opcjonalne przełączniki kształtowania stosują standardowe, uznaniowe i historyczne ligatury czcionki, kapitaliki, cyfry tekstowe / wersalikowe / proporcjonalne / tabelaryczne, indeksy górne, indeksy dolne, liczebniki porządkowe, ułamki, indeksy dolne naukowe, liczniki, mianowniki, alternatywy stylistyczne i kontekstowe, formy zlokalizowane, formy wrażliwe na wielkość liter, przekreślone zero oraz alternatywy pionowe automatycznie podczas wyprowadzania tekstu, przy czym wyodrębnianie tekstu jest mapowane z powrotem na znaki źródłowe

Kompaktowe dane wyjściowe czcionek

Osadzone programy czcionek są zawsze kompresowane algorytmem Flate, czcionka używana na kilku stronach jest osadzana raz dla całego dokumentu, a tagi podzbiorów są generowane deterministycznie z faktycznie używanych glifów, dzięki czemu powtarzające się uruchomienia dają identyczne wyniki. Opcjonalny tryb zapisuje zwykły tekst ASCII ze standardowymi czcionkami jako kompaktowy nieosadzony tekst WinAnsi, zmniejszając stronę zwykłego tekstu z setek kilabajtów do zaledwie kilku kilabajtów

Kształtowanie wielu pism po stronie producenta

Kształtowanie po stronie producenta składa ciągi wejściowe Unicode do ich form prezentacyjnych przed emisją tekstu PDF. Pismo arabskie obejmuje pełną tabelę klas łączenia U+0672-06D5 plus ponad 40 mapowań Forms-A, z automatycznym przebiegiem ligatur dla LAM-ALEF, YEH-HAMZA + samogłoski (U+FBEA-FBFB), Allah (U+FDF2) i Bismillah (U+FDFD). Obszary możliwości dla pisma syryjskiego (GetSyriacJoiningClass), mongolskiego (GetMongolianJoiningClass) oraz Devanagari (GetDevanagariCategory / ApplyDevanagariReorder) pozwalają wywołującym kierować niearabskie skomplikowane pisma przez ten sam silnik GSUB

Automatyczny potok kształtowania (Phase 8)

Opcjonalna właściwość ShapingFeatures + wyliczenie THPDFShapingFeature (sfArabicGSUB / sfCursiveAttachment / sfStandardLigatures / sfContextualLigatures / sfContextualAlternates / sfIndicShaping) podnosi silniki OpenType GSUB i GPOS do poziomu automatycznego potoku po stronie producenta. Natywne arabskie formy init / medi / fina / isol, rlig, calt, rclt, połączenie pisma łączonego GPOS, łacińskie liga / clig oraz reorganizacja Devanagari Indic następują w miarę emitowania tekstu, z pełnym odwrotnym mapowaniem /ToUnicode w celu poprawnego kopiowania/wklejania

Standardowe ligatury łacińskie + syntetyczny punkt kodowy PUA

Standardowe ligatury łacińskie (ff / fi / fl / ffi / ffl / ſt / st przez U+FB00-FB06) są emitowane automatycznie przez ApplyLatinLigatureRefinement, gdy włączona jest funkcja sfStandardLigatures. Dla substytutów GID w GSUB bez naturalnego punktu kodowego Unicode - kształty klastrów Devanagari, alternatywy stylistyczne, sekwencje wariantów ideograficznych CJK - metoda AssignSyntheticCodepointForGID przydziela punkt kodowy z obszaru Private-Use-Area (U+E000-F8FF) z lustrzaną integracją /CIDToGIDMap + /W + /ToUnicode

Silnik substytucji OpenType GSUB

Każdy OpenType GSUB LookupType 1-8 (Single, Multiple, Alternate, Ligature, Contextual, Chained Contextual, Extension, Reverse Chained Contextual) jest zaimplementowany jako obszar zapytań służący wyłącznie do sprawdzania możliwości (GetSingleSubstituteGlyph, ApplyLigatureSubstitution, ApplyContextualSubst, ApplyReverseChainedContextualSubst oraz funkcje pomocnicze Multiple / Alternate / Script / LangSys / Feature). Metoda MarkUnicodeGlyphUsed wciąga każdy glif zastępczy do subsettera TTF, dzięki czemu osadzone podzbiory czcionek pozostają samowystarczalne

Akcje stron + formularze XFA + wyzwalacze AcroForm + Unicode /DR

Dodatkowe akcje cyklu życia dokumentu PDF udostępniają wyzwalacze katalogu /AA /WC, /AA /WS, /AA /DS, /AA /WP i /AA /DP przez helpery set/clear oparte na builderze, a dodatkowe akcje na poziomie strony — wyzwalacze otwarcia /AA /O i zamknięcia /AA /C przez THPDFPage i indeksowane stroną wrappery THotPDF. Pakiety kontenerów XFA (PDF 1.7 §12.7.6 / §12.7.8) jadą obok (albo zamiast) statycznych /Fields przez AddXFAPacket. Pełna rodzina wyzwalaczy pól AcroForm (/AA /K Keystroke, /F Format, /V Validate, /C Calculate) jest wystawiona jako metody wrapper, wyzwalacze myszki, fokusu i widoczności widgetów (/E, /X, /D, /U, /Fo, /Bl, /PO, /PC, /PV, /PI) można teraz ustawiać po nazwie pola, a pasujące helpery clear sprawiają, że słowniki wyzwalaczy łatwo podmienić. THPDFActionBuilder obejmuje akcje cyklu życia dokumentu, stron, formularzy, adnotacji, warstw, multimediów, przejść, widoków 3D i nawigacji osadzonej GoToE, a API grafu akcji załadowanego dokumentu bezpiecznie inspekcjonuje wszystkie 18 standardowych typów akcji i uporządkowane łańcuchy /Next

Etykiety stron + Article Threads

THotPDF.SetPageLabel i jego helpery specyficzne dla stylów zapisują wpisy drzewa numeracyjnego /PageLabels katalogu dla numeracji dziesiętnej, rzymskiej i alfabetycznej, a RegisterArticleThread plus THPDFPage.AddArticleBead emitują słowniki article thread i łańcuchy beads dla prowadzonej nawigacji czytelnika

Podzbiory fontów i PDF-y CJK

THotPDF.EnableFontSubsetting tworzy podzbiory fontów TrueType, OpenType-CFF, CID-keyed CFF i CFF2, zachowując glyph ID dla tekstu Type0 / Identity-H. Kontury TrueType gvar i punkty fantomowe, blendy CFF2, zmapowane osie oraz metryki poziome, pionowe i globalne są wypiekane w statyczny sfnt z poprawną sumą kontrolną przed osadzeniem

Podpisy certyfikacji i blokady pól

AddCertificationSignatureField, ConfigureCertificationSignature i AttachSignatureFieldLock tworzą struktury uprawnień DocMDP i FieldMDP z powiązaniem Catalog i politykami blokady pól, GetLoadedSignaturePermissions inspekcjonuje każdą standardową metodę transformacji, łącznie z prawami użycia UR/UR3 i zakresami Identity, AnalyzeLoadedSignatureRevisions klasyfikuje późniejsze zmiany walidacji, formularzy, podpisów, adnotacji, plików osadzonych i innych względem polityk zrekonstruowanych z podpisanego snapshotu, a SaveIncrementalUpdateAuthenticated uwierzytelnia każdy kontrolujący podpis przed atomowym opublikowaniem dozwolonej rewizji

Obsługa zaawansowanych funkcji PDF

  • Bramki API specyficzne dla wersji PDF 1.3 / 1.4 / 1.5 / 1.6 / 1.7 + wybrane PDF 2.0 dla Catalog, ViewerPreferences, adnotacji, JavaScript, czcionek Type0, map ToUnicode, przezroczystości, warstw i szyfrowania
  • Bramki zgodności z PDF/A-1 / -2 / -3, PDF/X-1a / -3 / -4 oraz PDF/UA-1, które odrzucają wywołania funkcji niezgodnych z profilem zamiast cichego naruszania profilu
  • Otagowane drzewa struktury PDF z mapami ról, StructParents, wyjściem ParentTree oraz elementami struktury dla przepływów pracy zorientowanych na dostępność
  • Referencje OutputIntents, profili ICC, ramek stron, obracania, UserUnit, kolejności Tabs, wzorców kafelków, alfa ExtGState, trybów mieszania, półtonów (Type 1 / 5 / 6 / 10 / 16), funkcji transferu oraz funkcji generowania czerni / usuwania podkoloru (black-generation / under-color-removal)
  • Obrazy wbudowane, gradienty osiowe wielostopniowe, gradienty promieniowe, siatki trójkątów cieniowane metodą Gourauda (free-form / lattice-form), siatki łat Coonsa i łat tensorowych, obrazy z maskami miękkimi (soft-mask) dla przezroczystości alfa na piksel w stylu PNG oraz wypełnienia wzorcami wielokrotnego użytku
  • Nazwane miejsca docelowe, miniatury stron, stylizacja konspektu na poziomie strony (kolor, pogrubienie, kursywa), nazwany rejestr JavaScript na poziomie dokumentu oraz pełna rodzina dodatków Line / PolyLine / Polygon (podpis, zakończenia linii, cel, efekt obramowania)
  • Kształtowanie znaków arabskich po stronie producenta obejmuje pełną tabelę klas łączenia U+0672-06D5 plus ponad 40 statycznych mapowań Arabic Presentation Forms-A, z późniejszym składaniem ligatur dla LAM-ALEF, par YEH-HAMZA + samogłoska (U+FBEA-FBFB), ligatury Allah (U+FDF2) i frazy Bismillah (U+FDFD)
  • Obszary możliwości kształtowania wielu pism: syryjskiego (GetSyriacJoiningClass / GetSyriacPosition), mongolskiego (GetMongolianJoiningClass / GetMongolianPosition), Devanagari (GetDevanagariCategory / ApplyDevanagariReorder) - kierują tym samym silnikiem GSUB dla skomplikowanych pism niearabskich
  • Automatyczny potok kształtowania Phase 8 napędzany opcjonalną właściwością ShapingFeatures: sfArabicGSUB stosuje natywne arabskie formy init / medi / fina / isol oraz rlig / calt / rclt w celu emisji specyficznych dla czcionki kontekstowych identyfikatorów glifów, sfCursiveAttachment stosuje kotwice połączeń pisma łączonego GPOS, sfStandardLigatures / sfContextualLigatures emitują łacińskie liga / clig (FB00-FB06: ff / fi / fl / ffi / ffl / ſt / st), a sfIndicShaping reorganizuje klastry Devanagari (Repha + pre-base I-matra) przed emisją
  • Kompletny silnik substytucji OpenType GSUB (LookupType 1-8) z wyborem Script / LangSys, zamknięciem subsettera TTF (MarkUnicodeGlyphUsed), obsługą formatu Cmap 12 SMP, analizowaniem GDEF, automatyczną emisją ToUnicode CMap z 35 wpisami odwrotnego mapowania ligatur oraz wyszukiwaniem GetUnicodeGlyphForCodepoint dla wywołujących kierujących emisją glif po glifie
  • Emisja syntetycznych punktów kodowych PUA (AssignSyntheticCodepointForGID / GetSyntheticCodepointForGID) pozwala producentom emitować dowolne glify zastępcze GID z GSUB (kształty klastrów Devanagari, warianty stylistyczne, sekwencje wariantów ideograficznych CJK) przez obszar Private Use Area U+E000-F8FF z lustrzaną integracją /CIDToGIDMap + /W. Metoda GetCodepointAdvance udostępnia buforowaną ułamek em /W do obliczeń zawijania
  • Silnik pozycjonowania OpenType GPOS za opcjonalnymi przełącznikami kształtowania: kerning parzysty, pojedynczy i kontekstowy (Context / Chained Context) zarówno dla tekstu od lewej do prawej, jak i od prawej do lewej, rozmieszczanie znak-do-bazy / znak-do-znaku / znak-do-ligatury z dokładnością do komponentu na ligaturach, połączenie wejścia-wyjścia pisma łączonego, pozycjonowanie odległości oraz kerning pionowy vkrn / vpal stosowany do pionowego wyjścia tekstowego
  • Kształtowanie skomplikowanych pism po stronie producenta dla arabskiego Supplement / Extended-A / Extended-B, syryjskiego, mongolskiego, N'Ko, Adlam, Hanifi Rohingya, układania tybetańskiego, rodziny pism indyjskich przez łańcuch cech Indic czcionki, jawajskiego, porządkowania znaków tajskich / laotańskich, porządkowania punktów samogłoskowych hebrajskich, khmerskiego, birmańskiego, Tai Viet oraz Meetei Mayek, każdy za własnym opcjonalnym przełącznikiem z odwrotnym mapowaniem ToUnicode dla kopiowania/wklejania
  • Automatyczne funkcje typograficzne OpenType podczas wyprowadzania tekstu: ligatury liga / clig / dlig / hlig, kapitaliki smcp / c2sc, style cyfr onum / lnum / pnum / tnum, sups / subs / ordn / frac / sinf / numr / dnom, alternatywy stylistyczne salt, alternatywy kontekstowe calt / rclt, formy zlokalizowane locl, formy case, przekreślone zero zero oraz alternatywy pionowe vert / vrt2, z łańcuchowymi substytucjami rozwiniętymi z powrotem do tekstu źródłowego w ToUnicode CMap
  • Optymalizacja osadzania czcionek: zawsze kompresowane wbudowane programy czcionek, jedna osadzona kopia na dokument dla czcionek używanych na kilku stronach, deterministyczne tagi podzbiorów dla powtarzalnych danych wyjściowych oraz opcjonalny nieosadzony tryb WinAnsi dla zwykłego tekstu ASCII przy użyciu standardowych czcionek
  • Pola tekstowe AcroForm, listy, pola kombi, pola wyboru, przyciski radiowe, akcje push-button (w tym rozszerzone Named / Hide / Show / ImportData / SubmitForm z kontrolowanymi przez użytkownika /Flags i zaawansowanymi łańcuchami akcji THPDFActionBuilder), pola podpisu i generowane appearance streams (wielowierszowe Tx + comb + rich-text + CID-font /AP)
  • Rodzina wyzwalaczy pól formularza AcroForm (/AA /K Keystroke, /F Format, /V Validate, /C Calculate) z jedną metodą wrapper na wyzwalacz JavaScript, ograniczonym ewaluatorem typowanym dla wyrażeń warunkowych, tekstowych, datowych i tablicowych, nazwanymi helperami set/clear THPDFActionBuilder, wrapperami po nazwie pola dla wyzwalaczy myszki i fokusu widgetów (/E, /X, /D, /U, /Fo, /Bl), rejestracją fontów /DR dla wielu Unicode przez RegisterAcroFormFont, obsługą kontenerów XFA (XML Forms Architecture) (PDF 1.7 §12.7.6 / §12.7.8) z AddXFAPacket / ClearXFAPackets / XFAPacketCount, zapytaniami i edycjami DOM strumieni XDP oraz tablic pakietów z zachowaniem dokładnych bajtów i ograniczoną serializacją kanonicznych namespace, CDATA i encji oraz bramkami zgodności PDF/A + PDF/X, a także spłaszczaniem XFA do AcroForm (ApplyXFAAsAcroForm dla surowych bajtów XDP, FlattenLoadedXFA dla formularza osadzonego w załadowanym PDF), które zamienia statyczne XFA na natywne pola AcroForm ze stylizacją, zagnieżdżonym layout="tb" mierzonym przepływem, zawijanym layout="lr-tb", polami tekstowymi wierszy tabeli o stałych i automatycznych kolumnach oraz grafiką stron, żeby formularz pozostawał widoczny i wypełnialny w czytnikach bez silnika XFA
  • Metadane nawigacyjne generowanego dokumentu: zakresy /PageLabels katalogu przez THPDFPageLabelStyle, SetPageLabel i helpery dziesiętne / rzymskie / alfabetyczne, plus /Threads katalogu i article beads per strona przez RegisterArticleThread oraz THPDFPage.AddArticleBead
  • Cykl życia dokumentu katalogu /AA /WC, /AA /WS, /AA /DS, /AA /WP i /AA /DP jako dodatkowe akcje przez helpery THotPDF, plus akcje dodatkowe stron /AA /O i /AA /C przez THPDFPage.SetPageAdditionalAction i THotPDF.SetPageAdditionalAction, łącznie z łańcuchami /Next THPDFActionBuilder i helperami czyszczącymi
  • Obszar dostępności otagowanego pliku PDF/UA-1: właściwości sekwencji zawartości oznaczonych §14.8.4 w BeginTaggedContent (/Lang / /Alt / /ActualText / /E), ustawienia atrybutów elementów struktury (/Lang / /E / /T), wyliczenie standardowego typu struktury Table 333 (THPDFStandardStructureType) oraz przeciążenie typowane AddStructureElement
  • Obsługa adnotacji dla wyróżnień, dowolnego tekstu, linków, załączników plików, wyskakujących okienek, redakcji, znaku wodnego, multimediów, 3D / U3D / PRC, stylów obramowania i połączonych wyskakujących komentarzy
  • Standardowe zabezpieczenie hasłem, procedury obsługi zabezpieczeń AES-128 / AES-256, haszowanie PDF 2.0 R6, szyfrowanie kluczem publicznym odbiorcy certyfikatu za pomocą dostarczonych przez wywołującego kopert PKCS#7 oraz bezpieczne binarnie przetwarzanie nie-ASCII nazw barwników / czcionek
  • Podpisy cyfrowe PAdES B-B, B-T, B-LT i B-LTA ze znacznikami czasu RFC 3161, słownikami długoterminowej weryfikacji DSS / VRI, podpisami znaczników czasu dokumentów, ograniczeniami wartości początkowych (Seed Value) oraz XAdES-in-PDF
  • Podpisywanie PFX / PKCS#12 w procesie: dołączone do biblioteki profile ASN.1, RSA, AES, PBES2 AES-128 / AES-192 / AES-256 CBC i HMAC-SHA-1 / SHA-256 / SHA-384 / SHA-512 PBKDF2, legacy PFX PBE-SHA1-3DES, deterministyczny wybór localKeyId dla wielu tożsamości, zachowanie pasującego dostępnego łańcucha certyfikatów oraz stos CMS SignedData podpisujący RSA i ECDSA natywnie albo Ed25519 i Ed448 przez opcjonalny OpenSSL 3 libcrypto
  • Gotowe backendy PDF dla FastReport 4 / FastReport VCL, QuickReport, ReportBuilder i DevExpress ExpressPrinting System, plus eksporter tabel TDBGrid dla VCL z opcjonalnymi bramkami PDF/A i PDF/X

Wysokowydajny stos kompresji i obrazowania

Obecne kompilacje HotPDF używają zlib-ng w trybie zgodnym z zlib dla dołączonego backendu Flate. Strumienie stron, strumienie wbudowanych czcionek, mapy ToUnicode CMap, strumienie obrazów Flate, dane wyjściowe powiązane z TIFF oraz funkcje pomocnicze FlateDecode są kierowane przez warstwę zlib HotPDF

Kompilacje zlib-ng Win64x oraz diagnostyczne MSVC Win64 obejmują dyspacz CPU w czasie rzeczywistym dla ścieżek SSE2, SSSE3, SSE4.1, SSE4.2, PCLMULQDQ i AVX2 z zachowaniem ogólnych ścieżek awaryjnych. Win32 pozostaje przy ogólnym zestawie obiektów OMF zlib-ng przez bcc32c, podczas gdy obiekty Win32 JPEG i TIFF nadal używają klasycznej ścieżki OMF bcc32

Standardowe przepływy pracy JPEG używają dołączonego zestawu obiektów libjpeg-turbo 3.1.90 poprzez zgodny z libjpeg interfejs API udostępniany przez HPDFJpeg.pas. Natywne kompilacje Win32, Win64 i Win64x zawierają teraz odpowiednie zestawy obiektów NASM SIMD, a ten sam natywny backend JPEG jest dostępny dla warstwy integracji TIFF w celu obsługi skompresowanych metodą JPEG plików TIFF

Mostek wykonawczy C w HPDFCLibs.pas rozwiązuje teraz funkcje malloc, free, realloc, calloc, memcpy, memmove i memset przez jedną warstwę skierowaną do Pascala, z 32-bajtowym wyrównaniem alokacji dla natywnych buforów przyjaznych dla SIMD

Repozytorium zawiera skrypty do powtarzalnej kompilacji obiektów: Lib\thirdparty\build-bcc32.bat, Lib\thirdparty\build-bcc64x.bat oraz Lib\thirdparty\build-vc64.bat dla pełnego zestawu natywnych bibliotek C, a także skrypty przeznaczone wyłącznie dla zlib-ng do ukierunkowanej rekompilacji kompresji

Szybki przykład dla Delphi

program HelloHotPDF;

uses
  System.SysUtils,
  HPDFDoc;

var
  PDF: THotPDF;
begin
  PDF := THotPDF.Create(nil);
  try
    PDF.AutoLaunch := False;
    PDF.FileName := 'HelloHotPDF.pdf';
    PDF.Compression := cmFlateDecode;
    PDF.EnableFontSubsetting := True;
    PDF.BeginDoc;
    PDF.CurrentPage.SetFont('Arial', [], 18);
    PDF.CurrentPage.TextOut(50, 50, 0, 'Hello HotPDF');
    PDF.EndDoc;
  finally
    PDF.Free;
  end;
end.

Zawartość pakietu

Typowe przypadki użycia