Native annotation XFDF exchange

HPDFHeadlessXFDF exportuje mapované anotace z načteného nativního PDF grafu a připravuje importy XFDF anotací jako nezávislou inkrementální revizi

Pro UTF-8 XML bajty použijte HPDFExportHeadlessAnnotationsXFDF a pro připojení anotací k existujícímu dokumentu beze změny načteného zdrojového grafu SaveAnnotationsXFDFToFile

Mapovaný anotační profil

Profil mapuje Text, FreeText, Line, Square, Circle, Polygon, PolyLine, Highlight, Underline, StrikeOut, Squiggly, Stamp, Ink, Caret, FileAttachment, Sound, Redact a Link

Běžné hodnoty zahrnují stránku, obdélník, Unicode contents, autora, název anotace, datumy, předmět, příznaky, opacity, barvy i podporované vlastnosti ohraničení

Typově specifické hodnoty zahrnují souřadnice čtyřúhelníků, vrcholy, ink gesta, zakončení linek i geometrii vodicích linek, vlastnosti FreeText intent/callout/fringe/default text, opakovaný stav Redact, akce linků URI či Named, vzdálené GoToR akce i pojmenované či explicitní lokální cíle a GoTo akce

Prázdná pole barevných složek zachovají průhledné barvy; zdrojové barvy Gray a CMYK se mapují na hodnoty RGB ve XFDF a složky RGB se kvantují na šesticifernou hexadecimální reprezentaci formátu

Export FileAttachment dává přednost Unicode názvu souboru a zachovává metadata externího souboru, i když vložený stream neexistuje; vložená file i sound data se dekódují do ohraničeného kanonického base64 a importují jako skutečné nepřímé streamy, tedy i prázdné streamy

Popup anotace se reprezentují jako vnořené elementy popup a importují s nepřímými odkazy Parent, Popup a stránky; replies se rozřeší ve druhém průchodu vůči stávajícím i nově připojeným názvům anotací, tedy i forward reference

Rich obsah si uchovává namespace XHTML, uspořádaný smíšený text i zděděné bindingy namespace

Transakce a oprávnění

Importy připojují anotace a odmítají duplicitní názvy, dvojsmyslné či chybějící reply cíle i neplatné mapované hodnoty, dřív než publikace

Neúspěšný či zrušený import zachová cílový soubor i načtený zdrojový graf; úspěšný import navíc nechá načtený zdroj beze změny, takže uložený soubor načtěte, chcete-li osvojit jeho novou revizi

Export vyžaduje oprávnění k extrakci a import oprávnění k anotacím; zabezpečení AES-256 R5/R6 zůstává v uložené revizi

Skutečná certifikační politika se autentizuje nativním podepisovacím workflow: P1 a P2 zabrání změnám anotací, zatímco P3 dovolí anotační revizi zachovávající původní podepsané bajty

Meze

THPDFHeadlessXFDFOptions ohraničuje vstupní/výstupní bajty, počet anotací, uzly grafu i XML, hloubku i pracovní úložiště, s kooperativním zrušením

Mapovaná čísla musí být konečná a v absolutní hodnotě jednoho milionu, s dodatečnými omezeními pro počty souřadnic, opacity, velikosti vzorků i jiné typované hodnoty

Admise XML celého dokumentu zkontroluje kódování, namespace, duplicitní atributy, entity i kompletní strukturu, dřív než mapování anotací; zpracování DTD i externích entit je vypnuté

Hranice operací

Transport standardních stamp appearance přenáší skutečné Form streamy a ohraničené acyklické zdroje písem, obrázků a grafiky přes base64 typed XML

Obecná syntaxe appearance kontejnerů XFDF, vlastní slovníky XFDF, náhrada/odebrání anotací přes XFDF a libovolné XFDF akce zůstávají samostatnou prací; binární FDF výměna poskytuje oddělený profil grafu objektů PDF pro appearance resource a náhradu pojmenovaných anotací

Syntéza a renderování anotační appearance jsou samostatné operace; import geometrických a textových vlastností nevytvoří AP stream

Ostatní podtypy zdrojových anotací se při exportu přeskakují a počítají do výsledku; poškozené vybrané mapované hodnoty zhatí operaci, bez žádného částečného vráceného XML

Nativní Pascal API pracuje na Windows i Linuxu; verzované Linux C ABI navíc vystavuje callback založené JSON anotační operace a Windows file joby a V1 callbacky vystavují tutéž mapovanou anotační výměnu

Explicitní odstranění anotací

Odstranění anotací podle stránky a názvu je samostatná operace; vynechání anotace z importovaných FDF či XFDF ji nesmaže

Mazání stromu widget polí a bezpečný erase vyžadují samostatné operace; přírůstkové odstranění zachovává předchozí bajty PDF