Método THPDFHeadlessDocument.SaveAnnotationRemovalsToFile

function SaveAnnotationRemovalsToFile(const FileName: string;
  const Identities: array of THPDFHeadlessAnnotationIdentity;
  const Options: THPDFHeadlessAnnotationRemovalOptions): Integer;

Prepara remoções de anotações de página a partir da origem carregada atual e publica atomicamente um PDF separado em FileName

Identities seleciona anotações por índices de página válidos de base zero e valores Unicode NM decodificados exatos; Options fornece limites de recursos positivos e cancelamento compartilhado opcional

O valor de retorno conta cada anotação removida uma vez, incluindo dependências de popups e replies; pode exceder o número de identidades solicitadas

Um request vazio ou identidades válidas sem correspondência retornam zero e publicam os bytes atuais exatos da origem; identidades duplicadas, nomes selecionados ambíguos e donos de anotações compartilhados falham

Remover um dono remove transitivamente popups e replies dependentes, com tratamento finito de ciclos; remover apenas o popup dele limpa o link Popup do dono retido

Um Widget selecionado ou dependente levanta hdFieldTypeUnsupported porque exclusão de field-tree é uma transação separada

Estado e publicação

O documento carregado permanece inalterado após sucesso e falha; recarregue o PDF publicado para adotar uma revisão alterada

Uma saída alterada é uma revisão incremental retendo o prefixo original do arquivo; zero mudanças produz uma cópia exata, e esta operação não apaga de forma segura revisões antigas

O path de saída não pode ser alias da origem carregada; falha de alocação, entrada inválida, rejeição de política, exaustão de budget e cancelamento preservam o destino existente

Política e diagnósticos

Mudanças reais exigem permissão de anotações de documento criptografado e admissão autenticada da política de assinatura de documento assinado; certificação P1/P2 rejeita mudanças, enquanto mudanças P3 admitidas retêm os ranges de bytes assinados originais

Identidades inválidas e posse malformada reportam hdInvalidDocument; exaustão de recursos reporta hdLimitExceeded; seleção de Widget reporta hdFieldTypeUnsupported

Falhas de segurança, assinatura e cancelamento retêm seus contratos nativos de diagnóstico existentes; configure requisitos de trust e timestamp pelas opções de política de assinatura do documento

Veja THPDFHeadlessAnnotationIdentity, THPDFHeadlessAnnotationRemovalOptions e remoção nativa de anotações