Native Linux C ABI rich form interchange

Stávající operace forms.import přijme FDF RV a XFDF value-richtext přes verzované callbacky InputIO volajícího a publikuje skutečně aktualizované PDF přes OutputIO

Verze ABI V1, exportované symboly i rozložení callback tabulek zůstávají nezměněné; tenhle binding cílí nativní Linux x64

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

Cílové PDF už musí být načtené; InputIO dodá skutečné form-data bajty, nikoli další PDF

Profil inline-xhtml-v1 zachová smíšené pořadí Unicode textu, konce odstavců i explicitní konce řádků, zděděné inline velikosti písem, barvy RGB, weight, italic, underline, strikeout i zarovnání odstavců přes ohraničený nativní XHTML dekodér

Volitelné pojmenované rich font rodiny vyberou nakonfigurované programy se zděděnými CSS seznamy rodin; libovolný CSS layout, vrstvy import a podmínky supports, tabulky, obrázky i vertikální zarovnání zůstávají samostatnými schopnostmi

fontFamily vybere reálné programy regular, bold, italic a bold-italic nativního font providera; načtou se jen styly vyžadované skutečnými rich hodnotami, spolu s regular programem používaným skalárními poli

Fontconfig konfigurace nasazení musí dodávat požadovanou rodinu a řezy; běžný fallback providera platí, když vyžádaný řez není dostupný, a fontStyles popisuje načtené style sloty, necertifizuje instalované řezy písem

Font programy se vrátí volajícímu uvnitř vložených font streamů i skutečných appearance připraveného PDF; v JSON odpovědi se neodhalují žádné cesty k font souborům

Když je fontSize nula, nestylované XHTML použije dvanáctibodový default dekodéru; explicitní podporované velikosti písem XHTML si uchovají vlastní hodnoty

Pole výsledkuVýznam
updatedPočet změněných terminálních polí, tedy i podporovaných změn jen stylu
richFieldCountPočet rich polí v dekódovaném vstupu, tedy i ekvivalentních nezměněných hodnot
fontStylesSkutečně načtené font sloty v pořadí regular, bold, italic, boldItalic
richXMLProfileinline-xhtml-v1 či inline-xhtml-font-families-v1, když dekódovaný vstup obsahuje rich pole
fontFamiliesNakonfigurované rodinné popisky, když se dodá volitelné pole pojmenovaných rodin

Ekvivalentní kanonické i nekanonické rich markup je idempotentní, když se shoduje jeho text i podporované styly; nezměněná read-only pole si uchovají svůj zdrojový RV, zatímco jiné podporované styly vynutí ochranu read-only

Import s nulou změn publikuje přesný potvrzený soukromý PDF snapshot, tedy i stávající podepsané či šifrované revize, bez hromadění prázdných cross-reference revizí; změněné vstupní bajty volajícího či backing soubory ten načtený snapshot nevymění

Import zachovává autentizované AES zabezpečení, skutečné podepsané revize, rozhodnutí DocMDP P1/P2/P3 i zámky FieldMDP přes nativní rich importní transakci

Kombinované font programy jsou ohraničené na čtvrtinu limits.memoryBytes, vedle per-font nativního limitu; stávající limity form dat, glyfů, objektů, výstupu i výsledku zůstávají aktivní

Callbacky běží synchronně na volajícím vlákně; částečné vstupní i výstupní callbacky se přijímají a zrušení zůstává aktivní během parsování, načítání písem, přípravy appearance i publikace

Handle se zapíše, až když uspějí jak callback PDF, tak JSON; chyba callbacku či zrušení zachová jeho předchozí stav, zatímco volající zahodí jakékoli částečné bajty už přijaté sinkem

Capabilities inzerují formData.richXML=true, kompatibilní default richXMLProfile=inline-xhtml-v1, oba richXMLProfiles, volitelný výběr pojmenovaných rodin až po šestnáct popisků a čtyři podporované fontStyles; anotační výměna zůstává false

Form-data callbacky a limity · Nativní Linux C ABI · Trust volby podpisů

Interní styly aplikují ohraničené selektory, importance, specificitu a pořadí zdrojů na skutečné importované rich hodnoty i uložená appearance; opakované ekvivalentní importy i neúspěšná publikace si uchovávají stávající transakční záruky

richTextResources dodá propojený i importovaný CSS text přes nezměněnou operaci execute-json-v1

Používejte FPC 3.3.1 nebo novější s odpovídajícími runtime unitami a zaznamenejte skutečný build kompilátoru použitý pro akceptaci

Parsování JSON operací zachovává escapované NUL i Unicode objektové klíče; NUL v richTextResources se odmítne, dřív než se dokument změní, namísto tichého zmizení při dekódování JSON

Opakovaně použitelná brána Tests/Linux/JSONOperationUnicode/Run.py kontroluje vybraný produktový parser, zatímco skutečná callback sada navíc kontroluje kompilovanou sdílenou knihovnu i PDF transakci