オフィス文書の内容を読めるようにしたい(カスタムクローラ用)。
Office のバージョンは 2000 年から 2007 年までです。主にワード、エクセル、パワーポイントのドキュメントをクロールしたいと考えています。
フォーマットを取得したくありません。その中のテキストのみを取得します。
クローラーは lucene.NET に基づいています。
PDFの解析にすでにiTextSharpを使用しました
すでにLucene.NETを使用している場合は、これを行うためにすでに利用可能なさまざまなIFilterを利用したい場合があります。オープンソースのSeekAFileプロジェクトを見てください。IFilterを使用して、IFilterが使用可能な任意のファイルタイプからこの情報を開いて抽出する方法を示します。Word、Excel、Powerpoint、PDf、およびその他の一般的なドキュメントタイプのほとんどに対応するIFilterがあります。
Word文書をプレーンテキストに変換するためのさまざまなツールの優れたリストを次に示します。これを使用して、何でもできます。
DtSearch (www.DtSearch.com) もチェックしてみてください。これは主に検索ツールですが、多数のファイル タイプからテキストを抽出する優れた機能を備えており、Oracle/Stellent OutsideIn テクノロジや Autonomy の同等のテクノロジなどの他のオプションよりもかなり安価です。
私は何年も DtSearch を使用してきましたが、この種の作業には欠かせないと感じています。
これは、クリシュナン LN によるc-charpcorner に関する素敵な小さな投稿で、Word プライマリ相互運用機能アセンブリを使用して Word 文書からテキストを取得するための基本的なコードを示しています。
基本的にはWord文書から「WholeStory」のプロパティを取り出してクリップボードに貼り付け、クリップボードから取り出しながらテキスト形式に変換します。クリップボードの手順は、おそらくフォーマットを削除するために行われます。
PowerPoint の場合も同様のことを行いますが、スライドをループしてから、スライドごとに図形をループし、各図形の "TextFrame.TextRange.Text" プロパティを取得する必要があります。
Excel の場合、Excel は OleDb データ ソースになる可能性があるため、ADO.NET を使用するのが最も簡単です。これは、この手法について説明しているLaurent Bugnion による優れた投稿です。