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)
出力後のテキスト: