本記事では、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)を読み込む。
試行錯誤の後に分かったこと:xpdf-utilsパッケージをインストールしていなかったということだった!apt-getで入れてから、
$ pdftotext a.pdf a.txtと実行すると、何もエラーがでずに実行できた。すなわち、結局必要だったことは、
- xpdf-utilsをインストールすること
- /etc/xpdf/xpdfrc-japaneseに再設定すること
0 コメント:
コメントを投稿