THPDFHeadlessDocument.SaveRichTextFieldUpdatesToFile

function SaveRichTextFieldUpdatesToFile(const FileName: string;
  const Updates: THPDFHeadlessRichTextFieldUpdates;
  const Options: THPDFHeadlessFormDataOptions): Integer;

準備並原子發布一份獨立 PDF,包含 scalar 文字、選擇與按鈕更新,連同原始 typed rich-text runs;回傳變更欄位數,同時保持已載入的文件物件圖不變

套用更新之前,目前物件圖會先序列化成私有的已驗證修訂;既有的未儲存頁面與欄位編輯、AES R5/R6 憑證、加密識別與已簽署來源前綴,候選修訂都取得到

typed runs 直接產生外觀,不經 rich XML 編碼/解碼往返;/V 與 /RV 描述既有的文字與樣式,/AP 則沿用既有外觀引擎的 PDF 數值精度呈現原始 typed 大小與顏色

typed 無變更需要純文字與 rich 值等價,且每個 widget 產生的外觀 stream 與解析後的字型/資源圖都相同;比較會解密既有 stream 並正規化間接物件參照,而不是只信賴量化後的 /RV 顏色

這讓真正未變更的唯讀或簽章鎖定欄位得以通過;實際繪製顏色、大小、supplied 字型或 widget 外觀只要不同,即使序列化後的 rich 值湊巧相同,仍遵循一般的唯讀、FieldMDP 與 DocMDP 限制

對既有外觀的比較採保守立場:外部產製、視覺結果等價但 operator 或資源表示不同的 PDF,可能仍需要一般的受保護更新;此 API 不保證無變更輸出逐位元組相同

當所有請求欄位都未變更且已載入圖形沒有待處理編輯時,發布的 PDF 與已載入來源逐位元組相同,包括既有 AES 加密位元組與經驗證的簽章修訂版;空更新陣列遵循同一規則,並受既有來源相容性檢查約束

即使此方法回傳零欄位變更,呼叫端圖形中的待處理編輯仍會一次性序列化進候選;無關的未儲存頁面或欄位變更會被保留,原始已載入圖形保持不變

零更新發布仍會執行權限與簽章驗證、來源/目的地別名檢查、輸出預算檢查、取消與原子目的地替換;唯讀與鎖定欄位要求真實的值與外觀等價

這種位元組保留行為只適用於此交易式方法;一般 SaveToFile 方法與獨立的 FDF/XFDF 匯入 API 保留其既有儲存行為

欄位數、重複名稱、Unicode、值大小與文字總量採用 Options;typed run 數、glyph 單位總量、supplied 字型位元組、rich 值位元組、產生物件與外觀比較位元組,另受已載入文件限制約束

共用的 managed 字型位元組陣列在多個更新之間只計一次;各自配置的陣列即使位元組相同,也各自消耗輸入字型容量;產生的 PDF 物件與輸出預算則涵蓋所有外觀

表單與外觀選項使用文件的 cancellation token;無效欄位、格式錯誤的值、權限、簽章驗證失敗、取消或預算失敗,都不會動到先前目的地,來源/目的地別名則被拒

此 API 涵蓋原生混合交易;Windows JSON typed-rich 填寫、較舊的工作 callback 延伸、標註交換與內嵌或增量 FDF 資料,屬於另外的工作流程

更新記錄與陣列 · Rich FDF/XFDF 匯入