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