Annotation removal JSON and callback operations
Vstupní body operací Windows i nativního Linux C ABI přijímají annotations.remove; požadavek JSON vybírá anotace, zatímco bajty PDF putují přes callback IO místo vkládání do JSON
{
"schemaVersion": 1,
"type": "annotations.remove",
"annotations": [{"page": 0, "name": "review-note"}],
"annotationLimits": {
"maxAnnotations": 4096,
"maxOperations": 1000000,
"maxNameBytes": 1048576,
"maxWorkingBytes": 33554432
}
}
annotations musí být pole objektů obsahujících celočíselný page v rámci skutečného vstupního dokumentu a neprázdný řetězec name; názvy odpovídají dekódovanému Unicode NM exaktně
Prázdné pole či neodpovídající platné identity jsou no-op; duplicitní selektory, dvojsmyslné vybrané názvy, poškozené vlastnictví anotací a výběr Widgetu selžou
Životní cyklus vstupu a publikace
Bez vstupního IO operuje odebrání na aktuálním commitovaném dokumentu handle; explicitní vstupní IO dodává nezávislé PDF a je odložený soukromě místo nahrazení aktuálního kontextu dřív, než operace uspěje
Dodajte password, když autentizace šifrovaného vstupu to vyžaduje; skutečné oprávnění anotací a politika podepsaných dokumentů stále platí
Výstupní IO PDF a výsledkový IO jsou samostatné stoky; engine připraví kandidáta, publikuje jeho PDF, publikuje ohraničený JSON výsledek, zkontroluje zrušení a teprve poté nahradí aktuální dokument handle
Selhání čtení, zápisu, publikace výsledku, politiky, rozpočtu či zrušení zachovává předchozí commitovaný kontext a dovoluje normální opakování na tomto handle
Callback stoka může už obsahovat bajty, když pozdější zápis, result callback či zrušení selže; rollback kontextu nemůže tyto externí bajty stáhnout zpět, takže volající musí své stoky odložit a publikovat transakčně
Opakované odebrání na commitovaném výsledku vrátí nulu a publikuje exaktní aktuální revizi; porovnávejte callback výstup jen po kontrole stavu operace
Výsledek a meze
Úspěšný výsledek má schemaVersion: 1, statusCode: 0, status: "ok", removed, mediaType: "application/pdf" a annotationProfile: "page-and-nm-removal-v1"
removed zahrnuje kaskády popup a replies a počítá každou anotaci jednou, i když závislosti tvoří cyklus
annotationLimits snižuje efektivní kladné kapacity popsané THPDFHeadlessAnnotationRemovalOptions; limity paměti operace, objektů, stránek, výstupu, výsledku i uplynulého času zůstávají nezávislé
Volitelné signaturePolicy konfiguruje stávající autentizovanou CMS politiku, včetně požadovaného CAdES, časových razítek a požadavků důvěry podporovaných vstupním bodem operace
Skutečná odebrání podléhají oprávněním anotací AES a autentizované certifikační politice P1/P2/P3; úspěšná kontrola hesla či nepodepsaná chybová zpráva nejsou důkazem oprávnění či důvěryhodné certifikace
Při selhání zkontrolujte vrácený stav operace a dostupný strukturovaný chybový výsledek; selhaná výsledková stoka může zabránit doručení kompletního chybového JSON dokumentu