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