OPEN SOURCE LABORATORY

投稿日:2011年4月14日 -投稿者 S.M.

PDFからテキストを抜き出すには

今回はPDFからテキスト文を抜き出す方法についてです。
PDFからテキストを抜き出すにはpdftotextコマンドを使います。
通常インストールしたCentOSには入っていないので、yumからインストールします。
yum install poppler poppler-utils poppler-devel

==================================================================================================================================================================================================================
 Package                                           Arch                                     Version                                                  Repository                                              Size
==================================================================================================================================================================================================================
Installing:
 poppler                                           i386                                     0.5.4-4.4.el5_5.14                                       rhel-i386-server-5                                     3.0 M
 poppler-devel                                     i386                                     0.5.4-4.4.el5_5.14                                       rhel-i386-server-5                                     592 k
 poppler-utils                                     i386                                     0.5.4-4.4.el5_5.14                                       rhel-i386-server-5                                      73 k

Transaction Summary
==================================================================================================================================================================================================================
Install       3 Package(s)
Upgrade       0 Package(s)

Total download size: 3.7 M

無事インストールが完了したらpdftotextコマンドが使えるようになっているはずです。

ここまで来たらあとは簡単。
pdftotextでテキスト化したいPDFを選択するだけです。
今回は弊社のプレスリリースから「セルフオーダー用タブレットPCアプリを発表しました。」をテキスト化してみましょう。


と、その前にPDFの情報を見てみましょう。

PDFの情報を見るにはpdfinfoコマンドを実行します。
pdfinfo.png
ご覧のとおり、ちゃんと情報が取れているようです。
お次は本題のPDFからテキスト文を抜き出してみます。
使用したPDFは下のもので。
WS000002.JPG
WS000003.JPG
pdftotextで抜き出した結果はこちら
pdftotext -enc UTF-8 -layout -nopgbrk -q ‘/tmp/press_20110316.pdf’ /tmp/hoge.txt
cat /tmp/hoge.txt
pdftotext.png
一部インデントが崩れていたりしますが、文字化けもなく、
改行もPDFと同じ場所で改行されており、閲覧にも支障なさそうです。
今回、オプションは以下のものを使用しました。
enc:出力テキストのエンコード指定
layout:オリジナルレイアウトに近い状態で出力
nopgbrk:ページの間に改ページを入れない
q:各種メッセージを表示しない
この他にも変換開始/終了ページを指定できるf/lオプションなどいくつかオプションが用意されていますので、用途に合わせて使い分けるとよいでしょう。
wrote by S.M.