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

OperationInputIOOutputIOResultIO
forms.exportOptionaler PDF-Input; andernfalls das geladene DokumentEchte FDF- oder XFDF-BytesJSON-Format, Media-Type, Feldanzahl und Anzahl der Ausgabe-Bytes
forms.importErforderliche FDF- oder XFDF-Bytes; das Ziel-PDF muss bereits geladen seinAufbereitete aktualisierte PDF-BytesJSON-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