日別アーカイブ: 2011年10月19日

PDFからのテキスト抽出で困っていること

 昨日は、TextPorterがさまざまなソフトのファイルからテキストを抜き出してくるソフトであること。一般の人の目に触れないところで、実は、数多く採用され、活躍していることをお話しました。
 そのTextPorterを使ったPDFからのテキスト抽出で、最近、困ったことが起きています。
 1つ目は、壊れたPDFが氾濫していることです。
 PDFは、Adobe社が独自に開発したものですが、仕様はすでに、
PDF Reference and Adobe Extensions to the PDF Specification
として、公開されています。また、ISO 32000という国際規格にもなっています。
 規格に沿ったPDFであれば、TextPorterは困らないのですが、世の中には、規格を逸脱したPDFがたくさんあります。
 お客様から、このPDFからテキストが抽出できないという問い合わせがあり、調べてみると、規格に準拠してない、壊れたPDFであることがほとんどです。
 それらは、オープンソースのPDFライブラリや自作の独自ライブラリを用いて作られたものが多いようです。そのPDFライブラリのバグなのか、そのPDFライブラリを使うプログラマのレベルが低くて、バグを入れてしまっているのかは、定かではありません。とにかく、壊れた汚いPDFがあちこちで流通してしまっているのが現状です。
 中には、Adobe Readerでも表示できなかったり、Adobe Readerがハングアップしてしまうものまであります。
 TextPorterは、なるべくテキストを抽出しようとがんばってはいますが、自ずと限界はあり、壊れ方がひどいと、どうしようもありません。
 出来の悪いプログラマが作るPDFには勝てません。どうか、プログラマのみなさん、仕様書を読んで、まともなPDFを作ってくださいと願うばかりです。
 2つ目は、画像ばかりのPDFからは、テキストが抽出できないということです。
 お客様から、このPDFからテキスト抽出ができないと送られてきたPDFが、実は、テキストは1文字も入っておらず、全ページが画像のPDF。つまり、スキャナで紙の書類を画像として取り込んでPDFにしたものだったというケースが増えています。
 技術知識のない一般のお客様の場合、Adobe Readerで見て文字が読めるのだから、テキストが抽出できると思ってしまわれるようですが、そうなりません。実は、TextPorterは、画像認識をしてまでテキストを抽出しようとはしていないのです。
 これには理由があって、画像認識までして文字列を抽出しようとすると、処理スピードの低下など、あれこれ弊害が出てしまうからです。TextPorterは日夜、膨大な数のファイルからテキスト抽出をする用途に使われているので、処理スピードの低下は、大きな問題になるのです。
 ハードウェアの性能がもっと向上すれば、挑戦すべきテーマとは思いますが、現在のところ、そこまでやることは控えています。
 画像ばかりのPDFからは、テキスト抽出はできない。これを覚えておいていただきたいと思います。
 TextPorterについての詳しい説明は、
TextPorter
をご覧ください。
 TextPorterをはじめ、アンテナハウスのシステム製品につきましては、事前に技術相談会を行っております。お気軽にお問い合わせください。
 詳しくは、
システム製品技術相談会
をご覧の上、お申し込みください。