IRONWORDの使用

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

イントロダクション

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

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

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

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

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

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

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

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

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

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

IronWordとは何ですか?

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

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

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

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

IronWordの特徴

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

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

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

正確なテキスト抽出

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

  • テキストのフォーマット: 太字、イタリック体、下線、およびテキストに適用されるその他のスタイル的な側面。
  • ドキュメント階層: ヘッダー、段落、およびリストを使用して、視点と読みやすさを整えます。

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

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

  • 構造化データ: フォームや契約書のように、フォーマットに予測可能なパターンが含まれる文書。
  • 非構造化データ: 予測できないテキストのレイアウト、レポート、または記事の場合。

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

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

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

  • ドキュメントのバッチ処理: これは複数のドキュメントを一度に処理することです。
  • 大容量のファイル: ドキュメントのサイズが非常に大きくても劣化しません。

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

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

  • PythonアプリケーションへのIronWordのインポート: 開発者はPythonスクリプト内で関数を直接使用でき、スムーズに実行できます。
  • クロスランゲージ相互運用性: IronWord は Python の使用において優れているだけでなく、他の言語においても同様に素晴らしいため、異なるテクノロジースタック間での優れたインタランゲージチェンジです。

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

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

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
$vbLabelText   $csharpLabel

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

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

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

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

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

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

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

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

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

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()
$vbLabelText   $csharpLabel

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の他の製品については、製品ページをご覧ください。

リーガン・パン
ソフトウェアエンジニア
レーガンはリーディング大学で電子工学の学士号を取得しました。Iron Softwareに入社する前の仕事では、一つのタスクに集中して取り組んでいました。Iron Softwareでは、営業、技術サポート、製品開発、マーケティングのいずれにおいても広範な業務に携わることが最も楽しいと感じています。彼は、Iron Softwareライブラリを開発者がどのように使用しているかを理解し、その知識を使ってドキュメントを継続的に改善し、製品を開発することを楽しんでいます。
< 以前
C#でWordファイルに透かしを追加する方法
次へ >
C#を使用してテンプレートからWordドキュメントを作成する方法