Native Linux C ABI Formularaustausch
Nutzen Sie den bestehenden versionierten Einstiegspunkt hpdf_document_execute_json_v1 und den hpdf_operation_v1-Record, um skalare und begrenzte Rich-AcroForm-Werte als FDF oder XFDF zu exportieren oder zu importieren
ABI-Version, exportierte Symbole und das Callback-Record-Layout bleiben unverändert
| Operation | InputIO | OutputIO | ResultIO |
|---|---|---|---|
forms.export | Optionaler PDF-Input; andernfalls das geladene Dokument | Echte FDF- oder XFDF-Bytes | JSON-Format, Media-Type, Feldanzahl und Anzahl der Ausgabe-Bytes |
forms.import | Erforderliche FDF- oder XFDF-Bytes; das Ziel-PDF muss bereits geladen sein | Aufbereitete aktualisierte PDF-Bytes | JSON-Format, Media-Type, Feldanzahl und Anzahl geänderter Felder |
Beide Operationen verlangen, dass format exakt fdf oder xfdf ist, mit schemaVersion auf 1 gesetzt
{"schemaVersion":1,"type":"forms.export","format":"xfdf"}
{"schemaVersion":1,"type":"forms.import","format":"fdf","fontFamily":"DejaVu Sans","fontSize":12}
Unterstützte Werte umfassen verschachtelte Unicode-Textfelder, Checkbox- und Radio-Exportzustände, skalare Choices und Mehrfach-Choices; UTF-8 und BOM-markiertes UTF-16-XFDF werden akzeptiert
FDF RV und XFDF value-richtext nutzen das inline-xhtml-v1 Rich-Profil, mit echten Regular-, Bold-, Italic- und Bold-Italic-Font-Programmen, ausgewählt über fontFamily
Signature- und Pushbutton-Felder werden durch ihre Namen ohne importierte Werte dargestellt, sodass befüllte Signaturen und bestehendes Button-Verhalten bewahrt bleiben
Der Import regeneriert echte Appearances und bewahrt authentifizierte AES-R5/R6-Verschlüsselung, schreibgeschützte Felder, DocMDP-Berechtigungen und FieldMDP-Sperren
Optionale signaturePolicy akzeptiert requireCAdES, requireTimestamp, requireTimestampRevocation, bestehende Trust-Datei- oder PEM-Einstellungen sowie revocationInfo nach dem Signing-Options-Schema
Eine explizite Signatur-Revocation-Policy verifiziert die echten eingebetteten Signaturattribute, einschließlich derer in einem RFC-3161-Dokument-Timestamp; extern gelieferte Status-Bytes können ein fehlendes Pflichtattribut nicht ersetzen
Optionale formDataLimits enthält positive ganzzahlige Einstellungen für maxBytes, maxFields, maxObjects, maxDepth, maxValues, maxValueCodeUnits und maxTotalCodeUnits, begrenzt durch die nativen Defaults und die Operationskapazität
Bestehende limits.memoryBytes, outputBytes und resultBytes begrenzen zusätzlich Aufbereitung und Veröffentlichung; ein erschöpfter Austauschlimit liefert HPDF_STATUS_BUDGET_EXCEEDED
Callbacks laufen synchron auf dem aufrufenden Thread und dürfen partielle Lese- oder Schreibvorgänge zurückliefern; Abbruch wird beim Lesen des Formularinputs, beim Parsen, beim Aufbereiten der Appearances und beim Veröffentlichen des Ergebnisses beachtet
Das geladene Ziel-Handle committet erst, nachdem die aktualisierten PDF- und JSON-Result-Callbacks erfolgreich waren; Callback-Fehler oder Abbruch bewahren seinen vorherigen Zustand, während bereits von einer aufruferseitigen Sink akzeptierte Bytes in der Verantwortung des Aufrufers bleiben
Beliebiges CSS-Layout, mehrere Schriftfamilien, Annotationen, eingebettete Dateien, Actions und inkrementeller FDF-Revision-Austausch bleiben außerhalb des implementierten Profils
Annotation-XFDF-Operationen nutzen ein separates Append-Profil mit Popup-/Antwort-Referenzen und eingebetteten Datei- oder Sound-Streams
Native Linux C ABI · Signing- und Trust-Optionen · Native Import-Transaktion