Annotation-fjernelse: JSON- og callback-operationer

Operationsindgangspunkterne for Windows og native Linux C ABI accepterer annotations.remove; anmodnings-JSON udvælger annotationer, mens PDF-bytes rejser gennem callback-IO i stedet for at være indlejret i JSON

{
  "schemaVersion": 1,
  "type": "annotations.remove",
  "annotations": [{"page": 0, "name": "review-note"}],
  "annotationLimits": {
    "maxAnnotations": 4096,
    "maxOperations": 1000000,
    "maxNameBytes": 1048576,
    "maxWorkingBytes": 33554432
  }
}

annotations skal være et array af objekter indeholdende et heltals-page inden for det faktiske inputdokument og en ikke-tom name-streng; navne matcher dekodet Unicode-NM eksakt

Et tomt array eller umatchede gyldige identiteter er en no-op; duplikerede selektorer, tvetydige valgte navne, misdannet annotationsownership og Widget-valg fejler

Input- og publiceringslivscyklus

Uden input-IO opererer fjernelse på handleets aktuelle committe dokument; eksplicit input-IO leverer et uafhængigt PDF og stages privat i stedet for at erstatte den aktuelle kontekst, inden operationen lykkes

Angiv password, når autentificering af krypteret input kræver det; faktisk annotationstilladelse og signeret dokumentpolitik gælder stadig

PDF-output-IO og resultat-IO er separate sinks; motoren forbereder kandidaten, publicerer dens PDF, publicerer det afgrænsede JSON-resultat, kontrollerer cancellation og erstatter først derefter handleets aktuelle dokument

En læse-, skrive-, resultatpublicerings-, politik-, budget- eller cancellation-fejl bevarer den forrige committe kontekst og tillader normalt retry på det handle

En callback-sink kan allerede indeholde bytes, når en senere skrivning, resultat-callback eller cancellation fejler; kontekstrul tilbage kan ikke trække de eksterne bytes tilbage, så kalderen skal stage og publicere egne sinks transaktionelt

Gentaget fjernelse mod det committe resultat returnerer nul og publicerer den eksakte aktuelle revision; sammenlign callback-output først efter at have kontrolleret operationens status

Resultat og grænser

Et succesfuldt resultat har schemaVersion: 1, statusCode: 0, status: "ok", removed, mediaType: "application/pdf" og annotationProfile: "page-and-nm-removal-v1"

removed inkluderer popup- og svar-kaskader og tæller hver annotation én gang, selv når afhængigheder danner en cyklus

annotationLimits sænker de effektive positive kapaciteter beskrevet af THPDFHeadlessAnnotationRemovalOptions; grænser for operationshukommelse, objekter, sider, output, resultat og forløbet tid forbliver uafhængige

Valgfri signaturePolicy konfigurerer den eksisterende autentificerede CMS-politik, inklusive påkrævet CAdES, tidsstempler og trust-krav understøttet af operationsindgangspunktet

Faktiske fjernelser er underlagt AES-annotationstilladelser og autentificeret certificering P1/P2/P3-politik; en succesfuld passwordkontrol eller en usigneret fejlbesked er ikke bevis for tilladelse eller betroet certificering

Ved fejl skal du kontrollere den returnerede operationsstatus og det tilgængelige strukturerede fejlsresultat; en fejlet resultatsink kan forhindre levering af et komplet fejl-JSON-dokument

Se native fjernelsessemantik og almindelige Windows file jobs