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áginas a partir da fonte carregada atual e publica atomicamente um PDF separado em FileName

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

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

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

Remover um dono remove transitivamente popups e respostas dependentes, com tratamento finito de ciclos; remover apenas o popup dele limpa a ligação Popup do dono retido

Um Widget selecionado ou dependente levanta hdFieldTypeUnsupported porque a eliminação de field-trees é 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 ficheiro; zero alterações 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 fonte 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

Alterações reais exigem permissão de anotações de documento cifrado e admissão autenticada da política de assinatura de documento assinado; certificação P1/P2 rejeita alterações, enquanto alterações 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 Widgets reporta hdFieldTypeUnsupported

Falhas de segurança, assinatura e cancelamento retêm os 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