Operacje JSON i callback usuwania adnotacji
Punkty wejścia operacji Windows i natywnego C ABI Linuxa akceptują annotations.remove; JSON żądania wybiera adnotacje, a bajty PDF podróżują przez callbackowe IO zamiast być osadzone w JSON
{
"schemaVersion": 1,
"type": "annotations.remove",
"annotations": [{"page": 0, "name": "review-note"}],
"annotationLimits": {
"maxAnnotations": 4096,
"maxOperations": 1000000,
"maxNameBytes": 1048576,
"maxWorkingBytes": 33554432
}
}
annotations musi być tablicą obiektów zawierających integer page w ramach rzeczywistego dokumentu wejścia i niepusty string name; nazwy matchują zdekodowany Unicode NM dokładnie
Pusta tablica albo niematchujące poprawne tożsamości są no-opem; zdublowane selektory, niejednoznaczne wybrane nazwy, zniekształcona przynależność adnotacji i wybór Widgeta zawodzą
Cykl życia wejścia i publikacji
Bez IO wejścia usuwanie działa na aktualnym zacommitowanym dokumencie uchwytu; jawne IO wejścia dostarcza niezależny PDF i jest private'owo stage'owane zamiast podmieniać bieżący kontekst przed sukcesem operacji
Podaj password, gdy uwierzytelnienie zaszyfrowanego wejścia tego wymaga; rzeczywiste uprawnienie adnotacji i polityka podpisanego dokumentu nadal obowiązują
IO wyjścia PDF i IO wyniku to osobne zlewy; silnik przygotowuje kandydata, publikuje jego PDF, publikuje ograniczony wynik JSON, sprawdza anulowanie i dopiero potem podmienia aktualny dokument uchwytu
Błąd odczytu, zapisu, publikacji wyniku, polityki, budżetu albo anulowania zachowuje poprzedni zacommitowany kontekst i pozwala na normalny retry na tym uchwycie
Callbackowy zlew może już zawierać bajty, gdy późniejszy zapis, callback wyniku albo anulowanie zawodzi; rollback kontekstu nie może odwołać tych zewnętrznych bajtów, więc wywołujący muszą stage'ować i publikować własne zlewy transakcyjnie
Powtórzone usuwanie względem zacommitowanego wyniku zwraca zero i publikuje dokładną bieżącą rewizję; porównuj wyjście callbacków dopiero po sprawdzeniu statusu operacji
Wynik i limity
Udany wynik ma schemaVersion: 1, statusCode: 0, status: "ok", removed, mediaType: "application/pdf" i annotationProfile: "page-and-nm-removal-v1"
removed obejmuje kaskady popupów i odpowiedzi, licząc każdą adnotację raz, nawet gdy zależności tworzą cykl
annotationLimits obniża efektywne dodatnie pojemności opisane przez THPDFHeadlessAnnotationRemovalOptions; limity pamięci operacji, obiektów, stron, wyjścia, wyniku i czasu pozostają niezależne
Opcjonalne signaturePolicy konfiguruje istniejącą uwierzytelnioną politykę CMS, włącznie z wymaganym CAdES, znacznikami czasu i wymaganiami zaufania obsługiwanymi przez punkt wejścia operacji
Rzeczywiste usunięcia podlegają uprawnieniom adnotacji AES i uwierzytelnionej polityce certyfikacji P1/P2/P3; udany check hasła albo niepodpisany komunikat błędu nie są dowodem uprawnienia ani zaufanej certyfikacji
Przy niepowodzeniu sprawdź zwrócony status operacji i dostępny ustrukturyzowany wynik błędu; zawiedziony zlew wyniku może uniemożliwić dostarczenie kompletnego dokumentu JSON błędu
Zobacz natywne semantics usuwania i zwykłe joby plikowe Windows