Rimozione nativa delle annotazioni
Rimuove le annotazioni di pagina esistenti per il loro indice di pagina a base zero e il valore NM Unicode esatto, conservando la revisione PDF originale e preparando un output incrementale separato
Il punto di ingresso nativo è THPDFHeadlessDocument.SaveAnnotationRemovalsToFile; i documenti Windows ordinari usano THPDFWindowsFormDataTransaction.RemoveAnnotations
Identità e dipendenze
Ciascuna identità contiene un indice di pagina valido e un nome non vuoto; la corrispondenza distingue le maiuscole dopo la decodifica della stringa di testo PDF, senza normalizzazione Unicode né confronto con il testo visualizzato
Lo stesso nome su pagine diverse identifica annotazioni diverse; un nome assente nella pagina selezionata è un no-op
Rimuovere un'annotazione rimuove anche il suo popup e le risposte che dipendono da essa, incluse risposte annidate e dipendenze di popup; un insieme di visitati rende finiti i cicli di dipendenza, e ogni annotazione rimossa contribuisce una volta al conteggio restituito
Rimuovere solo un popup conserva il suo proprietario e azzera la voce Popup del proprietario; le annotazioni non correlate conservano il loro ordine e dati originali
Identità richieste duplicate, un nome richiesto ambiguo su una pagina o un dizionario di annotazione condiviso da più voci dell'array di pagine causano fallimento prima della pubblicazione
Pubblicazione e sicurezza
Il metodo nativo lascia il documento caricato invariato sia nel successo sia nel fallimento; caricare il PDF risultante per adottare la rimozione
La pubblicazione usa un file preparato e la sostituzione atomica della destinazione; una preparazione fallita o cancellata preserva la destinazione esistente, e la destinazione non deve essere un alias della sorgente caricata
Zero rimozioni pubblica una copia esatta della revisione corrente della sorgente; ripetere la stessa rimozione sul documento risultante restituisce zero e ne conserva i byte
Una revisione incrementale rimuove le annotazioni dal grafo di pagine corrente conservando byte e revisioni precedenti; questa operazione non è cancellazione sicura né redazione, e il contenuto eliminato può restare recuperabile dalla cronologia del file
Permessi e limiti di risorse
Le rimozioni effettive richiedono il permesso autenticato di annotazione per input cifrato e l'ammissione della politica delle firme per input firmato; aprire con successo un PDF cifrato non concede di per sé il permesso di modificare le annotazioni
La certificazione autenticata P1 e P2 rifiuta le modifiche alle annotazioni; un aggiornamento P3 consentito conserva i byte firmati originali, con verifiche di integrità della firma e binding dei certificati applicate al documento effettivo
Configurare esplicitamente il trust dei certificati richiesto, i timestamp e la politica di revoca quando quelle verifiche fanno parte dei requisiti di sicurezza dell'applicazione
Le opzioni di rimozione limitano conteggio di annotazioni, lavoro dell'operazione, archiviazione dei nomi e memoria di lavoro, con cancellazione cooperativa condivisa con il documento o la transazione
Confini attuali
Un Widget selezionato, o un Widget raggiunto tramite dipendenze di rimozione, viene rifiutato perché l'eliminazione dei campi modulo richiede una transazione dell'albero di campi AcroForm; questa API non cancella campi né stacca silenziosamente i loro widget
L'operazione non esegue azioni o script delle annotazioni e non interpreta la rimozione come applicazione di un'annotazione Redact
Per annotations.remove, IO di input esplicito e le fasi separate di commit di PDF, risultato e contesto vedere le operazioni JSON e callback