はじめに
GordonKit ドキュメントコンバーター
DOCX をはじめとするドキュメント形式を、Python ライブラリ、CLI、HTTP API から PDF、HTML、Markdown、画像などへ変換します。
このプロジェクトについて
この GordonKit オープンソースプロジェクトは、Microsoft Word、LibreOffice、Gotenberg、Pandoc を組み合わせてドキュメントを組版します。エンジンの選択、検証、フォールバックの報告、変換結果を明示的で診断しやすい状態に保ちます。
利用方法
ワークフローに合った利用方法を選べます。どの方法も同じ application service を経由し、構造化された結果、エンジンポリシー、診断情報を保持します。
Python ライブラリ
型付きの公開契約を使って、単一変換、独立したバッチ処理、エンジン調査、service injection を実行します。
from gordon_doc_converter import convertCLI
変換、比較、エンジン確認を実行し、スクリプトや CI ワークフロー向けに安定した JSON 結果を出力します。
gordon-doc convert report.docx --to pdfHTTP API
FastAPI extra をインストールし、認証 hook、レート制限、上限付き並行実行を備えたプライベート配備を構築します。
POST /conversions対応フォーマット
この表でプロジェクトの主な変換機能を確認できます。一部の変換経路では、表に記載のとおり任意のエンジンまたは出力パッケージが必要です。
| 入力 | DOCX | ODT | HTML | Markdown | YAML | JSON | ページ画像 | |
|---|---|---|---|---|---|---|---|---|
| DOCX | 該当なし | Auto | LO | ✓ | ✓ | ✓ | ✓ | |
| — | 該当なし | — | ✓ | ✓ | ✓ | ✓ | ✓ | |
| ODT | LO | LO | 該当なし | ✓ | ✓ | ✓ | ✓ | |
| HTML | P | W | LO | 該当なし | ✓ | ✓ | ✓ | |
| Markdown | P | W | LO | ✓ | 該当なし | ✓ | ✓ |
インストール
まずコアパッケージをインストールし、配備に必要な任意機能だけを追加します。
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)