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ýsledku | Význam |
|---|---|
updated | Počet změněných terminálních polí, tedy i podporovaných změn jen stylu |
richFieldCount | Počet rich polí v dekódovaném vstupu, tedy i ekvivalentních nezměněných hodnot |
fontStyles | Skutečně načtené font sloty v pořadí regular, bold, italic, boldItalic |
richXMLProfile | inline-xhtml-v1 či inline-xhtml-font-families-v1, když dekódovaný vstup obsahuje rich pole |
fontFamilies | Nakonfigurované 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