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 depois de descodificar o string de texto do PDF, sem normalização Unicode nem correspondência com o texto apresentado
O mesmo nome em páginas diferentes identifica anotações diferentes; um nome em falta na página selecionada é um no-op
Remover uma anotação também remove o popup e as respostas que dependem dela, incluindo respostas aninhadas e dependências de popups; um conjunto de visitados torna os ciclos de dependência finitos, e cada anotação removida conta uma vez na contagem devolvida
Remover apenas um popup retém o dono e limpa a entrada Popup do dono; anotações não relacionadas retêm a sua ordem e dados originais
Identidades pedidas duplicadas, um nome pedido ambíguo numa página ou um dicionário de anotação partilhado por múltiplas entradas de arrays 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 ficheiro preparado e substituição atómica do destino; uma preparação falhada ou cancelada preserva o destino existente, e o destino não pode ser alias da fonte carregada
Zero remoções publica uma cópia exata da revisão atual da fonte; repetir a mesma remoção contra o documento resultante devolve zero e retém os bytes dele
Uma revisão incremental remove anotações do grafo de páginas atual retendo bytes e revisões anteriores; esta operação não é apagamento seguro nem redaction, e o conteúdo apagado pode permanecer recuperável do histórico do ficheiro
Permissões e limites de recursos
Remoções reais exigem permissão autenticada de anotações para entrada cifrada e admissão da política de assinatura para entrada assinada; abrir com sucesso um PDF cifrado não concede, por si só, permissão para alterar anotações
Certificação autenticada P1 e P2 rejeita alterações de anotações; uma atualização P3 permitida preserva os bytes originais assinados, com verificações de integridade de assinaturas e binding de certificados aplicadas ao documento real
Configure o trust de certificados, timestamps e a política de revogação exigidos explicitamente quando essas verificações fazem parte dos requisitos de segurança da aplicação
Opções de remoção delimitam a contagem de anotações, o trabalho da operação, o armazenamento de nomes e a memória de trabalho, com cancelamento cooperativo partilhado 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; esta API não apaga campos nem desanexa silenciosamente os seus widgets
A operação não executa ações 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 callbacks para annotations.remove, IO de entrada explícito e as fases separadas de commit de PDF, resultado e contexto