Échange FDF d'annotations natif
L'échange d'annotations FDF binaire préserve les graphes d'objets PDF au lieu de mapper chaque annotation sur un vocabulaire XML fixe
Utilisez ExportAnnotationsFDF pour produire des octets FDF et SaveAnnotationsFDFToFile pour préparer une révision PDF incrémentielle indépendante
Graphes et ressources d'apparence
Le graphe conserve les noms, les jetons numériques exacts, les octets de chaînes littérales et hexadécimales, les tableaux, les dictionnaires, les références indirectes et les octets de flux
Les états d'apparence d'annotations, les sélections AS, les polices et images partagés ainsi que les flux RO Redact conservent leur topologie de références partagées ; les numéros d'objets de sortie et la sérialisation peuvent changer
Les longueurs de flux sont régénérées à partir des octets conservés lors de l'encodage ; les longueurs sources indirectes sont résolues pendant le décodage et vérifiées avant publication
Les tableaux de destinations GoTo locales explicites dans A, les événements AA admis et les chaînes Next sont remappés dans leur contexte d'action réel vers les objets de page du document de destination ; un dictionnaire ailleurs dans un graphe de ressources n'est pas traité comme une action simplement parce que ses clés y ressemblent
L'échange préserve les données d'action sans exécuter de scripts, suivre des références de fichiers externes, naviguer vers des destinations ni appliquer des redactions
Comportement d'import
Les valeurs Page FDF sont des indices de pages à base zéro et doivent identifier des pages du document chargé
Un NM non vide correspondant sur la même page identifie une annotation existante à remplacer ; une annotation sans nom ou sans correspondance est ajoutée, et les noms ambigus échouent avant publication
Les imports d'annotations sémantiquement inchangés renvoient zéro ; la publication exacte sans opération et la récupération par callback font partie du contrat d'acceptation
La méthode de sauvegarde native laisse le document chargé inchangé après un succès comme après un échec ; chargez le PDF enregistré pour adopter sa nouvelle révision
Permissions et limites
L'export exige la permission d'extraction, tandis que les modifications réelles d'annotations exigent la permission d'annotation et l'admission authentifiée de la politique de signature
La certification P1 et P2 interdisent les modifications d'annotations ; les révisions P3 permises préservent les octets signés d'origine, les permissions d'entrée chiffrées et les politiques de verrouillage de champs étant évaluées par rapport au document réel
THPDFFDFOptions borne indépendamment les octets, les nœuds, les objets, la profondeur, le nombre d'annotations et le stockage de travail, avec annulation coopérative pendant l'analyse, la préparation et la sortie
Une sauvegarde échouée ou annulée préserve le fichier de destination et le graphe chargé ; les clients callback conservent aussi leur dernier document commité quand la sortie ou la publication du résultat échoue
Frontières
Link, Movie, Widget, PrinterMark, Screen et TrapNet sont exclus du profil Annots FDF standard
Les imports d'annotations seuls rejettent des Fields non vides et des Differences de documents incorporés au lieu d'écarter silencieusement leurs effets
La syntaxe arbitraire de conteneurs d'apparences XFDF, la suppression d'annotations, le traitement de fichiers FDF incorporés et l'application de révisions de documents incorporées restent des travaux distincts
Le transport d'apparences préserve les ressources AP fournies ; il ne synthétise pas d'apparence manquante et n'exécute pas l'action d'une annotation
Voir l'échange XFDF mappé pour le profil XML et THPDFFDFAnnotationGraph pour l'API de graphe autonome
Suppression explicite d'annotations
La suppression d'annotations par page et nom est une opération distincte ; omettre une annotation d'un FDF ou XFDF importé ne la supprime pas
La suppression de l'arbre de champs des widgets et l'effacement sécurisé exigent des opérations distinctes ; la suppression incrémentielle conserve les octets PDF antérieurs