0

現在、毎日多数のドキュメント(.doc、.docx、.odt、pdf)を自分のWebサイトにアップロードしており、これらのドキュメントはSQLデータベース(mediumblob)に保存されています。

現在、データベースからドキュメントを開き、クイックリファレンスと検索機能のためにテキストバージョンを切り取ってデータベースのフィールドに貼り付けています。

私はこの「カットアンドペースト」プロセスを自動化することを目指しています-テキストを抽出できる限り、フォーマットは実際の問題ではありません-そして何人かの人々が下がる良いルートを提案できるかもしれないことを望んでいましたか?

正規表現を使用してblobフィールドのコンテンツを操作しようとしましたが、実際には機能していません。

私はアップロードの時点でテキストを抽出する目的でApachePOIを見てきましたが、私の比較的単純なニーズを考えると、これは多分少しやり過ぎだと思わずにはいられません。

私が遭遇するさまざまなドキュメント形式とblobフィールドへのコンテンツの現在の保存を考えると、Apache POIはこのインスタンスで使用するのに最適なソリューションでしょうか、それとも誰かが代替案を提案できますか?

ヘルプと提案を大歓迎します。

クリス

4

1 に答える 1

0

Apache POIは、Microsoft Office 形式 (.xls、.docx、.msg など) でのみ機能します。これらの形式に対して、ファイルを操作するためのクラス (常に読み取り、多くの書き込みもサポート) とテキスト抽出プログラムを提供します。

一般的なテキスト抽出フレームワークについては、 Apache Tikaを参照してください。Tika は内部で POI を使用して Microsoft 形式を処理し、他の多くのライブラリを使用してさまざまな形式を処理します。たとえば、Tika は、質問で言及した他の 2 つのファイル形式である PDF と ODF/ODT の両方を処理します。

Apache Tikaの Web サイトには、いくつかのクイック スタート チュートリアルと例があります。一読することをお勧めします。開始するのは非常に簡単で、アップロード中に Tika を介してドキュメントを送信するようにコードを簡単に変更して、プレーン テキスト バージョンを取得するか、より役立つ場合はイベント XHTML を取得できるはずです。

于 2012-04-20T09:36:29.323 に答える