DoclingでPDFを読む

Docling はPDF等を解釈してMarkdown/JSONにするツールです。IBMが開発しました。arXivの Docling Technical Report に解説されています。Pythonから使えるほか、コマンド docling で使うこともできます。

pip install docling でインストールできますが、依存関係が複雑なので、普段使いのPythonに入れるのではなく、例えばuvを使って

mkdir /path/to/docling
cd /path/to/docling
uv venv
uv pip install docling

として、/path/to/docling/.venv/bin/docling のようにして起動することにしました(/path/to/ の部分は適宜変更してください)。Pythonは3.13で大丈夫でした。

docling --help で詳しいヘルプが出ます。docling example.pdfexample.md が生成されます。ローカルのPDFファイルの代わりにURLを与えることもできます。初回実行時にHugging Faceからモデルがダウンロードされ、~/.cache/huggingface/hub 以下に入ります。

実行はかなり遅いので、最初は小さいファイルで試してみるのがよさそうです。日本語についてはPDFバックエンドをオプション --pdf-backend=pypdfium2pypdfium2 に変えるなどする方がいいかもしれません。

図は ![Image](data:image/png;base64,...) のようにbase64でMarkdownに埋め込んでくれます。

MarkdownはMacでは qlmanage -p *.md でプレビューできます。