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