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