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())