Échange de formulaires C ABI Linux natif
Utilisez le point d'entrée versionné existant hpdf_document_execute_json_v1 et le record hpdf_operation_v1 pour exporter ou importer des valeurs AcroForm scalaires et rich bornées en FDF ou XFDF
La version de l'ABI, les symboles exportés et le layout du record de callbacks restent inchangés
| Opération | InputIO | OutputIO | ResultIO |
|---|---|---|---|
forms.export | Entrée PDF optionnelle ; sinon utiliser le document chargé | Octets FDF ou XFDF réels | Format JSON, type média, nombre de champs et nombre d'octets en sortie |
forms.import | Octets FDF ou XFDF requis ; le PDF de destination doit déjà être chargé | Octets du PDF mis à jour, préparés | Format JSON, type média, nombre de champs et nombre de champs modifiés |
Les deux opérations exigent que format soit exactement fdf ou xfdf, avec schemaVersion à 1
{"schemaVersion":1,"type":"forms.export","format":"xfdf"}
{"schemaVersion":1,"type":"forms.import","format":"fdf","fontFamily":"DejaVu Sans","fontSize":12}
Les valeurs prises en charge incluent des champs texte Unicode imbriqués, les états d'export checkbox et radio, des choix scalaires et des choix multiples ; le XFDF UTF-8 et UTF-16 avec BOM est accepté
Le RV FDF et le value-richtext XFDF utilisent le profil rich inline-xhtml-v1, avec les programmes de polices réels regular, bold, italic et bold-italic sélectionnés par fontFamily
Les champs signature et pushbutton sont représentés par leurs noms sans valeurs importées, préservant les signatures remplies et le comportement existant des boutons
L'import régénère de vraies apparences et préserve le chiffrement AES R5/R6 authentifié, les champs en lecture seule, les permissions DocMDP et les verrous FieldMDP
Le signaturePolicy optionnel accepte requireCAdES, requireTimestamp, requireTimestampRevocation, les réglages trust file ou PEM existants, et revocationInfo selon le schéma des options de signature
La politique de révocation signée explicite vérifie les attributs de signature embarqués réels, y compris ceux d'un horodatage de document RFC 3161 ; des octets de statut fournis de l'extérieur ne peuvent pas remplacer un attribut requis manquant
Le formDataLimits optionnel contient des réglages entiers positifs maxBytes, maxFields, maxObjects, maxDepth, maxValues, maxValueCodeUnits et maxTotalCodeUnits, bornés par les défauts natifs et la capacité de l'opération
Les limits.memoryBytes, outputBytes et resultBytes existants contraignent en plus la préparation et la publication ; une limite d'échange épuisée retourne HPDF_STATUS_BUDGET_EXCEEDED
Les callbacks s'exécutent de façon synchrone sur le thread appelant et peuvent retourner des lectures ou écritures partielles ; l'annulation est observée pendant la lecture de l'entrée du formulaire, le parsing, la préparation des apparences et la publication du résultat
Le handle de destination chargé ne commit qu'après le succès des callbacks de PDF mis à jour et de résultat JSON ; les erreurs de callbacks ou l'annulation préservent son état précédent, tandis que les octets déjà acceptés par un sink détenu par l'appelant restent de sa responsabilité
Le layout CSS arbitraire, les familles de polices multiples, les annotations, les fichiers embarqués, les actions et l'échange de révisions FDF incrémentales restent hors du profil implémenté
Les opérations XFDF d'annotations utilisent un profil d'ajout séparé avec références popup/réponse et flux de fichiers ou de sons embarqués
ABI C Linux natif · Options de signature et de trust · Transaction d'import native