前回はWordのgrep検索をするプログラムを作成しましたが、今回はPDFをgrep検索するプログラムを作成してみました。

見た目は前回と全く同じです…

使い方も前回と同様で、検索するファイルの対象がdocxファイルからpdfファイルに変更されただけです。GUIの操作も前回と同じです。

使い方

前回と同様ですので、そちらを参照してください。

必要モジュール

以下のモジュールをインストールする必要があります。

このモジュールの詳しい内容は、以下のサイトの説明を参照してください。

https://www.shibutan-bloomers.com/python_library_pdfminer-six/2124/

ソースコード

プログラムの簡単な説明

前回と違う部分だけ説明していきます。

検索結果をダブルクリックしたときにファイルを開く処理です。
103行目:PDFを開くアプリケーション(ここではAcrobat Reader)のパスは環境によって違うと思いますので、書き換えが必要です。

166~169行目:当然ながらglobで検索するファイルの拡張子は”pdf”になります。

メインの検索処理の部分です。176~190行目で、StringIOオブジェクトのoutfpにPDFファイルに含まれるテキスト情報を取り出しています。あとは取り出したテキストを改行で区切って、正規表現で検索をかけています(192行目~207行目)。