Native Annotation-Entfernung
Entfernt vorhandene Seitenannotationen über ihren nullbasierten Seitenindex und den exakten Unicode-NM-Wert, während die ursprüngliche PDF-Revision erhalten bleibt und eine separate inkrementelle Ausgabe vorbereitet wird
Der native Einstiegspunkt ist THPDFHeadlessDocument.SaveAnnotationRemovalsToFile; gewöhnliche Windows-Dokumente verwenden THPDFWindowsFormDataTransaction.RemoveAnnotations
Identität und Abhängigkeiten
Jede Identität enthält einen gültigen Seitenindex und einen nichtleeren Namen; die Übereinstimmung ist nach Dekodieren des PDF-Textstrings case-sensitiv, ohne Unicode-Normalisierung oder Abgleich mit Anzeigetext
Derselbe Name auf verschiedenen Seiten bezeichnet verschiedene Annotationen; ein fehlender Name auf der gewählten Seite ist ein No-Op
Das Entfernen einer Annotation entfernt auch ihr Popup und die davon abhängigen Antworten, einschließlich verschachtelter Antworten und Popup-Abhängigkeiten; ein Visited-Set hält Abhängigkeitszyklen endlich, und jede entfernte Annotation zählt einmal zur zurückgegebenen Anzahl
Wird nur ein Popup entfernt, bleibt sein Besitzer erhalten und dessen Popup-Eintrag wird geleert; unabhängige Annotationen behalten ihre ursprüngliche Reihenfolge und Daten
Doppelte angeforderte Identitäten, ein mehrdeutiger angeforderter Name auf einer Seite oder ein von mehreren Seitenarray-Einträgen geteiltes Annotation-Dictionary verursachen Fehler vor der Veröffentlichung
Veröffentlichung und Sicherheit
Die native Methode lässt das geladene Dokument bei Erfolg und Fehlschlag unverändert; laden Sie das resultierende PDF, um die Entfernung zu übernehmen
Die Veröffentlichung nutzt eine vorbereitete Datei und atomaren Ersatz des Ziels; eine fehlgeschlagene oder abgebrochene Vorbereitung bewahrt das vorhandene Ziel, und das Ziel darf nicht mit der geladenen Quelle aliasiert sein
Null Entfernungen veröffentlichen eine exakte Kopie der aktuellen Quellrevision; dieselbe Entfernung gegen das resultierende Dokument wiederholt gibt null zurück und bewahrt seine Bytes
Eine inkrementelle Revision entfernt Annotationen aus dem aktuellen Seitengraphen, während ältere Bytes und Revisionen erhalten bleiben; diese Operation ist keine sichere Löschung oder Redaction, und gelöschte Inhalte können aus der Dateihistorie wiederherstellbar bleiben
Berechtigungen und Ressourcengrenzen
Tatsächliche Entfernungen erfordern authentifizierte Annotation-Berechtigung für verschlüsselte Eingabe und Signatur-Policy-Zulassung für signierte Eingabe; das erfolgreiche Öffnen eines verschlüsselten PDFs gewährt nicht allein die Berechtigung, Annotationen zu ändern
Authentifizierte Zertifizierung P1 und P2 weist Annotation-Änderungen zurück; eine erlaubte P3-Aktualisierung bewahrt die originalen signierten Bytes, wobei Signaturintegrität und Zertifikatsbindungsprüfungen am tatsächlichen Dokument angewendet werden
Konfigurieren Sie erforderliche Zertifikatsvertrauen, Zeitstempel und Revocation-Policy explizit, wenn diese Prüfungen Teil der Sicherheitsanforderungen der Anwendung sind
Entfernungsoptionen begrenzen Annotation-Anzahl, Operationsarbeit, Namensspeicher und Arbeitsspeicher, mit kooperativem Abbruch, der mit dem Dokument oder der Transaktion geteilt wird
Aktuelle Grenze
Ein gewähltes Widget oder ein über Entfernungsabhängigkeiten erreichendes Widget wird zurückgewiesen, weil das Entfernen von Formfeldern eine AcroForm-Feldbaum-Transaktion erfordert; diese API löscht keine Felder und löst ihre Widgets nicht still
Die Operation führt keine Annotation-Actions oder Skripte aus und interpretiert die Entfernung nicht als Anwenden einer Redact-Annotation
Siehe JSON- und Callback-Operationen für annotations.remove, explizite Eingabe-IO und die separaten PDF-, Ergebnis- und Kontext-Commit-Stufen