GordonKit Document Converter

快速開始

GordonKit 文件轉換器

將 DOCX 與其他文件格式轉換為 PDF、HTML、Markdown、圖片等格式,並可透過 Python 函式庫、CLI 或 HTTP API 使用。

關於此專案

此 GordonKit 開源專案負責協調 Microsoft Word、LibreOffice、Gotenberg 或 Pandoc 進行文件排版,並讓引擎選擇、驗證、fallback 報告與轉換結果保持明確且可診斷。

使用介面

依工作流程選擇適合的介面。所有介面都透過同一個 application service,並保留結構化結果、引擎政策與診斷資訊。

Python 函式庫

使用具型別的公開契約,執行單檔轉換、隔離式批次、引擎探測與 service injection。

from gordon_doc_converter import convert

CLI

執行轉換、比較與引擎檢查,並輸出穩定 JSON 結果供 script 與 CI 流程使用。

gordon-doc convert report.docx --to pdf

HTTP API

安裝 FastAPI extra,建立具認證 hooks、流量限制與有限並行能力的私有部署。

POST /conversions

格式支援

下表整理本專案的主要轉換能力;部分路徑需安裝選用引擎或輸出套件,條件標示於表格中。

支援的輸入與輸出格式
輸入DOCXPDFODTHTMLMarkdownYAMLJSON頁圖
DOCX不適用AutoLO✓✓✓✓PDF
PDF—不適用—✓✓✓✓✓
ODTLOLO不適用✓✓✓✓PDF
HTMLPP+—不適用✓✓✓—
MarkdownPP+——不適用———

安裝

先安裝核心套件,再依部署需求加入選用能力。

uv add gordon-doc-converter
uv add 'gordon-doc-converter[images,gotenberg]'

第一次轉換

從來源路徑建立請求。服務會選擇政策允許的引擎、驗證暫存輸出,並只在驗證成功後發布。

from pathlib import Path
from gordon_doc_converter import ConversionRequest, convert

request = ConversionRequest.from_source(Path("report.docx"))
result = convert(request)
print(result.artifacts[0].path)