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 wyniku | Znaczenie |
|---|---|
updated | Liczba zmienionych pól terminalowych, łącznie z obsługiwanymi zmianami wyłącznie stylów |
richFieldCount | Liczba pól rich w zdekodowanym wejściu, łącznie z równoważnymi niezmienionymi wartościami |
fontStyles | Rzeczywiście załadowane sloty fontów w kolejności regular, bold, italic, boldItalic |
richXMLProfile | inline-xhtml-v1 albo inline-xhtml-font-families-v1, gdy zdekodowane wejście zawiera pola rich |
fontFamilies | Skonfigurowane 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