以下の内容はhttps://dk521123.hatenablog.com/entry/2025/10/04/214922より取得しました。


【Python】Python 〜 PDF to TEXT 〜

◾️はじめに

https://dk521123.hatenablog.com/entry/2025/10/03/141326

の続き。

今回は、pythonで、PDF -> TEXT を行う。

目次

【1】PyMuPDF
【2】PyMuPDF4LLM
【3】pdfminer.six

【1】PyMuPDF

* PDFの構造を検出し、データを抽出するツール

1)インストール

pip install PyMuPDF

2)サンプル

import fitz  # PyMuPDF

def extract_text_from_pdf(path):
    with fitz.open(path) as doc:
        text = ""
        for page in doc:
            text += page.get_text()
    return text

if __name__ == "__main__":
    pdf_path = "test_files/sample.pdf"
    extracted_text = extract_text_from_pdf(pdf_path)
    print("Extracted Text from PDF:")
    print(extracted_text)

出力結果

会社名:株式会社テスト
職種:ソフトウェアエンジニア
勤務地:東京都渋谷区
給与:年収500万円〜700万円

【2】PyMuPDF4LLM

* PyMuPDFのLLM(Large Language Models;大規模言語モデル)

1)インストール

pip install pymupdf4llm

2)サンプル

import pymupdf4llm

md_text_chunks = pymupdf4llm.to_markdown(
    doc="test_files/sample.pdf",
    page_chunks=True
)
print(md_text_chunks)

出力結果

[{'metadata': {
'format': 'PDF 1.3', 'title': '', 'author': '', 'subject': '', 'keywords': '', 'creator': '',
 'producer': '', 'creationDate': 'D:20251004090539Z',
 'modDate': '', 'trapped': '', 'encryption': None, 'file_path': 'test_files/sample.pdf',
 'page_count': 1, 'page': 1}, 'toc_items': [], 'tables': [], 'images': [], 'graphics': [], 
'text': '職種:ソフトウェアエンジニア\n\n\n勤務地:東京都渋谷区\n\n\n
給与:年収500万円〜700万円\n\n\n', 'words': []}]

【3】pdfminer.six

* Pythonで書かれた強力なPDF解析ライブラリ

https://omomuki-tech.com/archives/1199

1)インストール

pip install pdfminer.six

2)サンプル

from pdfminer.high_level import extract_text

# テキスト抽出
text = extract_text("test_files/sample.pdf")

# 結果を表示
print("+++++++ Extracted Text using pdfminer +++++++")
print(text)
print("+++++++ Extracted Text using pdfminer +++++++")

出力結果

会社名:株式会社テスト

職種:ソフトウェアエンジニア

勤務地:東京都渋谷区

給与:年収500万円〜700万円

関連記事

Python ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2014/08/07/231242
Python ~ 基本編 / 文字列 ~
https://dk521123.hatenablog.com/entry/2019/10/12/075251
Python ~ PyFPDF ~
https://dk521123.hatenablog.com/entry/2023/07/19/001703
Python ~ 画像処理 / Pillow ~
https://dk521123.hatenablog.com/entry/2023/07/10/000000
Python 〜 Tesseract OCR
https://dk521123.hatenablog.com/entry/2025/10/03/141326




以上の内容はhttps://dk521123.hatenablog.com/entry/2025/10/04/214922より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14