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.pdf
やoutput.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には他にも便利な機能があり、別記事で紹介しています。組み合わせて利用して下さい。
最後にPythonの学習に利用できるUdemy のサイトを紹介します。ぜひ活用ください。
[PR]