PyMuPDFでPDFを読む

PyMuPDFは、GhostscriptをメンテしているArtifexが作っているMuPDFのPythonバインディングです。pip install PyMuPDF でインストールできます。GitHubのPyMuPDF詳しいドキュメントもあります。次のように使います。

import pymupdf

doc = pymupdf.open("example.pdf")
for page in doc:
    text = page.get_text()
    print(text)

コマンド pymupdf もインストールされます。pymupdf gettext example.pdf とすれば example.txt に上書きされます。

PyMuPDFを使ってLLM/RAGで扱いやすいMarkdown形式を出力する PyMuPDF4LLM があります。これを使ってコマンドラインで与えたファイル名のPDFをすべてMarkdownにする簡単なプログラム:

#! /usr/bin/env python3

import pymupdf4llm
import pathlib
import sys

for arg in sys.argv[1:]:
    md_text = pymupdf4llm.to_markdown(arg)
    if arg.endswith(".pdf"):
        arg = arg[:-4]
    pathlib.Path(arg + ".md").write_bytes(md_text.encode())