Interscambio moduli C ABI nativa di Linux
Usa il consueto entry point versionato hpdf_document_execute_json_v1 e il record hpdf_operation_v1 per esportare o importare valori AcroForm scalari e rich limitati come FDF o XFDF
Versione ABI, simboli esportati e layout dei record callback restano invariati
| Operazione | InputIO | OutputIO | ResultIO |
|---|---|---|---|
forms.export | Input PDF opzionale; altrimenti si usa il documento caricato | Byte FDF o XFDF reali | JSON con format, media type, conteggio campi e conteggio byte di output |
forms.import | Byte FDF o XFDF obbligatori; il PDF di destinazione deve essere già caricato | Byte PDF aggiornati e preparati | JSON con format, media type, conteggio campi e conteggio campi modificati |
Entrambe le operazioni richiedono che format sia esattamente fdf o xfdf, con schemaVersion impostato a 1
{"schemaVersion":1,"type":"forms.export","format":"xfdf"}
{"schemaVersion":1,"type":"forms.import","format":"fdf","fontFamily":"DejaVu Sans","fontSize":12}
I valori supportati includono campi testo Unicode annidati, stati export di checkbox e radio, scelte scalari e selezioni multiple; XFDF UTF-8 e UTF-16 con BOM sono accettati
FDF RV e XFDF value-richtext usano il profilo rich inline-xhtml-v1, con veri programmi font regular, bold, italic e bold-italic selezionati via fontFamily
I campi firma e pushbutton sono rappresentati dai loro nomi senza valori importati, preservando firme già presenti e comportamento esistente dei pulsanti
L'import rigenera appearance autentiche e preserva cifratura AES R5/R6 autenticata, campi read-only, permessi DocMDP e lock FieldMDP
Il signaturePolicy opzionale accetta requireCAdES, requireTimestamp, requireTimestampRevocation, file di trust o impostazioni PEM esistenti, e revocationInfo con lo schema delle signing options
Una policy di revoca firmata esplicita verifica i veri attributi di firma incorporati, inclusi quelli di un timestamp documento RFC 3161; byte di stato forniti dall'esterno non possono sostituire un attributo richiesto mancante
Il formDataLimits opzionale contiene impostazioni intere positive maxBytes, maxFields, maxObjects, maxDepth, maxValues, maxValueCodeUnits e maxTotalCodeUnits, limitate dai default nativi e dalla capacità dell'operazione
I consueti limits.memoryBytes, outputBytes e resultBytes vincolano inoltre preparazione e pubblicazione; un limite di interscambio esaurito restituisce HPDF_STATUS_BUDGET_EXCEEDED
Le callback girano in modo sincrono sul thread chiamante e possono restituire letture o scritture parziali; la cancellazione viene osservata durante lettura dell'input del modulo, parsing, preparazione delle appearance e pubblicazione del risultato
L'handle di destinazione caricato committa solo dopo il successo delle callback di risultato PDF aggiornato e JSON; errori o cancellazione delle callback ne preservano lo stato precedente, mentre i byte già accettati da un sink di proprietà del chiamante restano responsabilità del chiamante
Le operazioni XFDF per annotazioni usano un profilo append separato con riferimenti popup/reply e stream file o suono incorporati
Layout CSS arbitrario, file FDF incorporati, azioni arbitrarie e interscambio incrementale di revisioni FDF restano fuori dal profilo form-data
C ABI nativa di Linux · Opzioni di firma e trust · Transazione di import nativa