Native Linux C ABI Rich-Form-Interchange

Die bestehende forms.import-Operation akzeptiert FDF-RV und XFDF-value-richtext über die versionierten InputIO-Callbacks des Aufrufers und veröffentlicht ein echtes aktualisiertes PDF über OutputIO

Die V1-ABI-Version, exportierte Symbole und das Callback-Tabellenlayout bleiben unverändert; dieses Binding zielt auf natives Linux x64

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

Das Ziel-PDF muss bereits geladen sein; InputIO liefert die tatsächlichen Form-Data-Bytes statt eines weiteren PDF

Das inline-xhtml-v1-Profil bewahrt gemischte Unicode-Textreihenfolge, Absatz- und explizite Zeilenumbrüche, geerbte Inline-Schriftgrößen, RGB-Farben, Gewicht, Italic, Unterstreichung, Durchstreichung und Absatzausrichtung über den begrenzten nativen XHTML-Decoder

Optionale benannte Rich-Font-Familien wählen konfigurierte Programme mit geerbten CSS-Familienlisten; beliebige CSS-Layouts, externe Stylesheets, Tabellen, Bilder und vertikale Ausrichtung bleiben separate Fähigkeiten

fontFamily wählt die echten Regular-, Bold-, Italic- und Bold-Italic-Programme des nativen Font-Providers; nur die von den tatsächlichen Rich-Werten benötigten Styles werden geladen, zusammen mit dem von skalaren Feldern genutzten Regular-Programm

Die Fontconfig-Konfiguration des Deployments muss die gewünschte Familie und Faces liefern; normaler Provider-Fallback greift, wenn ein angefordertes Face nicht verfügbar ist, und fontStyles beschreibt die geladenen Style-Slots, statt installierte Schrift-Faces zu zertifizieren

Die Font-Programme kehren im Aufrufer innerhalb der eingebetteten Schriftstreams und echten Appearances des vorbereiteten PDFs zurück; keine Schriftdateipfade werden in der JSON-Antwort offengelegt

Bei fontSize null nutzt unstyled XHTML den 12-Punkt-Default des Decoders; explizite unterstützte XHTML-Schriftgrößen behalten ihre eigenen Werte

ErgebnisfeldBedeutung
updatedAnzahl geänderter Terminal-Felder, einschließlich unterstützter reiner Style-Änderungen
richFieldCountAnzahl Rich-Felder in der decodierten Eingabe, einschließlich äquivalenter unveränderter Werte
fontStylesTatsächlich geladene Font-Slots in der Reihenfolge regular, bold, italic, boldItalic
richXMLProfileinline-xhtml-v1 oder inline-xhtml-font-families-v1, wenn die decodierte Eingabe Rich-Felder enthält
fontFamiliesKonfigurierte Familienlabels, wenn das optionale Named-Family-Array geliefert wird

Äquivalentes kanonisches und nichtkanonisches Rich-Markup ist idempotent, wenn Text und unterstützte Styles übereinstimmen; unveränderte schreibgeschützte Felder bewahren ihre Quell-RV, während unterschiedliche unterstützte Styles den Read-only-Schutz durchsetzen

Ein Import ohne Änderungen veröffentlicht den exakten committeten privaten PDF-Snapshot, einschließlich bestehender signierter oder verschlüsselter Revisionen, ohne leere Cross-Reference-Revisionen anzusammeln; geänderte Aufrufer-Eingabebytes oder Backing-Files ersetzen diesen geladenen Snapshot nicht

Der Import bewahrt authentifizierte AES-Security, echte signierte Revisionen, DocMDP-P1/P2/P3-Entscheidungen und FieldMDP-Locks über die native Rich-Import-Transaktion

Die kombinierten Font-Programme sind auf ein Viertel von limits.memoryBytes begrenzt, zusätzlich zum nativen Limit pro Schrift; bestehende Form-Data-, Glyphen-, Objekt-, Output- und Ergebnis-Limits bleiben aktiv

Callbacks laufen synchron im aufrufenden Thread; partielle Input- und Output-Callbacks werden akzeptiert, und Abbruch bleibt während Parsing, Font-Laden, Appearance-Vorbereitung und Veröffentlichung aktiv

Das Handle committet erst, nachdem sowohl PDF- als auch JSON-Callbacks erfolgreich waren; ein Callback-Fehler oder Abbruch bewahrt den vorherigen Zustand, während der Aufrufer alle von einem Sink bereits empfangenen partiellen Bytes verwirft

Capabilities melden formData.richXML=true, den kompatiblen Default richXMLProfile=inline-xhtml-v1, beide richXMLProfiles, optionale Named-Family-Auswahl bis zu sechzehn Labels und die vier unterstützten fontStyles; Annotation-Interchange bleibt false

Form-Data-Callbacks und Limits · Native Linux C ABI · Signatur-Trust-Optionen

Interne Style-Sheets wenden begrenzte Selektoren, Importance, Specificity und Source Order auf tatsächlich importierte Rich-Werte und gespeicherte Appearances an; wiederholte äquivalente Importe und fehlgeschlagene Veröffentlichung bewahren die bestehenden Transaktionsgarantien

richTextResources liefert verlinkten und importierten CSS-Text über die unveränderte execute-json-v1-Operation

Verwenden Sie FPC 3.3.1 oder neuer mit passenden Runtime-Units, und halten Sie den tatsächlich für die Abnahme verwendeten Compiler-Build fest

Das JSON-Operations-Parsing bewahrt escape NUL- und Unicode-Objektschlüssel; ein NUL in richTextResources wird abgelehnt, bevor sich das Dokument ändert, statt während der JSON-Dekodierung still zu verschwinden

Das wiederverwendbare Tests/Linux/JSONOperationUnicode/Run.py-Gate prüft den ausgewählten Produkt-Parser, während die echte Callback-Suite zusätzlich die kompilierte Shared Library und die PDF-Transaktion prüft