0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MarkItDownで PDF・XLSX・PPTX を Markdown に変換

0
Last updated at Posted at 2026-04-13

はじめに

以前、IBM 製の Docling を使って資料をマークダウン形式に変更しました。
Docling は複雑なレイアウトのPDFでも高い精度で変換できる優秀なツールですが、
初回実行時にAIモデルのダウンロードが必要で、変換処理自体もそれなりに時間がかかります。

もう少し軽い選択肢はないかと探して見つけたのが、Microsoft 製の MarkItDown です。
この記事では Docling と同じ PDF・XLSX・PPTX の3フォーマットを対象に、MarkItDown での変換方法を紹介します。

MarkItDown とは

MarkItDown は Microsoft がオープンソースで公開しているドキュメント変換ツールです。
PDF・DOCX・PPTX・XLSX・HTML・画像・音声・YouTube URL など、多数のフォーマットをMarkdownに変換できます。

Docling との大きな違いは処理速度です。
Docling がAIモデルを使ってレイアウト解析を行うのに対し、
MarkItDown はルールベースの軽量な処理で変換するため処理が速くなります。

0. 環境準備

前提条件

  • Python 3.10 以上
  • macOS / Linux / Windows いずれも OK(本記事のコマンド例は bash 前提です)

インストール

公式READMEで案内されている方法は、仮想環境を作成してから pip install する方法です。

python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install 'markitdown[all]'

[all] を指定すると、PDF・DOCX・PPTX・XLSX など全フォーマットの依存パッケージがまとめてインストールされます。必要なものだけに絞りたい場合は、個別に指定できます。

# PDF・DOCX・PPTXだけ使いたい場合
pip install 'markitdown[pdf,docx,pptx]'

pipx を使えば仮想環境の管理なしにCLIツールとしてインストールすることも可能です。

pipx install 'markitdown[all]'

動作確認

markitdown --version

以降のハンズオンで使う PDF・XLSX・PPTX ファイルは各自で用意してください。

1. PDF → Markdown 変換

基本

markitdown sample.pdf

変換結果は標準出力に表示されます。ファイルに保存したい場合は -o オプションを使います。

markitdown sample.pdf -o output.md

画像の扱い

Docling には --image-export-mode referenced で画像をPNGファイルとして出力するオプションがありましたが、MarkItDown にはこの機能がありません。デフォルトではMarkdown中の画像(Base64のdata URI)は切り詰められます。

Base64データを保持したい場合は --keep-data-uris を付けます。

markitdown sample.pdf -o output.md --keep-data-uris

2. XLSX → Markdown 変換

markitdown sheet.xlsx -o sheet.md

シートの内容がMarkdownテーブルに変換されます。複数シートがある場合は、全シートが1つのMarkdownに連結されます。

出力例:

| 商品名 | 単価 | 数量 | 合計 |
|--------|------|------|------|
| リンゴ | 150 | 10 | 1500 |
| みかん | 100 | 20 | 2000 |
| バナナ | 200 | 5 | 1000 |

3. PPTX → Markdown 変換

markitdown presentation.pptx -o presentation.md

スライドのタイトルは見出し、箇条書きはリスト、テーブルはMarkdownテーブルとして出力されます。

画像を含めたい場合は、PDFと同様に --keep-data-uris を付けます。

markitdown presentation.pptx -o presentation.md --keep-data-uris

4. Claude Code / Claude Desktop に組み込む(MarkItDown MCP)

私はまだ試せていませんが、MarkItDown は公式で MCP サーバーを提供しています。
設定すると、Claude との会話の中で「このPDFをMarkdownに変換して」のような指示だけで変換できます。

セットアップ

Claude Code の場合、プロジェクトルートの .mcp.json に以下を追加します。

{
  "mcpServers": {
    "markitdown": {
      "command": "markitdown-mcp"
    }
  }
}

markitdown-mcp は markitdown 本体とは別パッケージなので、別途インストールが必要です。

pip install markitdown-mcp

公式の markitdown-mcp README ではセキュリティ上の理由から Docker 経由での利用が推奨されています。Docker を使う場合は以下のように設定します。

{
  "mcpServers": {
    "markitdown": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "markitdown-mcp"]
    }
  }
}

Claude Desktop の場合は、設定ファイルに同じ内容を書きます。

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

使い方

設定後は、Claude に自然言語で依頼するだけです。

ユーザー: /path/to/report.pdf をMarkdownに変換して

内部で convert_to_markdown ツールが呼び出され、変換結果が返ってきます。file: パスだけでなく https: の URL を渡すこともできます。

まとめ

MarkItDown は軽量・高速にドキュメントをMarkdownに変換できるツールです。
Docling のような高精度なレイアウト解析はできませんが、日常的なファイル変換には十分実用的です。

画像のファイル出力機能がない点はDoclingに劣りますが、処理の軽さとセットアップの手軽さは大きなメリットです。用途に応じて使い分けるのがよさそうです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?