Native annotation-fjernelse

Fjern eksisterende sideannotationer via deres nulbaserede sideindeks og eksakte Unicode-NM-værdi, mens den originale PDF-revision bevares og et separat inkrementelt output forberedes

Det native indgangspunkt er THPDFHeadlessDocument.SaveAnnotationRemovalsToFile; almindelige Windows-dokumenter bruger THPDFWindowsFormDataTransaction.RemoveAnnotations

Identitet og afhængigheder

Hver identitet indeholder et gyldigt sideindeks og et ikke-tomt navn; matching er case-sensitive efter dekodning af PDF-tekststrengen, uden Unicode-normalisering eller match mod visningstekst

Samme navn på forskellige sider identificerer forskellige annotationer; et fraværende navn på den valgte side er en no-op

Fjernelse af en annotation fjerner også dens popup og de svar, der afhænger af den, inklusive nestede svar og popup-afhængigheder; et besøgt-sæt gør afhængighedscykler endelige, og hver fjernet annotation tæller én gang med i det returnerede antal

Fjernelse af kun en popup bevarer dens ejer og rydder ejerens Popup-post; urelaterede annotationer bevarer deres originale rækkefølge og data

Duplikerede anmodede identiteter, et tvetydigt anmodet navn på én side eller en annotationsdictionary delt af flere sidearray-poster forårsager fejl inden publicering

Publicering og sikkerhed

Den native metode efterlader det indlæste dokument uændret ved både succes og fejl; indlæs det resulterende PDF for at adoptere fjernelsen

Publicering bruger en forberedt fil og atomisk destinationserstatning; en mislykket eller annulleret forberedelse bevarer den eksisterende destination, og destinationen må ikke aliasere den indlæste kilde

Nul fjernelser publicerer en eksakt kopi af den aktuelle kilderevision; at gentage samme fjernelse mod det resulterende dokument returnerer nul og bevarer dens bytes

En inkrementel revision fjerner annotationer fra den aktuelle sidegraf, mens ældre bytes og revisioner bevares; denne operation er ikke sikker sletning eller redaction, og slettet indhold kan forblive genopretteligt fra filhistorikken

Tilladelser og ressourcegrænser

Faktiske fjernelser kræver autentificeret annotationstilladelse for krypteret input og signaturpolitik-admission for signeret input; succesfuld åbning af et krypteret PDF giver ikke i sig selv tilladelse til at ændre annotationer

Autentificeret certificering P1 og P2 afviser annotationsændringer; en tilladt P3-opdatering bevarer de originale signerede bytes, med signaturintegritets- og certifikatbindingskontroller anvendt på det faktiske dokument

Konfigurér påkrævet certifikattillid, tidsstempler og tilbagekaldelsespolitik eksplicit, når disse kontroller er en del af applikationens sikkerhedskrav

Fjernelsesindstillinger afgrænser annotationsantal, operationsarbejde, navnelager og arbejdshukommelse, med kooperativ cancellation delt med dokumentet eller transaktionen

Aktuel grænse

En valgt Widget, eller en Widget nået gennem fjernelsesafhængigheder, afvises, fordi sletning af formfelter kræver en AcroForm field-tree-transaktion; denne API sletter ikke felter og frakobler ikke stille deres widgets

Operationen udfører ikke annotationshandlinger eller scripts og fortolker ikke fjernelse som anvendelse af en Redact-annotation

Se JSON- og callback-operationer for annotations.remove, eksplicit input-IO og de separate PDF-, resultat- og kontekst-commit-faser