Pythonは、その強力なライブラリと柔軟性から、PDFからテキストを抽出するための優れたツールとなっています。特に英語のPDFからのテキスト抽出は、多くのライブラリが対応しています。

PyPDF2を用いたテキスト抽出

PyPDF2は、PDFファイルからテキスト情報を抽出するためのPythonライブラリです。このライブラリを使用すると、PDFからテキスト情報を抽出することが可能です。

import PyPDF2

# PDFファイルをバイナリ読み込みモードで開く
pdf_file = open("ファイル名を記載.pdf", "rb")

# PyPDF2.PdfFileReader()メソッドに上記を渡してオブジェクト生成
pdf_filereader = PyPDF2.PdfFileReader(pdf_file)

pdf2imageとPyOCRを用いたテキスト抽出

pdf2imageはPDFを画像ファイルに変換するためのライブラリで、PyOCRはPythonのOCR(光学文字認識)ツールです。これらを組み合わせることで、スキャンしたPDFからテキストを抽出することが可能です。

from pathlib import Path
from pdf2image import convert_from_path
import pyocr
import pyocr.builders
import sys

# 使用可能なOCRツールを探す
tools = pyocr.get_available_tools()
tool = tools[0]

if len(tools) == 0:
    print("OCR tool is not found.")
    sys.exit(1)

lan = "eng"  # 抽出したいファイル名を指定
f_name = "hogehoge"  # パスを設定
pdf_path = Path(f"./{f_name}.pdf")
txt_path = Path(f"./{f_name}.txt")

# PDFから画像ファイルに変換
pages = convert_from_path(str(pdf_path), 300)

txt = ""
for i, page in enumerate(pages):
    txt = txt + tool.image_to_string(
        page, lang=lan, builder=pyocr.builders.TextBuilder(tesseract_layout=6)
    )

# テキストファイルに書き出し
with open(txt_path, mode="w") as f:
    f.write(txt)

print("Process completed!")

これらの方法を用いて、PythonでPDFからテキストを抽出することが可能です。ただし、これらの方法は英語のPDFに対してのみ有効であり、日本語のPDFに対しては文字化けする可能性があることに注意が必要です。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です