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