自動 XFA 按鈕標題與狀態

HPDFXFAWriteHeadlessPDF 會從 XFA 版面建立實際的原生按鈕 widget,包括生效的純量或 XHTML 標題、提供的字型程式、可見性、readonly 旗標與互動突顯 metadata

每個 widget 有 FT Btn、pushbutton 的 Ff 旗標、明確的 normal 外觀,以及由實際 render 內容推導的 Unicode MK.CA 標題;按鈕不會變成文字輸入欄位,也不需要佔位的 PDF 欄位

可見的 normal 標題還會保留一筆 DA,其字型別名經由 AcroForm.DR 解析到實際的 normal 標題 Type0 字型;不會為了相容性而內嵌空的佔位字型

標題內容與版面

純量標題的字型尺寸、字重、姿態、字體與顏色,加上 XHTML 行內樣式與混合基線,使用既有的原生 rich text 解碼器與外觀建構器

CaptionFontFamilies 提供真實的 regular、bold、italic 與 bold-italic 程式及具名家族;絕不合成字體,也不搜尋或下載字型程式

XHTML 行內元素之間僅含空白的文字會被保留,因此相鄰的不同樣式單字能保留作者寫下的分隔

缺少標題內容時沿用既有的欄位名稱後備;明確的空內容維持空白;非空純量標題保留作者寫下的行首行尾空格;hidden、inactive 與 invisible 標題不繪製文字,也不序列化可再生的可見標題

欄位與標題邊距、標題放置、reserve 與段落對齊共同決定實際的標題區域;缺少、為零與結構描述預設的 -1 reserve 使用自然範圍且不自動換行,正的 reserve 允許換行,行內放置則忽略 reserve

固定的欄位邊界會裁切超寬標題;明確的段落斷行維持有效,生效的每執行個體疊層保留未變更的範本兄弟

突顯與狀態外觀

XFA 突顯原生 PDF 結果
inverted 或缺省H I 配 normal AP.N;由閱讀器套用反轉啟用處理
noneH N 配 normal AP.N
outlineH O 配 normal AP.N;由閱讀器套用外框啟用處理
pushH P 配實際的 normal AP.N、down AP.D 與 rollover AP.R Forms;down 標題會位移以表現按下

push 模式中,名為 down 與 rollover 的純量項目提供各自的標題與 MK.AC 或 MK.RC metadata;缺少狀態項目時沿用 normal 標題,明確的空項目則產生空白狀態

替代項目不影響其他突顯模式,而每個產生的狀態保留自己的實際外觀與提供字型圖

交易與限制

實際的重複執行個體事件變更可以存成 XDP、重新載入並由建立器消耗;立即讀取、疊層與整包取代、第一執行個體隔離與失敗事件回復,仍是原生執行階段操作

來源節點與位元組、字型程式、glyph 單位、物件與候選位元組皆有上限;取消與準備失敗會保留呼叫端串流的位元組、長度與位置

寫入呼叫端串流的最後一步就是提交邊界;該串流在寫入時丟出的例外可能留下部分寫入,不會被包裝成已回復的不可回溯目的地

這個消費端建立已儲存的 widget 外觀狀態;之後由閱讀器驅動的 XFA 腳本執行或外觀重建、rich 替代項目內容、按鈕圖示、外部媒體與任意外部 XML render,仍是另外的能力

突顯與標題 reserve 的映射遵循XFA 3.3 按鈕與標題語意

Emitter metadata · 布林 rich 標題 · 自動原生 XFA 建立