pdfからテキストを抜き出すのは、たまに必要になる。
かなり昔は pdftotext や ps2txt などを使っていた。pdfビューア上でコピーしてエディタでペーストよりはマシという感じだったと思う。
最近はPyMuPDFが良さそう。参考: pdfからtextを抜き出す試行錯誤のメモ|Kan Hatakeyama
PyMuPDFのドキュメントはこちら。
import fitz
doc = fitz.open("input.pdf")
out = open("output.txt", "wb")
for page in doc:
text = page.get_text().encode("utf8")
out.write(text)
out.write(bytes((12,))) # ページ区切り
out.close()
Markdown形式で変換する場合は PyMuPDF4LLM が良い(参考: PyMuPDFが進化!PDFデータ抽出の超強力ライブラリ爆誕「PyMuPDF4LLM」 #Python – Qiita)。
PyMuPDF4LLMのドキュメントはこちら。
import pymupdf4llm
import pathlib
md_text = pymupdf4llm.to_markdown("input.pdf")
pathlib.Path("output.md").write_bytes(md_text.encode())