PDF (画像) からテキストを抽出

特許の仕事をしていた時、原文が PDF ファイルで送られてくることも少なくありませんでした。この場合、テキストがテキストとして保存されていれば問題ないのですが、全体を画像として保存されてしまっている場合は、テキストだけ抽出することが難しくなります。

翻訳では、原文はテキスト・エディタなどで整形可能なテキスト形式で手に入ると何かと便利です。少なくとも、テキスト形式に落とせる形式であるかどうかが、作業効率にかなり影響します。そのため、PDF からのテキスト抽出は深刻な問題でした。

この時いろいろ調べたのですが、なかなかこれといったいい方法は見つかりませんでした。となれば自分でアイディアをひねり出すしかない。なるべく手間がかからず、短時間でできる、仕事に使えるレベルの実用的な方法はないか? 手持ちのソフトやツールを再確認して、あれこれ考えてみました。

そしてたどり着いたのが、Acrobat (Acrobat Reader ではありません)、Adobe Photoshop および OCR を利用した方法です。まあ、決して目新しい方法ではないのですが、コツみたいなものがあるのです。特に PDF 上のテキストがかすれているような場合、それを Photoshop でいかに修復できるかが鍵です。(逆に、PDF のテキストがかなり綺麗な写真として保存されていれば、Photoshop を使わずにいきなり OCR を使うことも可能です。)

この方法は、英語から日本語への翻訳時に利用したもので、日本語から英語の場合、OCR の性能によりうまくいかない場合があります。また、使用したソフトは、Acrobat 4.0 と Photoshop 4.0 のマック版、OCR は OmniPagePro 9.0の Windows 版です。異なる環境では少し操作方法が異なるかも知れません。その場合は適宜読み替えてください。なお、Photoshop 以外の画像編集ソフトを使用することは可能ですが、アクションで自動化を行うため、同様の機能がない場合は手作業になり、かなりの時間がかかります。

もし PDF で原文を提供され、それをテキスト化することに四苦八苦している場合には、参考になるかと思います。また、紙の原稿で原文を渡された場合にも、原稿がかすれていたりする場合には応用できます (スキャナーが必要になりますが)。


PDF からのテキスト抽出方法:

1. Acrobat で PDF ファイルを開く (ウィンドウは最大化)

2. [File] -> [Export] でファイルを EPS で保存 (ページ数によりかなりの時間がかかる)。各ページごとのファイルができあがる。

  <手順3から6はアクションで自動化する>

3. Photoshop で EPS ファイルを開く

4. [イメージ] -> [モード] -> [グレースケール] に変換

5. [イメージ] -> [モード] -> [モノクロ2階調] に変換 (変換方式は [50%を基準に2階調に分ける] を選択)

6. [ファイル] -> [別名で保存] で TIFF として保存 (TIFF オプションは IBM PC にする)

(注意:この時点で、ファイルサイズは16MB (EPS) のものが2MB (TIFF) くらいになります)

  <ここまではアクションにより自動化、ボリューム次第で数時間かかる>

7. OCR (OmniPagePro) で TIFF ファイルからテキスト抽出


最後の OCR ソフトですが、いろいろ調べたり試したりした結果、英文用には OmniPagePro の性能が優れていると分かりました。このソフト、単体で購入するとバカ高い のですが (現在のバージョンは15で、7万円近くするようです)、スキャナーを購入すると付いてきます。これからスキャナーを購入する場合は、OCR ソフトが何かを調べてから機種を決めるといいでしょう。ただし、日本語用の OCR ソフトについては、よく分かりません。

また、作業にはかなりの時間がかかります (上記データはハード&ソフト共に結構古いものなので、現在ではもっと高速化できるはずですが)。原稿をもらったら、他の資料に目を通したり寝ている間にまずこの作業を済ませてしまうと、時間の節約になります。

翻訳以外でも、新聞の切り抜きなどを整理したい場合などに使えそうですね。プログラミングが得意な人は、一連の作業をバッチファイルに登録してしまえば、もっと楽できると思います。