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