Nativ rich-utväxling av formulärdata via C ABI i Linux

Den befintliga operationen forms.import accepterar FDF RV och XFDF value-richtext via anroparens versionerade InputIO-callbacks och publicerar en genuint uppdaterad PDF via OutputIO

ABI-versionen V1, exporterade symboler och callbacktabellens layout är oförändrade; denna bindning riktar sig mot nativ Linux x64

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

Mål-PDF:en måste redan vara inläst; InputIO levererar de faktiska formulärdata-bytes, inte en till PDF

Profilen inline-xhtml-v1 bevarar blandad Unicode-textordning, stycke- och explicita radbrytningar, ärvda inline-teckensnittsstorlekar, RGB-färger, vikt, kursiv, understrykning, genomstrykning och styckejustering via den begränsade nativa XHTML-avkodaren

Valfria namngivna rich-teckensnittsfamiljer väljer konfigurerade program med ärvda CSS-familjelistor; godtycklig CSS-layout, externa stilmallar, tabeller, bilder och vertikal justering är separata förmågor

fontFamily väljer teckensnittsleverantörens faktiska program för regular, bold, italic och bold-italic; endast stilar som de faktiska rich-värdena kräver laddas, tillsammans med det vanliga program som skalära fält använder

Deploymentens Fontconfig-konfiguration måste tillhandahålla önskad familj och varianter; normal leverantörsfallback gäller när en begärd variant saknas, och fontStyles beskriver de laddade stilplatserna i stället för att intyga installerade teckensnittsvarianter

Teckensnittsprogrammen återvänder till anroparen inuti den förberedda PDF:ens inbäddade teckensnittsströmmar och verkliga appearances; inga teckensnittsfilsökvägar exponeras i JSON-svaret

När fontSize är noll använder ostylad XHTML avkodarens standardvärde på 12 punkter; explicit stödda XHTML-teckensnittsstorlekar behåller egna värden

ResultatfältBetydelse
updatedAntal ändrade terminalfält, inklusive stödda ändringar enbart av stil
richFieldCountAntal rich-fält i den avkodade indatan, inklusive oförändrade ekvivalenta värden
fontStylesFaktiskt laddade teckensnittsplatser i ordningen regular, bold, italic, boldItalic
richXMLProfileinline-xhtml-v1 eller inline-xhtml-font-families-v1 när den avkodade indatan innehåller rich-fält
fontFamiliesKonfigurerade familjeetiketter när den valfria arrayen med namngivna familjer levereras

Ekvivalent kanonisk och icke-kanonisk rich-markup är idempotent när dess text och stödda stilar matchar; oförändrade skrivskyddade fält bevarar sin RV, medan olika stödda stilar upprätthåller skrivskyddet

En import med noll ändringar publicerar exakt den committade privata PDF-snapshotten, inklusive befintliga signerade eller krypterade revisioner, utan att samla på sig tomma korsreferensrevisioner; ändrade inbytes eller underliggande filer från anroparen ersätter inte den inlästa snapshotten

Importen bevarar autentiserad AES-säkerhet, faktiska signerade revisioner, DocMDP-beslut P1/P2/P3 samt FieldMDP-lås via den nativa rich-importtransaktionen

De kombinerade teckensnittsprogrammen begränsas till en fjärdedel av limits.memoryBytes, utöver den nativa gränsen per teckensnitt; befintliga gränser för formulärdata, glyphs, objekt, utmatning och resultat gäller fortsatt

Callbacks körs synkront på anropande tråd; partiella in- och utmatningscallbacks accepteras, och avbrott förblir aktivt under parsning, teckensnittsladdning, appearance-förberedelse och publicering

Handtaget committar först efter att både PDF- och JSON-callbacks lyckats; ett callback-fel eller avbrott bevarar dess tidigare tillstånd, medan anroparen kastar de partiella bytes som en mottagare redan fått

Kapabiliteter annonserar formData.richXML=true, den kompatibla standardprofilen richXMLProfile=inline-xhtml-v1, båda richXMLProfiles, valfritt val av namngivna familjer med upp till sexton etiketter samt de fyra stödda fontStyles; annoteringsutväxling förblir false

Interna stilmallar tillämpar avgränsade selektorer, vikt, specificitet och källordning på faktiskt importerade rich-värden och sparade utseenden; upprepade ekvivalenta importer och misslyckad publicering behåller de befintliga transaktionsgarantierna

Formulärdata-callbacks och gränser · Nativt Linux C ABI · Förtroendealternativ för signatur

richTextResources tillhandahåller länkad och importerad CSS-text genom den oförändrade execute-json-v1-operationen

Tolkning av JSON-operationer bevarar eskaperade NUL och Unicode-objektnycklar på båda stödda FPC-kompilatorlinjerna; en NUL i richTextResources avvisas innan dokumentet ändras, i stället för att tyst försvinna under JSON-avkodning

Den återanvändbara grinden Tests/Linux/JSONOperationUnicode/Run.py kontrollerar den valda produktparsern, medan den faktiska callbacksviten även kontrollerar det kompilerade delade biblioteket och PDF-transaktionen