Extract Text from MS Word Documents in C#

Microsoft Word ドキュメントは、テキストコンテンツを作成し、共有するためのステップです. あなたがこれらの文書と相互作用する C# アプリケーションを開発している場合は、あなた自身がそれらから文字を抽出する必要があることがあります. これは、文字分析などの目的のために、あるいは新しいものに編集するために特定のセクションを引き出す可能性があります. このブログの投稿では、私たちは、C# のWord ファイルから文本を採取する方法に浸透します#.

テーブルコンテンツ

C# Library for Text Extraction

ASPOSE.Words for .NET それは、テキスト抽出、ドキュメント作成、操作、および変換を含む機能の包括的なセットを提供します Aspose.Words for .NET では、開発者は効果的に Word 文書のさまざまな側面を管理することができ、それはあなたの開発のニーズのための貴重なツールになります.

始めるために, 図書館をダウンロード 直接インストールするか NuGet パッケージマネージャーコンソールで以下のコマンドを使用します:

PM> Install-Package Aspose.Words

Word ドキュメントにおけるテキスト抽出の理解

MS Word ドキュメントには、段落、テーブル、および画像などのさまざまな要素が含まれています. したがって、テキスト抽出の要件は、特定の使用ケースに基づいて異なります. あなたは段落、ブックマーク、コメント、およびその他の間のテキストを抽出する必要があります.

Word ドキュメントの各要素はノードとして表示されます. したがって、ドキュメントを効果的に処理するには、これらのノードで作業する必要があります. さまざまなシナリオで Word ドキュメントからテキストを抽出する方法を調べます.

単語文書からテキストを抽出するためのステップ・ステップ・ガイド

このセクションでは、Word ドキュメントのための C# テキストエクストラクターを実装します テキストエクストラクターのワークフローには以下のステップが含まれます:

  • 抽出プロセスに含まれるノードを定義します.
  • 指定されたノードの間のコンテンツを抽出する(出発および終了ノードを含むまたは排除する).
  • クローン化された抽出ノードを使用して、抽出されたコンテンツを含む新しい Word ドキュメントを作成します.

テキスト抽出を実行するためにノードやその他のパラメーターを受け入れる ExtractContent と呼ばれる方法を作成します. この方法は、文書を分割し、以下のパラメーターに基づいてノードをクローンします:

  • StartNodeおよび EndNode:これらはコンテンツ抽出の出発点と終了点を定義します.これらはブロックレベル(例えば、 段落、 表)またはインラインレベルのノード(例えば、 Run、 FieldStart、 BookmarkStart)かもしれません).- フィールドの場合は、関連する フィールドスタート オブジェクトを入力します.

  • ブックマークの場合は BookmarkStart および BookmarkEnd ノードを使用します.

  • コメントには CommentRangeStart および CommentRangeEnd ノードを使用します.

  • IsInclusive: このパラメーターは、マークが抽出に含まれているかどうかを決定します. 偽に設定され、同じまたは連続のノードが提供される場合、空のリストが返されます.

以下は、指定されたノード間のコンテンツを抽出するための ExtractContent 方法の完全な実施です:

さらに、テキスト抽出作業を容易にするために ExtractContent 方法によって、いくつかの補助方法が必要です:

現在、私たちの方法が準備されているので、Word ドキュメントからテキストを抽出し続けることができます.

単語文書の段落間のテキストの抽出

Word DOCX ドキュメントの 2 つの段落間のコンテンツを抽出するには、以下の手順に従います:

  • 文書 クラスを使用してWord` ドキュメントをアップロードします.
  • スタートと終了の段落への参照は Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean) メソッドを使用します.
  • ノードをオブジェクトに抽出するために ExtractContent(startPara、endPara、True) 方法を呼び出します.
  • GenerateDocument(Document、extractedNodes)の手助け方法を使用して、抽出されたコンテンツを含む文書を作成します.
  • 新しい文書を Document.Save(string) 方法で保存します.

以下は、Word ドキュメントの 7 と 11 の段落間のテキストを抽出する方法を示すコードサンプルです:

異なるタイプのノードの間のテキスト抽出 {#テキスト抽出 - 異なるタイプのノードの間}

例えば、段落とテーブルの間のコンテンツを抽出し、新しい Word ドキュメントに保存します:

  • 文書 クラスを使用してWord` ドキュメントをアップロードします.
  • Document.FirstSection.Body.GetChild(NodeType、int、boolean)` の方法を使用してスタートと終了のノードへの参照を得る.
  • ノードをオブジェクトに抽出するために ExtractContent(startPara、endPara、True) を呼びます.
  • GenerateDocument(Document、extractedNodes)の手助け方法を使用して、抽出されたコンテンツを含む文書を作成します.
  • 新しいドキュメントを保存するには Document.Save(string)を使用します).

以下は、C#で段落とテーブルの間のテキストを抽出するためのコードサンプルです#:

スタイルベースのテキスト抽出 {# スタイルベースの段落間のテキスト抽出}

スタイルに基づく段落間のコンテンツを抽出するには、以下の手順に従います. このデモのために、Word ドキュメントの最初のタイトル 1 と最初のタイトル 3 の間のコンテンツを抽出します:

  • 文書 クラスを使用してWord` ドキュメントをアップロードします.
  • 段落を ParagraphsByStyleName(ドキュメント、タイトル1 ) 手助け方法を使用してオブジェクトに抽出します.
  • 別のオブジェクトに段落を抽出する ParagraphsByStyleName(ドキュメント、`タイトル").
  • 電話 ExtractContent(startPara、endPara、True) は、両段落から最初の要素を参照します.
  • GenerateDocument(Document、extractedNodes)の手助け方法を使用して、抽出されたコンテンツを含む文書を作成します.
  • 新しいドキュメントを保存するには Document.Save(string)を使用します).

以下は、スタイルに基づいて段落間のコンテンツを抽出するためのコードサンプルです:

Read more about テキストエクストラクション

Word ドキュメントからテキストを抽出するための追加のシナリオを検索する この文書記事.

無料のWordテキストエクストラクターライブラリを取得する

あなたは得ることができます A 無料の暫定ライセンス 評価制限なしでテキストを抽出する.

結論

Aspose.Words for .NET は、C# で Word ドキュメントからテキストを抽出するプロセスを簡素化する多様なライブラリです。その幅広い機能とユーザーフレンドリーな API で、Word ドキュメントで効率的に作業し、さまざまなテキスト抽出シナリオを自動化することができます。Word ドキュメントの処理を必要とするアプリケーションを開発しているか、単にテキストを抽出するか、Aspose.Words for .NET は開発者にとって重要なツールです.

NET のための Aspose.Words の他の機能を調べるには ドキュメンタリー. 質問がある場合は、私たちを通じて自由にアクセスしてください フォーラム.

こちらも見る

タイプ: あなたは Aspose をチェックしたいかもしれません PowerPoint to Word Converter は、プレゼンテーションを Word ドキュメントに変換する人気のプロセスを示しています.

More in this category