Remoção nativa de anotações
Remova anotações existentes de páginas pelo índice de página de base zero e pelo valor Unicode NM exato, retendo a revisão original do PDF e preparando uma saída incremental separada
O entry point nativo é THPDFHeadlessDocument.SaveAnnotationRemovalsToFile; documentos Windows comuns usam THPDFWindowsFormDataTransaction.RemoveAnnotations
Identidade e dependências
Cada identidade contém um índice de página válido e um nome não vazio; a correspondência é case-sensitive após decodificar o string de texto do PDF, sem normalização Unicode nem correspondência com o texto exibido
O mesmo nome em páginas diferentes identifica anotações diferentes; um nome ausente na página selecionada é um no-op
Remover uma anotação também remove seu popup e as replies que dependem dela, incluindo replies aninhadas e dependências de popups; um conjunto de visitados torna ciclos de dependência finitos, e cada anotação removida contribui uma vez para a contagem retornada
Remover apenas um popup retém o dono e limpa a entrada Popup do dono; anotações não relacionadas retêm sua ordem e dados originais
Identidades solicitadas duplicadas, um nome solicitado ambíguo em uma página ou um dicionário de anotação compartilhado por múltiplas entradas de array de páginas causam falha antes da publicação
Publicação e segurança
O método nativo deixa o documento carregado inalterado em sucesso e em falha; carregue o PDF resultante para adotar a remoção
A publicação usa um arquivo preparado e substituição atômica do destino; uma preparação com falha ou cancelada preserva o destino existente, e o destino não pode ser alias da origem carregada
Zero remoções publica uma cópia exata da revisão atual da origem; repetir a mesma remoção contra o documento resultante retorna zero e retém seus bytes
Uma revisão incremental remove anotações do grafo de páginas atual retendo bytes e revisões anteriores; essa operação não é apagamento seguro nem redaction, e conteúdo apagado pode permanecer recuperável do histórico do arquivo
Permissões e limites de recursos
Remoções reais exigem permissão autenticada de anotações para entrada criptografada e admissão da política de assinatura para entrada assinada; abrir com sucesso um PDF criptografado, por si só, não concede permissão para alterar anotações
Certificação autenticada P1 e P2 rejeita mudanças de anotações; uma atualização P3 permitida preserva os bytes originais assinados, com checks de integridade de assinatura e binding de certificados aplicados ao documento real
Configure trust de certificados, timestamps e política de revogação exigidos explicitamente quando esses checks fazem parte dos requisitos de segurança da aplicação
Opções de remoção delimitam contagem de anotações, trabalho da operação, armazenamento de nomes e memória de trabalho, com cancelamento cooperativo compartilhado com o documento ou a transação
Fronteira atual
Um Widget selecionado, ou um Widget alcançado por dependências de remoção, é rejeitado porque remover campos de formulários exige uma transação de field-tree AcroForm; essa API não apaga campos nem desanexa silenciosamente seus widgets
A operação não executa actions nem scripts de anotações e não interpreta a remoção como aplicação de uma anotação Redact
Veja operações JSON e callback para annotations.remove, IO de entrada explícito e os estágios separados de commit de PDF, resultado e contexto