Annotation-Entfernung per JSON und Callback-Operationen
Die Windows- und nativen Linux-C-ABI-Operationseinstiegspunkte akzeptieren annotations.remove; das Anfrage-JSON wählt Annotationen aus, während PDF-Bytes durch Callback-IO laufen, statt in JSON eingebettet zu werden
{
"schemaVersion": 1,
"type": "annotations.remove",
"annotations": [{"page": 0, "name": "review-note"}],
"annotationLimits": {
"maxAnnotations": 4096,
"maxOperations": 1000000,
"maxNameBytes": 1048576,
"maxWorkingBytes": 33554432
}
}
annotations muss ein Array von Objekten sein, die einen ganzzahligen page innerhalb des tatsächlichen Eingabedokuments und einen nichtleeren String name enthalten; Namen matchen dekodiertes Unicode-NM exakt
Ein leeres Array oder unübertroffene gültige Identitäten sind ein No-Op; doppelte Selektoren, mehrdeutige gewählte Namen, fehlerhafte Annotation-Eigentümerschaft und Widget-Auswahl scheitern
Eingabe- und Veröffentlichungs-Lebenszyklus
Ohne Eingabe-IO arbeitet die Entfernung auf dem aktuell committeten Dokument des Handles; explizite Eingabe-IO liefert ein unabhängiges PDF und wird privat gestagt, statt den aktuellen Kontext zu ersetzen, bevor die Operation erfolgreich ist
Geben Sie password an, wenn die Authentifizierung verschlüsselter Eingabe es erfordert; tatsächliche Annotation-Berechtigung und signierte Dokument-Policy gelten weiterhin
PDF-Ausgabe-IO und Ergebnis-IO sind getrennte Senken; die Engine bereitet den Kandidaten vor, veröffentlicht sein PDF, veröffentlicht das begrenzte JSON-Ergebnis, prüft den Abbruch und ersetzt erst dann das aktuelle Dokument des Handles
Ein Lese-, Schreib-, Ergebnisveröffentlichungs-, Policy-, Budget- oder Abbruchfehler bewahrt den vorherigen committeten Kontext und erlaubt einen normalen Retry auf diesem Handle
Eine Callback-Senke kann bereits Bytes enthalten, wenn ein späterer Schreib-, Ergebnis-Callback oder Abbruch fehlschlägt; ein Kontext-Rollback kann diese externen Bytes nicht zurückziehen, also müssen Aufrufer ihre Senken selbst transaktional stagen und veröffentlichen
Wiederholte Entfernung gegen das committete Ergebnis gibt null zurück und veröffentlicht die exakte aktuelle Revision; vergleichen Sie die Callback-Ausgabe erst nach Prüfung des Operationsstatus
Ergebnis und Grenzen
Ein erfolgreiches Ergebnis hat schemaVersion: 1, statusCode: 0, status: "ok", removed, mediaType: "application/pdf" und annotationProfile: "page-and-nm-removal-v1"
removed schließt Popup- und Antwort-Kaskaden ein und zählt jede Annotation einmal, selbst wenn Abhängigkeiten einen Zyklus bilden
annotationLimits senkt die effektiven positiven Kapazitäten, die THPDFHeadlessAnnotationRemovalOptions beschreibt; Operations-, Objekt-, Seiten-, Ausgabe-, Ergebnis- und Ablaufzeitgrenzen bleiben unabhängig
Optionale signaturePolicy konfiguriert die vorhandene authentifizierte CMS-Policy, einschließlich der vom Operationseinstiegspunkt unterstützten erforderlichen CAdES-, Zeitstempel- und Trust-Anforderungen
Tatsächliche Entfernungen unterliegen AES-Annotation-Berechtigungen und authentifizierter Zertifizierungs-P1/P2/P3-Policy; eine erfolgreiche Passwortprüfung oder eine unsignierte Fehlermeldung ist kein Nachweis für Berechtigung oder vertrauenswürdige Zertifizierung
Prüfen Sie bei Fehlschlag den zurückgegebenen Operationsstatus und das verfügbare strukturierte Fehlerergebnis; eine fehlgeschlagene Ergebnis-Senke kann die Zustellung eines vollständigen Fehler-JSON-Dokuments verhindern
Siehe native Entfernungssemantik und gewöhnliche Windows-Dateijobs