ChatGPTにPDFからテキストを取り出すPythonコードを書いてもらった

ChatGPTにPDFからテキストを取り出すPythonコードを書いてもらいました。

大量のPDFから特定の情報だけを抽出してデータベース化したいシーンを想定です。

 

指示文(プロンプト):

PDFの中身を取得してテキストファイルに出力するPythonコードを提示してください。

回答:

PythonでPDFの中身を取得してテキストファイルに出力するコードは、PDFを操作するライブラリを利用する必要があります。PDFを操作するライブラリには、PDFMiner, PyPDF2, ReportLabなどがありますが、日本語テキストに対応しているのはPDFMinerです。

PDFMinerを使うには、まずインストールする必要があります。コマンドプロンプトやターミナルで以下のコマンドを実行してください。

pip install pdfminer.six

インストールが完了したら、以下のコードを参考にしてください。このコードは、sample.pdfというファイルからテキストを抽出して、output.txtというファイルに出力します。


# pdfminerモジュールをインポート
from pdfminer.high_level import extract_text

# テキストを抽出したいpdfファイルのパス
pdf_path = "sample.pdf"

# pdfファイルからテキストを抽出
text = extract_text(pdf_path)

# テキストを出力したいテキストファイルのパス
txt_path = "output.txt"

# テキストファイルにテキストを書き込む
with open(txt_path, "w", encoding="utf-8") as f:
    f.write(text)
    
結果:

以下のように成功しました。テスト用に、トヨタのIR資料のPDFを拝借しました。

四半期報告書 2022年12月第3四半期 (global.toyota)

出力後のテキスト: