Standard XFDF stamp appearance transport
Anotace Stamp mohou exportovat i importovat své skutečné PDF appearance streamy i resource slovníky přes element appearance Adobe XFDF
Profil stamp-typed-xml-v1 používá base64 kódované UTF-8 typed XML, jak popisuje specifikace Adobe XFDF 3; dekódovaný payload reprezentuje PDF objekty, nikoli kompletní PDF či FDF soubor
Mapované resource
Top-level DICT KEY="AP" obsahuje povinný normal N Form stream a volitelné streamy rollover R a down D
Form si uchovávají své konečné čtyřčíselné BBox, volitelnou šestičíselnou Matrix i podporovaný graf resource, tedy písma a jejich vložené programy, obrázky a soft masky, barevné prostory, patterny, shadings, funkce i grafické stavy
Typované hodnoty zahrnují DICT, STREAM, ARRAY, INT, FIXED, NAME, BOOL a NULL; klíče slovníků i name hodnoty si uchovávají své sémantické PDF názvy a platné zdrojové číselné tokeny desetinnou přesnost
Stream DATA podporuje MODE="RAW" či MODE="FILTERED" s ENCODING="HEX" či sedmibitovým ENCODING="ASCII"; RAW si uchová kódované bajty i jejich Filter/DecodeParms, zatímco FILTERED vloží dekódované bajty bez zastaralých filtrovacích metadat
Export používá RAW hexadecimální data a zpočítá délku streamu ze skutečných bajtů; autentizované šifrované streamy se před výměnou dekódují či dešifrují a v uložené revizi se správně zašifrují
Sdílené acyklické resource se rozbalí jako ekvivalentní hodnoty a importují s nezávislými objektovými referencemi; tenhle profil neuchovává identitu referencí
Bajty vložených font programů i jejich embedding příznaky se zachovávají, aniž by se změnily licenční bity či substituoval jiný font program
API a callbacky
Pro nativní transakce použijte HPDFExportHeadlessAnnotationsXFDF a SaveAnnotationsXFDFToFile, případně ohraničené overloads HPDFXFDFExportAnnotations a HPDFXFDFImportAnnotations pro grafové adaptéry vlastněné volajícím
Stávající Windows file joby a V1 callbacky i Linux V1 callbacky používají své stávající anotační operace i rozložení záznamů
Capabilities si uchovávají appearanceImport=false pro obecná anotační appearance a přidávají stampAppearanceImport=true, appearanceProfile="stamp-typed-xml-v1", appearanceTypes=["stamp"], appearanceDataModes=["RAW","FILTERED"], appearanceEncodings=["ASCII","HEX"] a appearanceResources="acyclic-expanded-graph"
Transakce a limity
Vstupní XML, base64, názvy, kódování streamů, typy resource, sémantické klíče slovníků i geometrie Form se validují, dřív než publikace; poškozená data, cykly, vyčerpané kumulativní limity či zrušení zhatí kompletní transakci
Limity XFDF pokrývají celkový vstup/výstup, uzly XML i grafu, hloubku, úložiště streamů i pracovní rezervace napříč anotační operací
Import si uchová aktuální neuložený grafový stav, zabezpečení AES R5/R6 i autentizovaná certifikační omezení; P1/P2 změny anotací zakáže a P3 zachová původní podepsanou předponu i skutečnou integritu podpisu
Autorizovaný prázdný import vrátí nulu a zachová přesné aktuální PDF bajty, když nejsou žádné neuložené změny; zašpiněné grafové změny se uloží, aniž by se zahodily
Windows i Linux callback kontexty osvojí připravené PDF jen poté, co uspějí výstup PDF, JSON výsledek i finální kontrola zrušení; neúspěšné či částečné callbacky zachovají předchozí kontext a první selhavý writer zůstane lepivý
Import jen pro anotace přijme prázdné kontejnery fields i deklarace polí bez hodnoty jako no-op metadata; skutečné formulářové hodnoty i rich aktualizace polí vyžadují samostatnou autentizovanou form-data operaci
Zbývající práce
Obecný transport anotačních AP, stavové slovníky appearance, řetězcové resource hodnoty, neprázdné reference DEFINE/REF, cyklické grafy, Redact overlayappearance, náhrada/odebrání anotací i FDF anotační výměna zůstávají samostatnou prací
Geometrické a textové anotace bez transportované stamp appearance si uchovávají stávající chování; tahle operace nesyntetizuje libovolná anotační appearance ani nespouští akce
Sdílený ohraničený adaptér rezervuje surové anotační klíče i expandované AP grafy, dřív než konverzi payloadu, a rezervuje base64 bílé znaky i dekódovaná DATA, dřív než alokuje ty reprezentace; konverze PDF názvů používá lineární průchody s checkpointy zrušení