Classe THPDFFDFAnnotationGraph
Unit: HPDFFDFAnnotations
É dona de um grafo delimitado de valores FDF, os seus objetos indiretos e o seu array de anotações
Leitura e escrita
Decode(Bytes, Options, AllowFields) valida dados FDF binários completos e devolve um grafo da propriedade do caller; Encode devolve bytes FDF canónicos com comprimentos de streams regenerados e offsets de cross-references
AnnotationCount, Annotation, AnnotationPage e ObjectCount inspecionam o grafo de anotações admitido; Resolve segue referências indiretas com âmbito no grafo
A flag de descodificação opcional AllowFields admite um array Fields para inspeção do grafo; não implementa preenchimento de campos nem autoriza um adapter apenas de anotações a descartar atualizações de campos
Construção
Crie o grafo com THPDFFDFOptions, chame StartAnnotations e use CreateValue, SetScalar, SetStream, AddItem, AddEntry, Define e AppendAnnotation para construir os seus valores
Tokens escalares do builder usam sintaxe PDF, como um nome com prefixo de barra ou um string entre parênteses; nomes de entradas de dicionários são bytes de nomes descodificados sem barra inicial
Cada valor pertence ao seu grafo e entradas de contentores são emprestadas; não liberte um filho independentemente, não anexe um valor de outro grafo nem retenha um valor depois de libertar o seu grafo
Streams construídos recebem o seu Length canónico durante a codificação; forneça bytes de stream em vez de construir manualmente uma entrada Length correspondente
Contexto e limites
ActionCount, Action, IsLocalGoTo, IsLocalDestination e LocalDestinationPage inspecionam contextos reais de ações de anotações sem executar as ações
Mutação do grafo invalida contextos de ações em cache; queries subsequentes reconstruem-nos sob os mesmos limites de armazenamento de trabalho, profundidade e cancelamento
ReservedBytes reporta contabilidade conservadora de admissão, enquanto Reserve permite que um adapter admita armazenamento adicional relacionado com o grafo antes da alocação
Referências malformadas, nomes de dicionários descodificados duplicados, páginas de anotações inválidas, subtipos inadmissíveis e limites excedidos levantam uma exceção antes de um resultado codificado ser devolvido
Veja troca nativa de anotações FDF para o comportamento de substituição, permissões e publicação ao nível do documento