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