Classe THPDFFDFAnnotationGraph

Unité : HPDFFDFAnnotations

Détient un graphe de valeurs FDF borné, ses objets indirects et son tableau d'annotations

Lecture et écriture

Decode(Bytes, Options, AllowFields) valide des données FDF binaires complètes et renvoie un graphe détenu par l'appelant ; Encode renvoie des octets FDF canoniques avec longueurs de flux régénérées et offsets de table de références croisées

AnnotationCount, Annotation, AnnotationPage et ObjectCount inspectent le graphe d'annotations admis ; Resolve suit les références indirectes à la portée du graphe

L'indicateur de décodage optionnel AllowFields admet un tableau Fields pour l'inspection du graphe ; il n'implémente pas le remplissage de champs et n'autorise pas un adaptateur d'annotations seules à écarter des mises à jour de champs

Construction

Créez le graphe avec THPDFFDFOptions, appelez StartAnnotations, puis utilisez CreateValue, SetScalar, SetStream, AddItem, AddEntry, Define et AppendAnnotation pour construire ses valeurs

Les jetons scalaires du builder utilisent la syntaxe PDF, par exemple un nom préfixé d'une barre oblique ou une chaîne entre parenthèses ; les noms d'entrées de dictionnaire sont des octets de noms décodés sans barre oblique initiale

Chaque valeur appartient à son graphe et les entrées de conteneurs sont empruntées ; ne libérez pas un enfant indépendamment, n'attachez pas une valeur d'un autre graphe et ne conservez pas une valeur après la libération de son graphe

Les flux construits reçoivent leur Length canonique pendant l'encodage ; fournissez des octets de flux plutôt que de construire manuellement une entrée Length correspondante

Contexte et limites

ActionCount, Action, IsLocalGoTo, IsLocalDestination et LocalDestinationPage inspectent les contextes d'actions d'annotations réels sans exécuter leurs actions

La mutation du graphe invalide les contextes d'actions mis en cache ; les requêtes suivantes les reconstruisent sous les mêmes limites de stockage de travail, de profondeur et d'annulation

ReservedBytes rapporte une comptabilité d'admission conservatrice, tandis que Reserve permet à un adaptateur d'admettre un stockage supplémentaire lié au graphe avant l'allocation

Les références mal formées, les noms de dictionnaires décodés dupliqués, les pages d'annotations invalides, les subtypes inadmissibles et les limites dépassées lèvent une exception avant qu'un résultat encodé soit renvoyé

Voir l'échange FDF d'annotations natif pour le remplacement au niveau document, les permissions et le comportement de publication