DoclingでPDFを読む

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

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

uv tool install docling@latest

とすれば ~/.local/bin にインストールされます(実体は UV_TOOL_DIR、デフォルトは ~/.local/share/uv/tools に入ります)。Pythonは3.14で大丈夫でした。更新は uv tool upgrade docling です。

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 でプレビューできます。