Transport d'apparence de tampon XFDF standard

Les annotations Stamp peuvent exporter et importer leurs véritables flux d'apparence PDF et dictionnaires de ressources via l'élément appearance XFDF d'Adobe

Le profil stamp-typed-xml-v1 utilise du XML typé UTF-8 encodé en base64, comme le décrit la spécification Adobe XFDF 3 ; la charge utile décodée représente des objets PDF plutôt qu'un fichier PDF ou FDF complet

Ressources mappées

Le DICT KEY="AP" de premier niveau contient un flux Form N normal requis et des flux optionnels R (rollover) et D (down)

Les formulaires conservent leur BBox finie à quatre nombres, leur Matrix optionnelle à six nombres et leur graphe de ressources pris en charge, polices et programmes embarqués, images et masques doux, espaces de couleurs, motifs, dégradés, fonctions et états graphiques compris

Les valeurs typées comprennent DICT, STREAM, ARRAY, INT, FIXED, NAME, BOOL et NULL ; les clés de dictionnaires et les valeurs de noms préservent leurs noms PDF sémantiques, et les tokens numériques sources valides préservent la précision décimale

Le DATA de flux prend en charge MODE="RAW" ou MODE="FILTERED" avec ENCODING="HEX" ou ENCODING="ASCII" à sept bits ; RAW conserve les octets encodés et leurs Filter/DecodeParms, tandis que FILTERED installe des octets décodés sans métadonnées de filtrage périmées

L'export utilise des données hexadécimales RAW et régénère la Length du flux depuis les octets réels ; les flux chiffrés authentifiés sont décodés ou déchiffrés avant l'échange et chiffrés correctement dans la révision enregistrée

Les ressources acycliques partagées sont étendues en valeurs équivalentes et importées avec des références d'objets indépendantes ; ce profil ne préserve pas l'identité des références

Les octets des programmes de polices embarqués et leurs drapeaux d'embarquement sont préservés sans changer les bits de licence ni substituer un autre programme de police

API et callbacks

Utilisez HPDFExportHeadlessAnnotationsXFDF et SaveAnnotationsXFDFToFile pour les transactions natives, ou les surcharges bornées de HPDFXFDFExportAnnotations et HPDFXFDFImportAnnotations pour des adaptateurs de graphe possédés par l'appelant

Les jobs de fichiers Windows et callbacks V1 ainsi que les callbacks V1 Linux existants utilisent leurs opérations d'annotations et layouts de records existants

Les capacités gardent appearanceImport=false pour les apparences d'annotations générales et ajoutent stampAppearanceImport=true, appearanceProfile="stamp-typed-xml-v1", appearanceTypes=["stamp"], appearanceDataModes=["RAW","FILTERED"], appearanceEncodings=["ASCII","HEX"] et appearanceResources="acyclic-expanded-graph"

Transactions et limites

XML d'entrée, base64, noms, encodage de flux, types de ressources, clés de dictionnaires sémantiques et géométrie de formulaires sont validés avant publication ; données mal formées, cycles, limites cumulatives épuisées ou annulation font échouer la transaction complète

Les limites XFDF couvrent l'entrée/sortie totales, les nœuds XML et de graphe, la profondeur, le stockage de flux et les réservations de travail sur l'opération d'annotation

L'import conserve l'état de graphe courant non enregistré, la sécurité AES R5/R6 et les restrictions de certification authentifiées ; P1/P2 refusent les modifications d'annotations et P3 préserve le préfixe signé d'origine et l'intégrité réelle de la signature

Un import vide autorisé retourne zéro et préserve les octets PDF courants exacts quand il n'y a pas de changements non enregistrés ; les changements de graphe modifiés sont enregistrés au lieu d'être jetés

Les contextes de callbacks Windows et Linux n'adoptent un PDF préparé qu'après le succès de la sortie PDF, de la sortie du résultat JSON et du contrôle d'annulation final ; les callbacks en échec ou partiels conservent le contexte antérieur, et le premier écrivain en échec reste persistant

L'import d'annotations seules accepte les conteneurs fields vides et les déclarations field sans valeur comme métadonnées no-op ; les valeurs de formulaire réelles et les mises à jour de champs riches exigent l'opération de données de formulaire authentifiée séparée

Travaux restants

Le transport AP général d'annotations, les dictionnaires d'états d'apparence, les valeurs de ressources chaînes, les références DEFINE/REF non vides, les graphes cycliques, l'apparence overlay de Redact, le remplacement ou la suppression d'annotations et l'échange d'annotations FDF restent des travaux distincts

Les annotations géométriques et de texte sans apparence de tampon transportée gardent leur comportement existant ; cette opération ne synthétise pas d'apparences d'annotations arbitraires et n'exécute pas d'actions

L'adaptateur borné partagé réserve les clés d'annotations brutes et les graphes AP étendus avant la conversion de charge utile, et réserve les blancs base64 et le DATA décodé avant d'allouer ces représentations ; la conversion des noms PDF utilise des passes linéaires avec points de contrôle d'annulation