IRONWORDの使用

C#でWordからテキストを抽出する方法

公開済み 2024年10月23日
共有:

イントロダクション

通常、文書処理アプリケーション、データ抽出、テキスト分析における主なタスクは、Word文書ファイルからのテキスト抽出です。 C#アプリケーションを開発する際、開発者は.docx形式のファイルを扱ったり、ドキュメントインスタンス内のテキストにアクセスしたりするのに役立つIronWordのようなライブラリを使用します。 これらのライブラリを使用することで、開発ツールからコンテンツを取得する方法を自動化することができます。ワード文書レポート作成、データマイニング、あるいは文書管理システムの生成を可能にします。

IronWordのようなライブラリを使えば、Word文書のインスタンスからテキストを抽出することができます; 文書オブジェクトを読み込み、段落やセクションを開き、目的のテキストを取り出すだけで、元のレイアウトを保持したまま翻訳できます。 このような機能は、通常文書処理がワークフローの範囲に含まれる、法律、医療、金融の分野で非常に有用であることが証明されるでしょう。 C#は、Wordファイルからテキストを抽出する非常にスケーラブルで効率的なアプリケーションの開発に間違いなく使用されています。 開発者は、より広範なシステムやアプリケーションと組み合わせることができます。

C#でWordからテキストを抽出する方法;

  1. C#プロジェクトにNuGet経由でIronWordライブラリをインストールしてください。

  2. Wordからテキストを抽出するために、C#ファイルの先頭にIronWordを使用して追加します。

  3. ライセンスキーを設定します。

  4. 既存のWord文書を読み込みます。

  5. 段落メソッドを使用して段落にアクセスします。

  6. foreachループを使用して、段落やテキスト要素をループします。

  7. Consoleでテキストを抽出し、表示します。

IronWordとは何ですか?

IronWordPDF、Word、txtファイルなど、あらゆる種類のファイルを簡単に取得できるようにします。 構造化または非構造化された必要なテキストにすばやく抽出できるよう、正確さとスピードを重視して設計されています。 IronWordは文書分析、データ抽出、コンテンツの自動インデックス作成にも利用されています。

C#でWordからテキストを抽出する方法:図1 - IronWord

アプリケーションとのスムーズな統合を保証するために、利用可能なほぼすべてのファイルタイプをサポートしているため、ビジネスオートメーションや大量の文書処理に最適です。 このように設計されたライブラリのスケーラビリティは、大量のドキュメントを簡単に扱うことを可能にし、特に大量のデータ抽出を行う企業にとっては非常に重要な資産となります。

また、IronWordはC#やその他のプログラミング言語と完全な互換性があるため、文書ワークフローを効率化する最もスムーズな方法を探しているほとんどの開発者や組織のニーズを満たします。

IronWordの特徴

複数のドキュメント形式をサポート

IronWordは幅広い文書形式のファイルを受け付けます。 これには以下が含まれます:

  • PDFs:通常のテキストを含むPDF、フォントが埋め込まれたPDF、ベクターに基づくPDFの両方のテキストを解釈することができます。
  • **Microsoft Wordファイル(DOCX)文書の構造と書式を維持したまま、Wordからテキストを簡単に読み取ります。
  • **テキストファイル(TXTファイル)上記のフォーマットに加えて、IronWordはプレーンテキストファイルの処理、フォーマットされていないシンプルなテキストからのテキスト抽出と処理も可能です。

正確なテキスト抽出

IronWordの抽出エンジンは、ページレイアウトが複雑で、フォントが埋め込まれていたり、画像や表などのコンテンツが混在していても、テキストコンテンツを抽出することができます。ライブラリは保存されます:

  • テキストフォーマット: 太字、斜体、下線、その他テキストに適用されるあらゆる文体。
  • 文書階層: ヘッダー、段落、リストで物事を見通し、読みやすく配置します。

構造化データと非構造化データの処理

IronWordは構造化データと非構造化データの取り扱いに精通しています。 それは抽出されます:

  • 構造化データ: フォームや契約書など、予測可能な書式パターンを含む文書。
  • 非構造化データ:予測不可能なテキストレイアウト、レポート、記事の場合。

    Node.jsは、さまざまなコンテンツを処理できるため、データマイニング、情報検索、分類作業において最も有用なツールの1つであることが証明されています。

大容量のスケーラビリティ

IronWordは、エンタープライズ・アプリケーションに関する優れたスケーラビリティで、大量のドキュメントを難なく処理できるように構築されています。 つまり、たとえば、次のような流れで、膨大な数の文書を効率的に扱うことになります:

  • ドキュメントのバッチ処理: 一度に多くのドキュメントを処理します。
  • 重いファイル:ドキュメントのサイズが巨大である場合、それは崩壊しません。

プログラミング言語とのシームレスな統合

IronWordは開発環境、特にPythonにシームレスに統合することができ、開発者は手間をかけずにワークフローに追加することができます。 これにより、以下のことが可能になります:

  • PythonアプリケーションへのIronWordのインポート: 開発者はPythonスクリプト内で関数を直接使用することができます。
  • 言語間の相互運用性: Pythonの使用において素晴らしいだけでなく、IronWordは他の言語でも同様に素晴らしいため、異なる技術スタック間の言語間変更に最適です。

    このような統合の容易さにより、開発活動に費やされる時間と労力が削減され、インフラストラクチャよりも機能に集中できるようになります。

高いパフォーマンスとスピード

IronWordにはパフォーマンス・チューニングが施されており、大きな文書のテキスト抽出速度が向上しています。 これは、テキストを読み上げるための高速実行を必要とするいくつかのリアルタイムアプリケーションでは非常に重要かもしれません。 ライブラリは以下のことが可能です:

  • マルチスレッドに対応する: これは、同時に実行される操作である抽出プロセスを強化します。
  • **これは、処理時にシステムリソースを最適に使用することで、非常に大きなデータセットに対してもスケールアップできるようにします。

OCRサポート(オプション

ドキュメントには画像が含まれています。 IronWordはOCRテクノロジーと併用することで、次のようなことが可能になります:

  • スキャンされた文書: 画像、スキャンされたPDF、または画像を含む他のフォーマットからテキストを引き出します。
  • 多言語サポート: サポートされている OCR 言語のテキストを認識し、印刷できること。

メタデータの保存

IronWordが抽出するのはテキストだけではありません。 さらに、以下のような文書のメタデータを保持します:

  • ドキュメントのバージョニングや、コンプライアンスやアーカイブ目的で有用なその他の情報。
  • これは、メタデータがコンテンツと同様に重要な役割を果たす文書管理システムで非常に役立ちます。

Visual Studioで新しいプロジェクトを作成

Visual Studioアプリケーションを起動するには、FileメニューからFileを選択します。 新規プロジェクト "を選択したら、"コンソールアプリ "を選択してください。

C#でWordからテキストを抽出する方法:図2 - コンソールアプリ

ファイルを保存する場所を選択した後、指定されたテキストフィールドに.NETプロジェクトの名前を入力します。次に、次の例にあるように、Createボタンをクリックし、必要な.NET Frameworkを選択します。

C# で Word からテキストを抽出する方法:図3 - プロジェクトの構成

Visual Studioプロジェクトの構成は、選択したアプリケーションによって異なります。 アプリケーションを実装または実行し、コードを入力するには、Program.csファイルをご覧ください。コンソール、Windows、オンラインアプリケーションのいずれかを使用することができます。

C#でWordからテキストを抽出する方法:図4 - ターゲットフレームワーク

コードをテストし、ライブラリを追加することができます。

IronWord ライブラリのインストール

Visual Studioツールの活用 ツールメニューからNuGet Package Managerを選択します。 パッケージ管理端末コンソールを表示するには、パッケージマネージャーインタフェースに移動する。

Install-Package Ironword
Install-Package Ironword
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package Ironword
VB   C#

パッケージがダウンロードされインストールされると、進行中のプロジェクトでテキストを抽出するために使用できるようになります。

C#でWordからテキストを抽出する方法:図5 - IronWordのインストール

もうひとつの戦術は、パッケージ・マネージャーを使う方法です。 Visual StudioのNuGet Package Managerオプションを使用して、ソリューションに直接インストールできます。 次の図は、パッケージマネージャへのアクセス方法を示しています。

C#でWordからテキストを抽出する方法:図6 - NuGetパッケージマネージャ

パッケージを見つけるには、NuGetウェブサイトの検索フィールドを使用します。下のスクリーンショットのように、パッケージマネージャを使って "IronWord "を検索するだけです。

C#でWordからテキストを抽出する方法:図7 - IronWordを検索する

添付の図は、関連する検索結果のリストを示しています。 ソフトウェアがコンピュータにインストールできるように、これらの調整をお願いします。

Word文書からのテキスト抽出

IronWordを使って文書からテキストを抽出するには、以下の手順に従ってください。 以下のコード例では、Word文書からテキストを抽出する方法を説明しています。(.docx)C#のIronWordライブラリを使用しています。

using IronWord;
IronWord.License.LicenseKey = "Licence key here";
var docx1 = new WordDocument("D:\\C# Projects\\ConsoleApp\\ConsoleApp\\File\\existing.docx");
var paragrapbobj = docx1.Paragraphs;
for (int i = 0; i < paragrapbobj.Count; i++)
{
    for(int j=0;j< paragrapbobj[i].Texts.Count; j++)
    {
   Console.WriteLine(paragrapbobj[i].Texts[j].Text.ToString());
    }
}
Console.ReadKey();
using IronWord;
IronWord.License.LicenseKey = "Licence key here";
var docx1 = new WordDocument("D:\\C# Projects\\ConsoleApp\\ConsoleApp\\File\\existing.docx");
var paragrapbobj = docx1.Paragraphs;
for (int i = 0; i < paragrapbobj.Count; i++)
{
    for(int j=0;j< paragrapbobj[i].Texts.Count; j++)
    {
   Console.WriteLine(paragrapbobj[i].Texts[j].Text.ToString());
    }
}
Console.ReadKey();
Imports IronWord
IronWord.License.LicenseKey = "Licence key here"
Dim docx1 = New WordDocument("D:\C# Projects\ConsoleApp\ConsoleApp\File\existing.docx")
Dim paragrapbobj = docx1.Paragraphs
For i As Integer = 0 To paragrapbobj.Count - 1
	Dim j As Integer=0
	Do While j< paragrapbobj(i).Texts.Count
   Console.WriteLine(paragrapbobj(i).Texts(j).Text.ToString())
		j += 1
	Loop
Next i
Console.ReadKey()
VB   C#

IronWordのライセンスキーを初期化します。この例では、空の文字列か試用版を設定します。 Wordドキュメントオブジェクトをインスタンス化することで、.docxフォーマットとして既に存在する、そのパスにあるドキュメントを開きます。 新しいドキュメント自体が読み込まれると、コードはDOCXまたはdoc.Paragraphsプロパティを使用して、ファイル内に含まれるすべての段落にアクセスします。

C# で Word からテキストを抽出する方法:図8 - サンプルWord文書

これらの反復プロセスには、ネストされたループを使用します。段落およびそのテキスト要素。 外側のループはすべての段落を回り、内側のループは段落の1つに含まれるテキスト要素にドリフトダウンします。フォーマットが異なる場合は、すべてのテキストを分割して文字列に変換します。 その後、抽出したテキストをコンソールに出力します。

C#でWordからテキストを抽出する方法:図9 - コンソール出力

最後に、Console.ReadKey()を呼び出すと、アプリケーションウィンドウを閉じながらユーザー入力が発生するまでプログラムが中断され、アプリケーションコンソールウィンドウを閉じる前に出力が画面に表示されるようになります。 このように、Word文書の内容を整然と抜き出し、印刷することができます。

結論

IronWordは非常に柔軟で効率的なテキスト抽出ツールであり、事実上どのような文書形式でも使用できますが、Word文書を使用する場合に非常に適しています。 構造化テキスト抽出機能だけでなく、その簡単なAPIは、ドキュメントがその内容を自動的に取得する必要があるときに間違いなく頼りになる、開発者に優しいソリューションです。 このように、IronWordはかなり複雑な文書でも書式を維持することができるため、法的文書処理、企業レベルのコンテンツ管理など、さまざまな用途で非常に役立ちます。したがって、IronWordをワークフローに導入するだけで、文書分析、データ抽出、処理に関連するほとんどの作業がかなり容易になり、大量のテキストを処理する際の生産性と精度の向上に役立ちます。

IronWordの初回価格は599ドルです。また、技術サポートとソフトウェア・アップデートと引き換えに、1年分のサブスクリプション料金をお支払いいただくことも可能です。 IronWordは無償配布を禁止する有料版です。 ライセンスを参照してください。ページ価格の詳細については、IronWordまでお問い合わせください。 Iron Softwareの他の製品については、以下をご覧ください。製品ページ.

< 以前
C#でWordファイルに透かしを追加する方法
次へ >
C#を使用してテンプレートからWordドキュメントを作成する方法

準備はできましたか? バージョン: 2024.12 新発売

無料のNuGetダウンロード 総ダウンロード数: 7,878 ライセンスを表示 >