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 元素;衝突的非空值、重複值與 rich text 值會被拒絕

命名空間宣告與擴充屬性計入既有的物件與位元組預算;取消與交易檢查繼續生效

互通性

該屬性是 HotPDF 擴充,不是 Adobe XFDF 或 ISO 的擴充宣告;其他消費端可能忽略它並按各自行為解讀空值

當「無選取」與「選取空字串」的區別必須經得起往返時,請使用支援 HotPDF 的消費端

原生、工作與 callback API

同一表示適用於原生 form 資料交換以及既有的 Windows 與 Linux JSON/callback 入口;不向版本化 V1 callback 記錄增加任何欄位

Windows form 資料 JSON 限制用 formData,Linux form 資料 JSON 限制用 formDataLimits;請按目標 API 使用文件化的鍵

沒有待處理文件編輯時,無變更匯入保留原始檔案位元組;既有的待處理編輯仍是準備好的文件的一部分,發佈保留既有的原子輸出與經驗證的權限檢查

相關主題