投稿日: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 Mpoppler-devel i386 0.5.4-4.4.el5_5.14 rhel-i386-server-5 592 kpoppler-utils i386 0.5.4-4.4.el5_5.14 rhel-i386-server-5 73 kTransaction Summary==================================================================================================================================================================================================================Install 3 Package(s)Upgrade 0 Package(s)Total download size: 3.7 M
無事インストールが完了したらpdftotextコマンドが使えるようになっているはずです。
ここまで来たらあとは簡単。
pdftotextでテキスト化したいPDFを選択するだけです。
今回は弊社のプレスリリースから「セルフオーダー用タブレットPCアプリを発表しました。」をテキスト化してみましょう。
と、その前にPDFの情報を見てみましょう。
PDFの情報を見るにはpdfinfoコマンドを実行します。
ご覧のとおり、ちゃんと情報が取れているようです。
お次は本題のPDFからテキスト文を抜き出してみます。
使用したPDFは下のもので。
pdftotextで抜き出した結果はこちら
pdftotext -enc UTF-8 -layout -nopgbrk -q ‘/tmp/press_20110316.pdf’ /tmp/hoge.txtcat /tmp/hoge.txt
一部インデントが崩れていたりしますが、文字化けもなく、
改行もPDFと同じ場所で改行されており、閲覧にも支障なさそうです。
今回、オプションは以下のものを使用しました。
enc:出力テキストのエンコード指定
layout:オリジナルレイアウトに近い状態で出力
nopgbrk:ページの間に改ページを入れない
q:各種メッセージを表示しない
この他にも変換開始/終了ページを指定できるf/lオプションなどいくつかオプションが用意されていますので、用途に合わせて使い分けるとよいでしょう。
wrote by S.M.

