Função HPDFXFDFImportAnnotations
function HPDFXFDFImportAnnotations(const Access: THPDFXFDFAccess;
const Destinations: THPDFXFDFDestinationAccess;
Root: THPDFXFDFNode): Integer; overload;
Mapeia o XML de anotações através dos callbacks de acesso fornecidos e retorna a contagem de anotações criadas
Os callbacks separados de destinos vinculam arrays locais de páginas a páginas indiretas reais do documento e preservam alvos nomeados Unicode e coordenadas decimais exatas delimitadas
O overload original retém sua assinatura e usa um record de destinos vazio; alvos explícitos de páginas exigem callbacks de page-count e page-object
Este mapper de callbacks de baixo nível não fornece rollback de documento completo por si só; use SaveAnnotationsXFDFToFile para admissão delimitada, política autenticada e publicação atômica de arquivos
Atributos e limites de destinos
Transporte de aparências padrão de stamps preserva streams reais de Forms e recursos acíclicos delimitados de fontes, imagens e gráficos por meio de typed XML em base64
function HPDFXFDFImportAnnotations(const Access: THPDFXFDFAccess;
const Destinations: THPDFXFDFDestinationAccess; Root: THPDFXFDFNode;
MaxAppearanceBytes, MaxAppearanceNodes, MaxAppearanceDepth: Integer;
MaxAppearanceWorkingBytes: Int64;
CancellationToken: THPDFCancellationToken): Integer; overload;
Os limites são positivos e cumulativos, com teto de profundidade de aparências de 62; o overload anterior fornece 16 MiB, 100000 nós, profundidade 62 e 512 MiB de reserva de trabalho
Streams indiretos criados permanecem de posse do adapter de grafo fornecido; o codec de baixo nível não assume a posse do documento do chamador e não fornece rollback de operação completa
O adapter reserva o comprimento original em base64, incluindo whitespace, antes da conversão ANSI e do armazenamento decodificado; dados RAW HEX e ASCII são reservados antes de alocar os arrays de bytes dos streams
As reservas de trabalho são conservadoras e cumulativas para o import completo, independentes dos bytes de saída; uma árvore XFDF parseada de posse do chamador é admitida pelo chamador antes de este adapter consumi-la
Um preflight lexical reserva os records decodificados de nós e atributos XML e os arrays herdados de escopos de namespaces antes de construir a árvore; contagem de nós, profundidade e armazenamento de trabalho são limites cumulativos independentes
O preflight específico de AP valida o vocabulário existente de tags de objetos antes de invocar o reader XML compartilhado, preservando a rejeição de tipos inválidos sem reter fragmentos RawXML de XHTML não relacionados