PythonでPDFのテキストを出力してみる001
IPAにて公開されている情報セキュリティマネジメント試験があります。試験の問題の公開はありがたいのですが不満もあります。問題と解答が別々のPDFのため、毎回PDFをわけて確認しなければいけないなどです。
Pythonで出力したらいいんじゃない?
PDFファイルを全部選択をしてテキストに保存するとか、外部のソフトを使ってワードデータに変換など方法はありますが、正直面倒だなと・・・
ふと考えた結果、Pythonで出力できのかな?となりました
Python環境
今回のPythonの環境は以下のようになります
python --version
Python 3.10.7
使用ツール
pypdfium2
となります。
pypdfium2って何?
元々PDFiumというライブラリがあったのですが、Googleに買収されてオープンソース化したみたいです。GoogleはPDFiumというのを独自に管理しているみたいです。
pypdfium2は、Googleの提供するPDFiumのPythonバインディングというものらしいです。
よくわからないですがとりあえずコードを書いていきます。
インストール
まずはPythonにpypdfium2をインストールします。
pip install -U pypdfium2
Pythonの場合はpipでインストールするのが楽だと個人的には思っています。
コード
コードは以下の通りになります
import sys
import pypdfium2 as pdfium
pdf = pdfium.PdfDocument('2024r06_sg_qs.pdf')
for page in pdf:
textpage = page.get_textpage()
text = textpage.get_text_range()
print(text)
これをするとpdfの出力結果がでます。
とりあえず今回はこんな感じでよいかなと思ってます。
実行するときは
としてください
まとめ
今回はPDFから出力をしました。このままではテキスト保存などができないので、毎回出力するか、コピーしてテキストエディタに貼り付けしないと行けません。次回はテキストファイルに保存できるようにしたいと思います。