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