标准 XFDF stamp 外观传输

Stamp 注释可以经 Adobe XFDF 的 appearance 元素导出和导入其真实的 PDF 外观流与资源字典

stamp-typed-xml-v1 profile 使用 base64 编码的 UTF-8 类型化 XML,如 Adobe XFDF 3 规范所述;解码后的载荷表示 PDF 对象,而不是完整的 PDF 或 FDF 文件

映射资源

顶层的 DICT KEY="AP" 包含必需的 normal N Form 流,以及可选的 rollover R 与 down D 流

Form 保留有限的四数值 BBox、可选的六数值 Matrix 和受支持的资源图,包括字体及其内嵌程序、图像与 soft mask、色彩空间、pattern、shading、function 和图形状态

类型化值包括 DICT、STREAM、ARRAY、INT、FIXED、NAME、BOOL 和 NULL;字典键和名称值保留其语义 PDF 名称,合法的源数字 token 保留十进制精度

流的 DATA 支持 MODE="RAW" 或 MODE="FILTERED",配 ENCODING="HEX" 或七位 ENCODING="ASCII";RAW 保留编码字节及其 Filter/DecodeParms,FILTERED 安装解码后的字节并剔除过期的过滤元数据

导出使用 RAW 十六进制数据并按真实字节重新生成流 Length;经认证的加密流在交换前解码或解密,并在保存的修订版中正确加密

共享的无环资源按等价值展开,导入时带独立对象引用;本 profile 不保留引用身份

内嵌字体程序字节及其嵌入标志被保留,不改许可位,也不替换为别的字体程序

API 与回调

原生事务用 HPDFExportHeadlessAnnotationsXFDF 和 SaveAnnotationsXFDFToFile,调用方自有的图适配器用 HPDFXFDFExportAnnotations 与 HPDFXFDFImportAnnotations 的设界 overload

既有的 Windows 文件作业与 V1 回调以及 Linux V1 回调沿用其既有注释操作与记录布局

能力对通用注释外观保留 appearanceImport=false,并新增 stampAppearanceImport=true、appearanceProfile="stamp-typed-xml-v1"、appearanceTypes=["stamp"]、appearanceDataModes=["RAW","FILTERED"]、appearanceEncodings=["ASCII","HEX"] 和 appearanceResources="acyclic-expanded-graph"

事务与限制

输入 XML、base64、名称、流编码、资源类型、语义字典键和 Form 几何都在发布前校验;畸形数据、环、累计限额耗尽或取消会让完整事务失败

XFDF 限制覆盖注释操作全程的总输入输出、XML 与图节点、深度、流存储和工作预留

导入保留当前未保存图状态、AES R5/R6 安全性和经认证的认证限制;P1/P2 拒绝注释变更,P3 保留原始签名字节前缀和真实签名完整性

经授权的空导入在没有未保存变更时返回零并精确保留当前 PDF 字节;脏图变更会被保存而不是丢弃

Windows 和 Linux 回调 context 只有在 PDF 输出、JSON 结果输出和最终取消检查都成功后才采纳准备好的 PDF;失败或部分回调保留先前 context,第一个失败的 writer 保持粘性

仅注释导入把空 fields 容器和无值字段声明当作 no-op 元数据;真实表单值和富字段更新需要单独的经认证 form 数据操作

剩余工作

通用注释 AP 传输、外观状态字典、字符串资源值、非空 DEFINE/REF 引用、有环图、Redact overlayappearance、注释替换/移除和 FDF 注释交换仍是独立工作

没有传输 stamp 外观的几何与文本注释保持既有行为;本操作不合成任意注释外观,也不执行 action

共享设界适配器在载荷转换之前预留 raw 注释键和展开的 AP 图,并在分配这些表示之前预留 base64 空白和解码后的 DATA;PDF 名称转换用线性扫描并带取消检查点