XFDF 中的无损空 choice 值

choice 字段可以没有任何选中选项,也可以选中一个导出值为空字符串的选项;这两种状态产生不同的 PDF 字段值,在导出/导入往返中必须保持区分

空选中与空导出值

HotPDF 在 https://www.loslab.com/hotpdf/xfdf/ 命名空间中以显式扩展属性导出空值数组

<xfdf xmlns="http://ns.adobe.com/xfdf/" xmlns:hpdf="https://www.loslab.com/hotpdf/xfdf/">
  <fields>
    <field name="Choice" hpdf:empty-values="true"><value/></field>
  </fields>
</xfdf>

该属性表示空数组,导入这个字段会清空其选中选项

未加标记的空 value 保留普通含义:它表示空字符串,当存在匹配的空导出选项时选中该选项

<field name="Choice"><value/></field>

只含名称的字段保留既有的仅名称行为,不会变成显式清空

命名空间与输入校验

导入器按展开后的命名空间名识别扩展,因此前缀可以不是 hpdf;无限定属性的属性或其他命名空间中的属性不会请求清空

扩展值必须恰好是 true,且没有 value 元素或只有一个空 value 元素;冲突的非空值、重复值和富文本值会被拒绝

命名空间声明和扩展属性计入既有的对象与字节预算;取消与事务检查继续生效

互操作性

该属性是 HotPDF 扩展,不是 Adobe XFDF 或 ISO 的扩展声明;其他消费方可能忽略它并按各自行为解释空值

当「无选中」与「选中空字符串」的区别必须经受住往返时,请使用支持 HotPDF 的消费方

原生、作业与回调 API

同一表示适用于原生 form 数据交换以及既有的 Windows 与 Linux JSON/回调入口;不向版本化 V1 回调记录增加任何字段

Windows form 数据 JSON 限制用 formData,Linux form 数据 JSON 限制用 formDataLimits;请按目标 API 使用文档化的键

没有待处理文档编辑时,无变更导入保留原始文件字节;既有的待处理编辑仍是准备好的文档的一部分,发布保留既有的原子输出与经认证的权限检查

相关主题