はじめに
Docling は IBM Research Zurich が開発したオープンソースのドキュメント変換ツールです。
PDF・DOCX・PPTX・XLSX・HTML・画像・音声など多様なフォーマットを 統一的な中間表現(DoclingDocument) に変換し、そこから Markdown・HTML・JSON などに出力できます。
この記事では PDF / XLSX / PPTX の 3 フォーマットに絞って、CLI でサクッと Markdown へ変換する方法を紹介します。
0. 環境準備
前提条件
- Python 3.10 以上
- macOS / Linux / Windows いずれも OK(x86_64, arm64)
インストール
pip install pipx
pipx install docling
pipxで隔離環境にインストール
動作確認
docling --help
以降のハンズオンで使う PDF・XLSX・PPTX ファイルは各自で用意してください。
ネット上の公開論文などで試すとイメージが掴みやすいです。
1. PDF → Markdown 変換
基本
docling sample.pdf
デフォルトの出力形式が Markdown なので、カレントディレクトリに sample.md が生成されます。
出力先を変えたい場合は --output を指定。
docling sample.pdf --output ./output/
URL を直接渡すこともできます。
docling <URL>
画像を含めて出力する
PDF 内の画像をどう扱うかは --image-export-mode で制御します。
| モード | 説明 |
|---|---|
embedded |
Base64 でインライン埋め込み(CLI のデフォルト) |
referenced |
画像を PNG ファイルとして出力し、Markdown から参照 |
placeholder |
<!-- image --> プレースホルダーのみ挿入 |
# 画像をPNGファイルとして出力
docling --image-export-mode referenced --output ./output/ sample.pdf
2. XLSX → Markdown 変換
docling sheet.xlsx
シートの内容が Markdown テーブルに変換されます。
複数シートがある場合は全シートが 1 つの Markdown に連結されます。
出力例:
| 商品名 | 単価 | 数量 | 合計 |
|--------|------|------|------|
| リンゴ | 150 | 10 | 1500 |
| みかん | 100 | 20 | 2000 |
| バナナ | 200 | 5 | 1000 |
3. PPTX → Markdown 変換
docling presentation.pptx
スライドのタイトルは見出し、箇条書きはリスト、テーブルは Markdown テーブルとして出力されます。
画像を含めたい場合は PDF と同じオプションです。
docling --image-export-mode referenced --output ./output/ presentation.pptx
4. 便利なオプション
# 出力形式を変更(md がデフォルト)
docling --to json sample.pdf
# 複数形式を同時に出力
docling --to md --to json sample.pdf
# テーブル認識を高速モードに(精度は下がる)
docling --table-mode fast sample.pdf
# GPU を明示指定
docling --device cuda sample.pdf
5. Claude Code / Claude Desktop に組み込む(Docling MCP)
こちらはまだ試せてはいませんが、
Docling は MCP(Model Context Protocol)サーバーとしても提供されています。
設定すると、Claude との会話の中で「このPDFをMarkdownに変換して」のような指示だけで変換できるようです。
セットアップ
Claude Code の場合、プロジェクトルートに .mcp.json を作成します。
{
"mcpServers": {
"docling": {
"command": "uvx",
"args": [
"--from=docling-mcp",
"docling-mcp-server"
]
}
}
}
Claude Desktop の場合は、設定ファイルに同じ内容を書きます。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
使い方
設定後は、Claude に自然言語で依頼するだけです。
ユーザー: /path/to/report.pdf をMarkdownに変換して
Claude が内部で convert_document_into_docling_document → export_docling_document_to_markdown の順にツールを呼び出し、変換結果を返してくれます。URL を渡して変換することもできます。
まとめ
Docling はコマンド 1 つで PDF・XLSX・PPTX を Markdown に変換できる実用的なツールです。まずは CLI で手元のファイルを変換してみて、細かい制御が必要になったら Python API を、Claude との連携なら Docling MCP を使う、という流れがよさそうです。