PDF→text(特に日本語)
PDF Hacks ―文書作成、管理、活用のための達人テクニック
- 作者: Sid Steward,千住治郎
- 出版社/メーカー: オライリージャパン
- 発売日: 2005/03/29
- メディア: 単行本
- 購入: 3人 クリック: 53回
- この商品を含むブログ (20件) を見る
この本でも触れられているのだが、処理するのには、pdftotextというのとpdftkの2通りがある。前者は文字通り、PDFをテキスト情報にするもの。後者は、もともとPDFを合体さすとか抽出さすもので、読んでも中身がわからんものをdecodeして、それをいじってテキストにしようという魂胆である。いずれにせよ、英語の場合は楽なのだが、日本語になると途端に課題は困難となる。両方いじってみたが、前者の方がうまく日本語が出たので(体裁は不満だが)、そっちの方で。
- インストール
pdftotextは、xpdfっちゅうのの中に入っている。バイナリもあるようだが、MacPortsを無理矢理使うと、試しにどんなんがあるのか見れば、
xpdf @3.02 (graphics, print) Xpdf is a viewer for PDF files. ... xpdf-japanese @2004-jul-27 (graphics, print) Xpdf character mapping for Japanese
てな具合になっている。どうせ下のを入れれば、上も入るだろうということで
sudo port -v install xpdf-japanese
で案の定、上のも入る。
- 設定
とりあえず普通にやってみたらば、
nakazato@mudskipper:~/bio/data/tokutei$ pdftotext A-01_2007.pdf A-01_2007.tmp.txt Error: No paper information available - using defaults Error: Unknown character collection 'Adobe-Japan1' ...
と出る。日本語の設定が必要のようだ。
自分の場合、設定ファイルは、/opt/local/etc/xpdfrcにあった。
cidToUnicode Adobe-Japan1 /opt/local/share/xpdf/xpdf-japanese/Adobe-Japan1.cidToUnicode cMapDir Adobe-Japan1 /opt/local/share/xpdf/xpdf-japanese/CMap
を追加しておいてみた。ついでに、
textEncoding UTF-8
のコメントを外しておいた。
- 実際にやってみる
先の本に書いてあるやり方は、
$ pdftotext -layout -raw -enc UTF-8 a.pdf - | tr -d ' \t\n'
というもの。標準出力に出して(- の部分)、空白や改行などを取り除いている(改ページは残しているらしい)。
まぁ、これでもいいし、改行を残したままでもいいし。各セクションの意味を使うか使わないかで、使い分ければいいのではないか。