{"author_name":"dk521123","blog_title":"\u30d7\u30ed\u30b0\u30e9\u30e0 \u306e\u8d85\u500b\u4eba\u7684\u306a\u30e1\u30e2","type":"rich","author_url":"https://blog.hatena.ne.jp/dk521123/","categories":["Python"],"provider_url":"https://hatena.blog","title":"\u3010Python\u3011Python \u301c PDF to TEXT \u301c","provider_name":"Hatena Blog","height":"190","blog_url":"https://dk521123.hatenablog.com/","image_url":"https://cdn.image.st-hatena.com/image/square/adad63b72f1d6545b2ba2538c3fc2923b2fd5989/backend=imagemagick;height=80;version=1;width=80/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Fcircle%2Fofficial-circle-icon%2Fcomputers.gif","published":"2025-10-04 21:49:22","width":"100%","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fdk521123.hatenablog.com%2Fentry%2F2025%2F10%2F04%2F214922\" title=\"\u3010Python\u3011Python \u301c PDF to TEXT \u301c - \u30d7\u30ed\u30b0\u30e9\u30e0 \u306e\u8d85\u500b\u4eba\u7684\u306a\u30e1\u30e2\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","url":"https://dk521123.hatenablog.com/entry/2025/10/04/214922","version":"1.0","description":"\u25fe\ufe0f\u306f\u3058\u3081\u306b https://dk521123.hatenablog.com/entry/2025/10/03/141326 \u306e\u7d9a\u304d\u3002 \u4eca\u56de\u306f\u3001python\u3067\u3001PDF -> TEXT \u3092\u884c\u3046\u3002 \u76ee\u6b21 \u3010\uff11\u3011PyMuPDF \u3010\uff12\u3011PyMuPDF4LLM \u3010\uff13\u3011pdfminer.six \u3010\uff11\u3011PyMuPDF * PDF\u306e\u69cb\u9020\u3092\u691c\u51fa\u3057\u3001\u30c7\u30fc\u30bf\u3092\u62bd\u51fa\u3059\u308b\u30c4\u30fc\u30eb \uff11\uff09\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb pip install PyMuPDF \uff12\uff09\u30b5\u30f3\u30d7\u30eb import fitz # PyMuPDF def extract_text_from_pdf(path): with fitz.open(path) as doc: te\u2026"}