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