Native Linux C ABI annotationsudveksling
hpdf_document_execute_json_v1 udstiller annotations.export og annotations.import gennem den eksisterende versionerede operation-descriptor og callback IO-grænseflader
Indlæs først PDF'en i dokumentkonteksten; annotationsimport bruger InputIO til XFDF-bytes, OutputIO til den gemte PDF og ResultIO til JSON-resultatmetadata
{"schemaVersion":1,"type":"annotations.export","format":"xfdf"}
Eksport skriver UTF-8 XFDF til OutputIO og rapporterer annotationCount, skippedAnnotationCount, decodedAttachmentBytes og outputBytes
{"schemaVersion":1,"type":"annotations.import","format":"xfdf",
"annotationLimits":{"maxBytes":1048576,"maxAnnotations":1000,
"maxNodes":100000,"maxDepth":32,"maxWorkingBytes":67108864}}
Import rapporterer updated og annotationProfile og adopterer derefter først den gemte revision, efter at både PDF- og resultat-callbacks er lykkedes
Input/output callback-fejl, resultat callback-fejl og cancellation bevarer den eksakte tidligere committede kontekst; eksterne callbacks kan allerede have modtaget en delvis stream, før en senere callback fejler
Capability JSON annoncerer annotationData med den mappede typeprofil, append-importtilstand, indlejrede data, fremadrettede svar og popup-objekter; appearanceImport er false
Annotationsgrænser kan sænke operationskapaciteterne og kan ikke forøge dem; MaxBytes begrænses også af operationshukommelse divideret med 64, arbejdslager af halvdelen af operationshukommelsen og export-bytes af outputgrænsen
Import accepterer det eksisterende signaturePolicy-objekt til CAdES-, trust- og timestamp-verifikationsindstillinger og håndhæver annotationstilladelser og autentificeret DocMDP-politik
Tomme ABI-importer bevarer de committede PDF-bytes, mens de returnerer nul opdateringer
Lokale navngivne og eksplicitte destinationer og GoTo-handlinger bevarer faktiske sidereferencer og afgrænsede eksakte decimal-koordinater gennem den delte annotation-codec
ELF SONAME og HOTPDF_1.0 symbolversion forbliver uændret, og eksisterende C-consumers fortsætter med at bruge den samme public operation-descriptor
Mapped profil og native API · Linux C ABI · Form-data-operationer
Standard stamp appearance-transport bevarer faktiske Form-streams og afgrænsede acykliske font-, image- og graphics-ressourcer gennem base64-typet XML
FDF-objektgrafoperationer
{"schemaVersion":1,"type":"annotations.import","format":"fdf"}
Vælg format="fdf" for binære annotationsgrafer gennem samme operationsbeskrivelse og InputIO-, OutputIO- og ResultIO-callbacks; annotations.export skriver FDF-bytes til OutputIO
FDF-profilen bevarer leverede AP- og RO-ressourcer, delte indirekte objekter og kontekstfølsomme lokale GoTo-sidereferencer; et matchende annotation-NM på samme side identificerer en erstatning, mens unavngivne eller umatchede annotationer tilføjes
Succesfuld FDF-import rapporterer annotationProfile="pdf-object-graph-v1" og et heltal updated; en nul-opdaterings-operation bevarer de eksakte sidst committe PDF-bytes
FDF annotationLimits accepterer også maxObjects; alle grænser forbliver begrænset af den omsluttende operation, med fejl og cancellation der bevarer de eksisterende callback-transaktionsgarantier
Kun-annotations-operationer afviser ikke-tomme Fields og indlejrede Differences; action-data transporteres uden at blive eksekveret
Se FDF-grafadfærd og grænser og native FDF-grænser
Annotationsfjernelse
{"schemaVersion":1,"type":"annotations.remove","annotations":[{"page":0,"name":"review-note"}]}
annotations.remove bruger det aktuelle dokument eller et uafhængigt PDF leveret gennem InputIO og publicerer derefter PDF til OutputIO og JSON til ResultIO, før konteksten committes
Resultatet rapporterer removed og annotationProfile="page-and-nm-removal-v1"; annotationLimits afgrænser annotationsantal, operationer, navnebytes og arbejdslager
Fejl eller cancellation bevarer den committe kontekst; kalderne stager selv callback-sinks, fordi allerede skrevne bytes ikke kan trækkes tilbage