Native Linux C ABI rich form interchange

Istniejąca operacja forms.import akceptuje FDF RV i XFDF value-richtext przez wersjonowane callbacki InputIO wywołującego i publikuje prawdziwie zaktualizowany PDF przez OutputIO

Wersja ABI V1, eksportowane symbole i layout tabeli callbacków pozostają niezmienione; to powiązanie celuje w natywny Linux x64

{"schemaVersion":1,"type":"forms.import","format":"xfdf","fontFamily":"DejaVu Sans","fontSize":12}

PDF docelowy musi być już załadowany; InputIO dostarcza rzeczywiste bajty form-data, a nie inny PDF

Profil inline-xhtml-v1 zachowuje mieszany porządek tekstu Unicode, złamania akapitów i jawnych linii, dziedziczone inline rozmiary fontów, kolory RGB, weight, italic, underline, strikeout i wyrównanie akapitu przez ograniczony natywny dekoder XHTML

Opcjonalne nazwane rich rodziny fontów wybierają skonfigurowane programy z dziedziczonymi listami rodzin CSS; dowolny layout CSS, zewnętrzne arkusze stylów, tabele, obrazy i wyrównanie pionowe pozostają odrębnymi zdolnościami

fontFamily wybiera rzeczywiste programy regular, bold, italic i bold-italic natywnego providera fontów; ładowane są wyłącznie style wymagane przez rzeczywiste wartości rich, razem z programem regular używanym przez pola skalarne

Konfiguracja Fontconfig wdrożenia musi dostarczyć żądaną rodzinę i kroje; zwykły fallback providera stosuje się, gdy żądany krój jest niedostępny, a fontStyles opisuje załadowane sloty stylów, a nie certyfikuje zainstalowanych krójów fontów

Programy fontów wracają do wywołującego wewnątrz osadzonych strumieni fontów przygotowanego PDF i rzeczywistych wyglądów; żadne ścieżki plików fontów nie są odsłaniane w odpowiedzi JSON

Gdy fontSize jest zerowe, niebonowane XHTML używa 12-punktowego defaultu dekodera; jawne obsługiwane rozmiary fontów XHTML zachowują własne wartości

Pole wynikuZnaczenie
updatedLiczba zmienionych pól terminalowych, łącznie z obsługiwanymi zmianami wyłącznie stylów
richFieldCountLiczba pól rich w zdekodowanym wejściu, łącznie z równoważnymi niezmienionymi wartościami
fontStylesRzeczywiście załadowane sloty fontów w kolejności regular, bold, italic, boldItalic
richXMLProfileinline-xhtml-v1 albo inline-xhtml-font-families-v1, gdy zdekodowane wejście zawiera pola rich
fontFamiliesSkonfigurowane etykiety rodzin, gdy dostarczono opcjonalną tablicę nazwanych rodzin

Równoważny kanoniczny i niekanoniczny markup rich jest idempotentny, gdy jego tekst i obsługiwane style pasują; niezmienione pola read-only zachowują swoje źródłowe RV, podczas gdy różne obsługiwane style wymuszają ochronę read-only

Import zerowej zmiany publikuje dokładny zacommitowany prywatny snapshot PDF, łącznie z istniejącymi podpisanymi albo zaszyfrowanymi rewizjami, bez nagromadzenia pustych rewizji tabel odwołań; zmienione bajty wejścia wywołującego albo pliki podkładowe nie zastępują tego załadowanego snapshotu

Import zachowuje uwierzytelnione bezpieczeństwo AES, rzeczywiste podpisane rewizje, decyzje DocMDP P1/P2/P3 i blokady FieldMDP przez natywną transakcję importu rich

Połączone programy fontów są ograniczone do jednej czwartej limits.memoryBytes, dodatkowo do natywnego limitu per-font; istniejące limity form-data, glifów, obiektów, wyjścia i wyniku pozostają aktywne

Callbacki wykonują się synchronicznie na wątku wywołującym; częściowe callbacki wejścia i wyjścia są akceptowane, a anulowanie pozostaje aktywne podczas parsowania, ładowania fontów, przygotowania wyglądów i publikacji

Handle commituje dopiero po sukcesie obu callbacków PDF i JSON; błąd callbacka albo anulowanie zachowuje poprzedni stan, podczas gdy wywołujący odrzuca częściowe bajty już odebrane przez ujście

Zdolności reklamują formData.richXML=true, kompatybilny default richXMLProfile=inline-xhtml-v1, oba richXMLProfiles, opcjonalny wybór nazwanych rodzin do szesnastu etykiet i cztery obsługiwane fontStyles; wymiana adnotacji pozostaje false

Callbacki i limity form-data · Native Linux C ABI · Opcje zaufania podpisów

Wewnętrzne arkusze stylów stosują ograniczone selektory, important, specyficzność i kolejność źródłową do rzeczywiście zaimportowanych wartości rich i zapisanych wyglądów; powtórzone równoważne importy i nieudana publikacja zachowują istniejące gwarancje transakcji

richTextResources dostarcza linkowany i importowany tekst CSS przez niezmienioną operację execute-json-v1

Użyj FPC 3.3.1 albo nowszego z pasującymi unitami runtime i zapisz rzeczywistą kompilację używaną do akceptacji

Parsowanie operacji JSON zachowuje escapowane NUL i klucze obiektów Unicode; NUL w richTextResources jest odrzucany przed zmianą dokumentu, zamiast po cichu znikać podczas dekodowania JSON

Wielokrotnego użytku brama Tests/Linux/JSONOperationUnicode/Run.py sprawdza wybrany parser produktu, podczas gdy rzeczywista suita callbacków sprawdza też skompilowaną bibliotekę współdzieloną i transakcję PDF