Clase THPDFFDFAnnotationGraph

Unit: HPDFFDFAnnotations

Es dueña de un grafo de valores FDF acotado, sus objetos indirectos y su array de anotaciones

Lectura y escritura

Decode(Bytes, Options, AllowFields) valida datos FDF binarios completos y devuelve un grafo propiedad del llamante; Encode devuelve bytes FDF canónicos con longitudes de stream regeneradas y offsets de cross-reference

AnnotationCount, Annotation, AnnotationPage y ObjectCount inspeccionan el grafo de anotaciones admitido; Resolve sigue referencias indirectas del ámbito del grafo

El flag de decodificación opcional AllowFields admite un array Fields para inspección del grafo; no implementa el relleno de campos ni autoriza a un adaptador de solo anotaciones a descartar actualizaciones de campos

Construcción

Cree el grafo con THPDFFDFOptions, llame a StartAnnotations y luego use CreateValue, SetScalar, SetStream, AddItem, AddEntry, Define y AppendAnnotation para construir sus valores

Los tokens escalares del builder usan sintaxis PDF, como un nombre precedido de barra o una cadena entre paréntesis; los nombres de entradas de diccionario son bytes de nombre decodificados sin barra inicial

Cada valor pertenece a su grafo y las entradas de contenedores son prestadas; no libere un hijo de forma independiente, no adjunte un valor de otro grafo ni retenga un valor tras liberar su grafo

Los streams construidos reciben su Length canónica durante la codificación; suministre bytes de stream en lugar de construir manualmente una entrada Length coincidente

Contexto y límites

ActionCount, Action, IsLocalGoTo, IsLocalDestination y LocalDestinationPage inspeccionan contextos de acción reales de anotaciones sin ejecutar sus acciones

La mutación del grafo invalida los contextos de acción en caché; las consultas posteriores los reconstruyen bajo los mismos límites de almacenamiento de trabajo, profundidad y cancelación

ReservedBytes reporta una contabilidad de admisión conservadora, mientras que Reserve permite a un adaptador admitir almacenamiento adicional relacionado con el grafo antes de la asignación

Referencias mal formadas, nombres de diccionario decodificados duplicados, páginas de anotación inválidas, subtypes inadmisibles y límites excedidos lanzan una excepción antes de devolver un resultado codificado

Vea el intercambio nativo de anotaciones FDF para el reemplazo a nivel de documento, los permisos y el comportamiento de publicación