Python PyPDF2を使ってPDFからテキストを抽出する方法

PythonでPDFファイルを処理する方法は多くありますが、その中でもPyPDF2は一般的に使用されているライブラリの1つです。PyPDF2を使用すると、PDFファイル内のテキストやイメージ、メタデータを簡単に抽出できます。この記事では、PythonでPDFファイルのテキストを抽出する方法を説明します。

事前準備

PyPDF2のインストール

まず、PyPDF2をインストールします。Pythonのパッケージマネージャーであるpipを使用して、以下のコマンドを実行します。

pip install PyPDF2

コードの作成

ファイルの読み込み、内容の抽出、ファイルの保存のステップに分割して、コードを作成していきます。

PyPDF2のインポート

利用するモジュールをインポートします。先ほどインストールしたPyPDF2をインポートして下さい。

import PyPDF2

PDFファイルを開く

pdf_file = open('sample.pdf', 'rb')

ここで、'sample.pdf'は抽出したいPDFファイルのファイル名を指定します。rbは、バイナリファイルとしてファイルを開くことを示します。

PyPDF2を使用してテキストを抽出する

pdf_reader = PyPDF2.PdfFileReader(pdf_file)

num_pages = pdf_reader.numPages

text = ""

for page in range(num_pages):
    page_obj = pdf_reader.getPage(page)
    text += page_obj.extractText()

print(text)

上記のコードでは、PdfFileReaderオブジェクトを使用して、PDFファイル内のページ数を取得しています。取得したページ数分、テキストを抽出するメソッドpdf_reader.getPage()を繰り返します。各ページからテキストを抽出し、テキストを文字列変数に追加しています。最後に、確認のため、取得したテキストを表示しています。これで、Pythonを使用してPDFファイルからテキストを抽出することができます。

抽出した内容をテキストファイルとして保存する

PyPDF2を使用してPDFファイルからテキストを抽出した後、そのテキストをテキストファイルに書き込むことができます。以下は、テキストをファイルに書き込むためのコード例です。

with open('output.txt', 'w') as file:
    file.write(text)

上記のコードでは、with文を使用して、output.txtというファイルを書き込みモードで開き、テキストを書き込んでいます。書き込むファイルが存在しない場合、新しいファイルが作成されます。これで、Pythonを使用してPDFファイルからテキストを抽出して、別のテキストファイルとして保存することができました。

作成したコードの全体

以下が上記のステップで作成したPDFから文字情報を抽出するコードの全体です。コード内のexample.pdfoutput.txt部分は実際の環境のファイル名、ファイルパスに修正して利用して下さい。

import PyPDF2

pdf_file = open('example.pdf', 'rb')

pdf_reader = PyPDF2.PdfFileReader(pdf_file)

num_pages = pdf_reader.numPages

text = ""

for page in range(num_pages):
    page_obj = pdf_reader.getPage(page)
    text += page_obj.extractText()

with open('output.txt', 'w') as file:
    file.write(text)

退屈なことはPythonにやらせよう 第2版 ノンプログラマーにもできる自動化処理プログラミング [ AI Sweigart ]

まとめ

この記事では、PythonでPDFファイルのテキストを抽出する方法を説明しました。PyPDF2ライブラリを使用して、PDFファイルを開き、テキストを抽出することができます。この方法を使用すると、データの管理や分析の際に、PDFファイルを扱いやすくすることができます。PyPDF2には他にも便利な機能があり、別記事で紹介しています。組み合わせて利用して下さい。

pydocument.hatenablog.com

pydocument.hatenablog.com

最後にPythonの学習に利用できるUdemy iconのサイトを紹介します。ぜひ活用ください。

[PR]

click.linksynergy.com

click.linksynergy.com

click.linksynergy.com

click.linksynergy.com

click.linksynergy.com