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