Microsoft markitdown で、PDF を Markdown に変換する

Yossy
2025-03-28
2025-03-28

Microsoft 社から、PDF などのファイルを、Markdown 形式に変換する python ライブラリが提供されているようです。

結構、多くの種類のファイル形式に対応してて、便利そうなので、試しに使ってみようかと思います。

https://github.com/microsoft/markitdown

基本、こちらの Git リポジトリの説明に従って実行してます。

(1) まず、python の仮想環境を作ります

仮想環境下で実行することで、ライブラリなどの依存関係の影響を少なくします。

> python -m venv md
> cd md
> scripts\deactivate

(2) markitdown を、インストールします

以下のコマンドを実行してインストールしますが、python と git がインストールされている必要があります。

> git clone https://github.com/microsoft/markitdown.git
> cd markitdown
> pip install -e packages/markitdown[all]

(3) 実際に変換してみます

インストールされたら、コマンドラインから実行することができるようになっています。

> markitdown document.pdf > document.md

(4) 文字コードに関する、エラーになる場合があります

どうも、文字コード関連で、問題があるようなエラーが発生する場合があります。

UnicodeEncodeError: 'cp932' codec can't encode character '\ufb01' in position 539: illegal multibyte sequence

以下のコマンドを入力して、文字コードを UFT-8 に強制してみます。

> chcp 65001
Active code page: 65001

> set PYTHONIOENCODING=utf-8

> markitdown document.pdf > document.md document.pdf

再実行すると、今度は、正常に終了しました。

(5) 最後、仮想環境を終了させて終わります。

> script\deactivate

変換後の、markdown ファイルは、元のファイルの状態にもよると思いますが、そのまま、使えるかと言われると微妙なところではあるかも?ただ、手作業で変換することを考えたら、かなり省力化できるので、個人的には、便利なツールでした。