Skip to content

API 參考 ​

@docxkit/types 僅發布宣告檔案,必須使用 import type,不提供 JavaScript 進入點。defineStyles、definePlugin、span 和 inlineImg 從 @docxkit/core 或 docx-kit 匯入。DocxKitError、ERROR_CODES 及 ErrorCode 型別由 @docxkit/errors 提供,@docxkit/core 和 docx-kit 也會重新匯出它們。

遷移舊引用時,文件、樣式和外掛型別繼續從 @docxkit/types 匯入,執行階段引用改為上述套件。ErrorCode 隨 ERROR_CODES 一起遷到 @docxkit/errors。

docx-kit 的型別系統按功能劃分。選擇以下章節查看詳細型別定義。

章節內容
設定DocxKitConfig、PageConfig、DocxTheme、SectionConfig、頁眉與頁腳型別、useTheme()
樣式DocxStyleRule、StyleSheet、StyleSheetEntry、BorderRule、FontWeight、defineStyles()、extends 繼承
DSL 節點BlockNode、HeadingNode、ParagraphNode、ImageNode、TableNode、HyperlinkNode、BulletListNode 及所有子型別
建構器DocxBuilder 類 API、createDocx()、renderDocx()、DocxSchema、span()、inlineImg()、匯出方法
外掛DocxPlugin、definePlugin()、PluginRenderContext、全部 25 個內建外掛的選項型別

工具型別 ​

庫中通用的小型輔助型別:

型別定義
UnitValuenumber | \${number}%` | `${number}pt` | `${number}px` | `${number}mm` | `${number}cm` | `${number}in``
MaybePromise<T>T | Promise<T>
LiteralUnion<T, U>T | (U & {}) — 支援自動補全的聯合型別
HexColor`#${string}`
Dict<T>Record<string, T>

錯誤型別 ​

型別說明
DocxKitError帶有 code、message 和 cause 的錯誤基類
ErrorCode錯誤代碼字面量聯合型別(EXPORT_FAILED、PLUGIN_NOT_REGISTERED 等)
DiagnosticCode帶 DOCXKIT_ 前綴的完整診斷碼聯合型別。
ErrorParams<Code>指定舊錯誤碼對應的目錄參數。
CreateDocxKitErrorOptions原始 cause,以及可選的舊訊息覆寫。
DocxKitErrorDetails可選的修復建議、文件連結和來源位置。
SerializedDocxKitError供應用程式和 MCP 輸出使用的允許清單錯誤 DTO。
PluginLoadReason用於選擇修復建議的明確外掛載入失敗原因。

使用 createDocxKitError(code, params, options?) 建立錯誤,使用 serializeDocxKitError(error) 序列化。DIAGNOSTIC_CODES 將舊錯誤碼映射為完整診斷碼。現有建構子、自訂字串碼、錯誤名稱、訊息和 cause 保持相容。

完整錯誤碼及修復步驟見錯誤參考。

ts
import { createDocxKitError, serializeDocxKitError } from 'docx-kit'
import type { ErrorParams } from 'docx-kit'

const params: ErrorParams<'PLUGIN_NOT_REGISTERED'> = { pluginName: 'qrcode' }
const error = createDocxKitError('PLUGIN_NOT_REGISTERED', params)
console.error(serializeDocxKitError(error))

完整錯誤代碼清單和使用方式見錯誤處理。

平臺 API ​

入口匯出用途
docx-kit所有共享型別、建構器與外掛主入口
docx-kit/nodesaveDocument()、dataUrlToUint8Array()檔案系統寫入
docx-kit/browserdataUrlToUint8Array()、normalizeImageData()瀏覽器輔助函式

詳見平臺指南。

Released under the MIT License.