pdf のテキスト変換は PyMuPDF が良さそう

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