Clase THPDFFDFAnnotationGraph
Unidad: HPDFFDFAnnotations
Es dueña de un grafo acotado de valores FDF, sus objetos indirectos y su arreglo de anotaciones
Lectura y escritura
Decode(Bytes, Options, AllowFields) valida datos binarios FDF completos y devuelve un grafo owned por el caller; Encode devuelve bytes FDF canónicos con longitudes de stream regeneradas y offsets de referencias cruzadas
AnnotationCount, Annotation, AnnotationPage y ObjectCount inspeccionan el grafo de anotaciones admitido; Resolve sigue referencias indirectas con alcance al grafo
El flag de decodificación opcional AllowFields admite un arreglo Fields para inspección del grafo; no implementa llenado de campos ni autoriza a un adaptador solo de 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 con prefijo 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 después de liberar su grafo
Los streams construidos reciben su Length canónico 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 la 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 malformed, nombres de diccionario decodificados duplicados, páginas de anotación inválidas, subtipos inadmisibles y límites excedidos lanzan una excepción antes de devolver un resultado codificado
Para el reemplazo a nivel de documento, permisos y comportamiento de publicación consulte el intercambio FDF de anotaciones nativo