【Python】pdfファイルからテキストを超簡単に抽出する方法

PDFファイル

こんにちは!

皆さんはpdfファイルからテキストを抽出したいと思ったことはありませんか?

仕事でデータをpdfファイルで受け取ったりしたことがあるかと思います。

そんな時にそのデータを用いて処理を行う時にテキストを抽出できたら便利だなと思ったことがある方もいるのではないでしょうか?

そこで今回は、「pdfmimer.sixモジュール」というモジュールを用いてpdfファイルからテキストを簡単に抽出する方法を紹介していきます。



1. pdfminer.sixモジュールをインストールする

pdfファイルからテキストを抽出するには、「pdfminer.sixモジュール」を用います。

早速インストールしてみましょう。

pip install pdfminer.six

上記コマンドを実行し、インストールを完了しましょう。


2. テキストを抽出するプログラムを用意する

今回の記事で、pdfファイルからテキストを抽出する際に何が超簡単かというと、実はpdfminer.sixモジュールをインストールした際に、pdfファイルからテキストを抽出するサンプルプログラムが同時にインストールされる点なのです!

pdfファイルからテキストを抽出するには、サンプルプログラムを実行するだけです。

サンプルプログラムは「pdf2txt.py」という名前でインストールされています。

インストールされている場所がわからない方は、素直にファイル検索をしましょう。

ちなみに、macでanacondaを使用している自分の場合は、

Macintosh HD/anaconda3/bin/pdf2txt.py

というディレクトリ構造になっています。

pdf2txt.pyと、テキストを抽出したいpdfファイルを移動させて、同じディレクトリ内に入れておきましょう。


3. pdf2txt.pyを実行する

早速pdf2txt.pyを実行していきましょう。

実行する際はテキストを抽出したいpdfファイルを引数として指定します。

今回はsample.pdfという以下のpdfファイルからテキストを抽出していきます。

実行を試してみたいけどpdfファイルが無い!という方は下のダウンロードからsample.pdfをダウンロード可能なので是非ダウンロードしてみてください!

python3 pdf2txt.py sample.pdf

実行結果

この pdf ファイルはサンプルです。 

この pdf ファイルはサンプルです。 

この pdf ファイルはサンプルです。 

この pdf ファイルはサンプルです。 

 
 
 
 
 
 
 

どうでしょうか?sample.pdfでは、文字の大きさがそれぞれ行ごとに違いますが、pdf2txt.pyを実行すると、文字の大きさに関係なくテキストを抽出できていますね!


4. 注意事項

今回の簡単なpdfファイルではうまくテキストを抽出することができました。

しかし、pdfには様々なバージョンがあったり、暗号化が行われテキストを抽出できないようにしているものもあります。

さらには、文章が多段構成だった場合には、うまくテキストを抽出できないといった問題もあります。

全てのpdfファイルのテキストをうまく抽出できるわけでは無いことに注意しましょう。

このような問題を解決するためには、pdfファイルごとにテキストを抽出するプログラムを書き換えるしかありません。
そのため様々な形のpdfファイルを扱うにはあまり向いていません。

同じような形式のpdfファイルをたくさん扱い、テキストを抽出する場合には非常に有効ですので、ぜひやり方を覚えておきましょう!


5. まとめ

いかがでしたか?

今回は、pdfminer.sixモジュールを使って、pdfファイルからテキストを抽出する方法を紹介しました。

pdfminer.sixモジュールをインストールすると、pdfからテキストを抽出するプログラムが一緒にダウンロードされるので、そのプログラムを用いることによって超簡単にテキストを抽出できます。

注意事項に書いてある点に注意しながら、様々なpdfファイルからテキストを抽出してみましょう!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です