Native annotation XFDF-udveksling

HPDFHeadlessXFDF eksporterer mappede annotationer fra en indlæst native PDF-graf og forbereder XFDF-annotationsimporter som en uafhængig inkrementel revision

Brug HPDFExportHeadlessAnnotationsXFDF til UTF-8 XML-bytes og SaveAnnotationsXFDFToFile til at tilføje annotationer til et eksisterende dokument uden at ændre den indlæste kildegraf

Mapped annotationsprofil

Profilen mapper Text, FreeText, Line, Square, Circle, Polygon, PolyLine, Highlight, Underline, StrikeOut, Squiggly, Stamp, Ink, Caret, FileAttachment, Sound, Redact og Link

Fælles værdier inkluderer side, rektangel, Unicode-indhold, forfatter, annotationsnavn, datoer, emne, flag, opacitet, farver og understøttede kant-properties

Typespecifikke værdier inkluderer firkant-koordinater, vertices, ink-gestures, linjeender og leader-geometri, FreeText intent/callout/fringe/default tekst-properties, Redact repeat-tilstand, URI- eller Named link-handlinger, remote GoToR-handlinger og navngivne eller eksplicitte lokale destinationer og GoTo-handlinger

Tomme farvekomponent-arrays bevarer transparente farver; Gray- og CMYK-kildefarver afbildes til XFDF RGB-værdier, og RGB-komponenter kvantiseres til formatets sekscifrede hexadecimale repræsentation

FileAttachment-eksport foretrækker Unicode-filnavnet og bevarer ekstern filmetadata, selv når der ikke findes en indlejret stream; indlejret fil- og lyddata dekodes til afgrænset kanonisk base64 og importeres som rigtige indirekte streams, inklusive tomme streams

Popup-annotationer repræsenteres som nestede popup-elementer og importeres med indirekte Parent-, Popup- og sidelinks; svar opløses i et andet gennemløb mod eksisterende og nyligt tilføjede annotationsnavne, inklusive fremadrettede referencer

Rich contents bevarer XHTML-namespacet, ordnet blandet tekst og nedarvede namespace-bindinger

Transaktioner og tilladelser

Importere tilføjer annotationer og afviser duplikerede navne, tvetydige eller manglende svar-mål og ugyldige mappede værdier inden publicering

En mislykket eller annulleret import bevarer destinationsfilen og den indlæste kildegraf; en succesfuld import efterlader også den indlæste kilde uændret, så indlæs den gemte fil, når du vil adoptere dens nye revision

Eksport kræver extraction-tilladelse, og import kræver annotationstilladelse; AES-256 R5/R6-sikkerhed forbliver i den gemte revision

Faktisk certificeringspolitik autentificeres gennem det native signatur-workflow: P1 og P2 forhindrer annotationsændringer, mens P3 tillader en annotationsrevision, der bevarer de originale signerede bytes

Grænser

THPDFHeadlessXFDFOptions afgrænser input/output-bytes, annotationsantal, graf- og XML-noder, dybde og arbejdslager med kooperativ cancellation

Mappede tal skal være finitære og inden for en absolut værdi af en million med yderligere begrænsninger for koordinatantal, opacitet, samplestørrelser og andre typede værdier

Hele dokumentets XML-admission tjekker encoding, namespaces, duplikerede attributter, entiteter og komplet struktur inden annotationsmapping; DTD- og ekstern entitetsbehandling er deaktiveret

Operationsgrænser

Standard stamp appearance-transport bevarer faktiske Form-streams og afgrænsede acykliske font-, image- og graphics-ressourcer gennem base64-typet XML

Generel XFDF appearance-container-syntaks, custom XFDF-dictionaries, XFDF-annotationserstatning/-fjernelse og vilkårlige XFDF-handlinger forbliver separat arbejde; binær FDF-udveksling leverer en separat PDF-objektgrafprofil til appearance-ressourcer og navngiven annotationserstatning

Annotation appearance-syntese og -rendering er separate operationer; import af geometriske og tekstproperties opretter ikke en AP-stream

Andre kilde-annotationsundertyper springes over under eksport og tælles med i resultatet; misdannede valgte mappede værdier fejler operationen uden delvist returneret XML

Den native Pascal-API virker på Windows og Linux; den versionerede Linux C ABI udstiller også callback-baserede JSON annotationsoperationer, og Windows file jobs og V1-callbacks udstiller samme mappede annotationsudveksling

Eksplicit annotationsfjernelse

Side- og navnebaseret annotationsfjernelse er en separat operation; at udelade en annotation fra importeret FDF eller XFDF sletter den ikke

Widget-felttræ-sletning og sikker sletning kræver separate operationer; inkrementel fjernelse bevarer tidligere PDF-bytes