原生 Linux C ABI rich 表單交換

既有的 forms.import 操作透過呼叫端版本化的 InputIO callback 接受 FDF RV 與 XFDF value-richtext,並經由 OutputIO 發布真正更新過的 PDF

V1 ABI 版本、匯出符號與 callback 表版面維持不變;這個繫結以原生 Linux x64 為目標

{"schemaVersion":1,"type":"forms.import","format":"xfdf","fontFamily":"DejaVu Sans","fontSize":12}

目的 PDF 必須已載入;InputIO 提供的是實際表單資料位元組,而不是另一份 PDF

inline-xhtml-v1 設定檔透過受限的原生 XHTML 解碼器保留混合 Unicode 文字順序、段落與明確斷行、繼承的行內字型尺寸、RGB 顏色、字重、斜體、底線、刪除線與段落對齊

選填的具名 rich 字型家族以繼承的 CSS 家族清單選取已設定的程式;任意 CSS 版面、外部樣式表、表格、影像與垂直對齊仍是另外的能力

fontFamily 選取原生字型提供者實際的 regular、bold、italic 與 bold-italic 程式;只載入實際 rich 值需要的樣式,加上純量欄位使用的 regular 程式

部署的 Fontconfig 設定必須能供應想要的家族與字體;要求的字體不可用時套用一般 provider 後備,而 fontStyles 描述的是已載入的樣式槽位,並不保證已安裝的字型字體

字型程式會在準備好的 PDF 的內嵌字型串流與真實外觀中回歸呼叫端;JSON 回應不暴露任何字型檔案路徑

fontSize 為零時,無樣式 XHTML 使用解碼器的 12 點預設;明確支援的 XHTML 字型尺寸保留自己的值

結果欄位意義
updated變更的末端欄位數,包括受支援的純樣式變更
richFieldCount解碼輸入中 rich 欄位的數量,包括等效的未變更值
fontStyles實際載入的字型槽位,順序為 regular、bold、italic、boldItalic
richXMLProfile解碼輸入含 rich 欄位時為 inline-xhtml-v1 或 inline-xhtml-font-families-v1
fontFamilies提供選填具名家族陣列時,為已設定的家族標籤

等效的標準與非標準 rich 標記在其文字與受支援樣式相符時是冪等的;未變更的唯讀欄位保留來源 RV,而不同的受支援樣式會強制唯讀保護

零變更的匯入會發布精確的已提交私有 PDF 快照,包括既有的已簽署或加密修訂,不會累積空的交叉參考修訂;呼叫端輸入位元組或後備檔案改變並不會取代該已載入快照

匯入透過原生 rich 匯入交易保留已驗證的 AES 安全、實際的已簽署修訂、DocMDP P1/P2/P3 決策與 FieldMDP 鎖

合併的字型程式上限為 limits.memoryBytes 的四分之一,這是在每字型原生限制之外;既有的表單資料、glyph、物件、輸出與結果限制持續生效

callback 在呼叫端執行緒上同步執行;接受部分輸入與輸出 callback,取消在解析、字型載入、外觀準備與發布期間保持作用

handle 只在 PDF 與 JSON callback 都成功後才提交;callback 錯誤或取消會保留先前狀態,而呼叫端須丟棄接收端已收到的任何部分位元組

能力公告包含 formData.richXML=true、相容的預設 richXMLProfile=inline-xhtml-v1、兩種 richXMLProfiles、最多十六個標籤的選填具名家族選取,以及四種受支援的 fontStyles;註解交換維持 false

表單資料 callback 與限制 · 原生 Linux C ABI · 簽章信任選項

內部樣式表把有界的選擇器、important、特異性和來源順序套用於實際匯入的 rich 值與已儲存外觀;重複的等價匯入與發佈失敗保留既有交易保證

richTextResources 透過不變的 execute-json-v1 操作提供連結與匯入的 CSS 文字

驗收請使用 FPC 3.3.1 或更新版本與配套的執行階段單元,並記錄實際使用的編譯器建置

JSON 操作解析保留跳脫的 NUL 與 Unicode 物件鍵;richTextResources 中的 NUL 會在文件變更之前被拒絕,而不是在 JSON 解碼過程中悄悄消失

可重複使用的 Tests/Linux/JSONOperationUnicode/Run.py 閘檢查選定的產品解析器,實際的 callback 套件還會檢查編譯出的共用程式庫與 PDF 交易