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.pdf で example.md が生成されます。ローカルのPDFファイルの代わりにURLを与えることもできます。初回実行時にHugging Faceからモデルがダウンロードされ、~/.cache/huggingface/hub 以下に入ります。
実行はかなり遅いので、最初は小さいファイルで試してみるのがよさそうです。日本語についてはPDFバックエンドをオプション --pdf-backend=pypdfium2 で pypdfium2 に変えるなどする方がいいかもしれません。
図は  のようにbase64でMarkdownに埋め込んでくれます。
MarkdownはMacでは qlmanage -p *.md でプレビューできます。