2012年11月26日月曜日

PDFファイルからテキストを抽出するには

 PDFファイルからテキストを抽出するには、pdftotextコマンドを使用する。pdftotextコマンドは、Xpdfhttp://www.foolabs.com/xpdf/)に含まれている。Fedora Core 3(FC3)にはXpdfのパッケージが用意されており、

# yum install xpdf

でインストール可能だ。

 Xpdfのインストールが終わったら、設定を行う。全ユーザーに対して設定を有効にする場合は、rootで/etc/xpdfrc

#textEncoding UTF-8

という行の「#」を削除して、コメントアウトを解除する。

 自分だけに有効な設定を行う場合は、ユーザーのホームディレクトリに.xpdfrcというファイルを作成し、

textEncoding UTF-8

と記述する(EUCのシステムの場合は「EUC-JP」)。

 以上で設定は完了だ。以下のコマンドを実行すると、PDFファイルに含まれるテキストを別ファイルに出力できる。

$ pdftotext sample.pdf sample.txt

 pdftotextコマンドは、textEncodingで指定した文字コードでテキストファイルを生成する。場合によって文字コードを変更したい場合は、-encオプションで適切な文字コードを指定する。

$ pdftotext -enc EUC-JP sample.pdf sample.euc ←EUCで出力
$ pdftotext -enc Shift-JIS sample.pdf sample.euc ←シフトJISで出力

 pdftotextコマンドでよく使用するオプションは、以下のとおり。

オプション
内容
-f 開始ページ 抽出開始ページを指定
-l 終了ページ 抽出終了ページを指定
-opw パスワード オーナーパスワード(文書の印刷や編集などを制限するためのパスワード)を指定
-upw パスワード ユーザーパスワード(文書を開くためのパスワード)を指定
-layout オリジナルに近いレイアウトでテキストを出力
-htmlmeta HTML形式で出力
-enc エンコード名 テキストファイルの文字コードを指定(UTF-8/EUC/Shift-JISなど)
-eol 行末の形式 end-of-lineの形式を指定(unix/dos/mac)

0 件のコメント:

コメントを投稿