Linuxユーザの立場から、役立つ情報や困ったときの解決方法を分かりやすく、かつ簡潔に記事にまとめています。主に、Ubuntu 8.04(→9.04)やCentOS 5.2(→5.3)で確認したことですが、他のディストリビューションでも応用できると思います。内容は(1)設定ファイルの書き方(2)役立つソフトウェア紹介やインストール方法(3)便利なコマンドの使い方や活用例(4)困ったときの解決方法です。このページの末尾にキーワード別で記事を分類してあります。また、真上の「ブログ検索」フォームからブログ内の記事を検索できます。

2008年12月3日水曜日

PDFファイルからテキストを抽出する このエントリーを含むはてなブックマーク

本記事では、ubuntu8.04でPDFファイルからテキストを抽出するコマンドpdftotextをセットアップする方法についてまとめる。

pdftotext:はPDFファイルからテキストを抽出するツールである。(PDFファイルviewerの)xpdfパッケージに含まれている。しかし、何もしないままで実行すると、

$ pdftotext a.pdf a.txt
Error: Unknown character collection 'Adobe-Japan1'
Error: Unknown character collection 'Adobe-Japan1'
Error: Unknown character collection 'Adobe-Japan1'
というエラーで怒られてしまう(a.pdfに日本語が含まれているときに)。「Unknown character collection 'Adobe-Japan1'」でネットを検索してみると解決法がいくつか紹介されているが、どれでやっても解決できなかった。

ネットで紹介されていた方法

(1)cmap-adobe-japan1とcmap-adobe-japan2を入手して、/usr/share/fonts/cmap/cmap-adobe-japan1およびcmap-adobe-japan2と配置する。(←ネットで入手したものは、もともと入っていたものより古いものだった。後で分かったことだが、入れ替える必要はなかった。)

(2)/etc/xpdfrc/xpdfrc-japaneseでそのフォントの場所を指定する。 書き込む内容は以下の通りである。

cidToUnicode    Adobe-Japan1    /usr/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
unicodeMap      ISO-2022-JP     /usr/share/xpdf/japanese/ISO-2022-JP.unicodeMap
unicodeMap      EUC-JP          /usr/share/xpdf/japanese/EUC-JP.unicodeMap
unicodeMap      Shift-JIS       /usr/share/xpdf/japanese/Shift-JIS.unicodeMap
cMapDir         Adobe-Japan1    /usr/share/fonts/cmap/adobe-japan1
toUnicodeDir                    /usr/share/fonts/cmap/adobe-japan1

これをやった後で、再度実行したら

$ pdftotext a.pdf a.txt
Error: Unknown character collection 'Adobe-Japan1'
Error: Unknown character collection 'Adobe-Japan1'
Error: Unknown character collection 'Adobe-Japan1'
再び怒られた。

結局、設定が反映されていない。設定を明示的に反映するコマンドを実行する必要があるのだろうか?と考えたが、その必要はないようだ。ちなみに、pdftotextを実行したら

  • ホームディレクトリにある.xpdfrcを読み込む。
  • それがなければ、システムの設定ファイル(/etc/xpdf/xpdfrc)を読み込む。
となるとmanに書いてあった。設定は確かにAdobe-Japan1について書いてあるのになぜか反映されていない。

試行錯誤の後に分かったこと:xpdf-utilsパッケージをインストールしていなかったということだった!apt-getで入れてから、

$ pdftotext a.pdf a.txt
と実行すると、何もエラーがでずに実行できた。すなわち、結局必要だったことは、
  • xpdf-utilsをインストールすること
  • /etc/xpdf/xpdfrc-japaneseに再設定すること
の2つだけだったのだ。

0 コメント:

キーワード

キーワード別に記事を分類してあります。クリックすると各キーワードに該当する記事たちが表示されます。

筆者について

自分の写真
趣味はコンピュータ、音楽、写真などです。