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