IRONSOFTWAREHOME
IRONWORDの使用方法

3つのC#ワードライブラリ(開発者向けの更新されたリスト)

Curtis Chau
Curtis Chau
Updated: 2026年5月8日

Microsoft Word ドキュメントは、フォント、スタイル、さまざまな要素などのリッチな書式設定を含むことが多く、それによって視覚的な魅力が増します。 IronWord は、Iron Software による強力なライブラリで、直感的な C# および VB.NET の Word や Docx ドキュメント API を備えています。 Microsoft Office や Word Interop をインストールする必要はなく、Word ドキュメントの作成、編集、エクスポートが可能です。 IronWord は .NET 8、7、6、Framework、Core、Azure を完全にサポートしています。 これは、ライブラリがマシンにインストールされた Word を必要とせず、ファイルを独立して読み取ることを意味します。 C# を使用していて、書式設定を保持しながら Word ドキュメントを読み取る必要がある場合、このチュートリアルでは IronWord ライブラリを使用してプロセスを案内します。

C#で書式付きのWordドキュメントを読む方法

  1. Word ドキュメントを読むために IronWord ライブラリをインストールします。
  2. "sample.docx"、入力WordドキュメントをIronWordライブラリのWordDocumentクラスを使用して読み込みます。
  3. 読み込んだ Word ドキュメントを使用して、書式設定された段落を読み取ります。
  4. 抽出したデータを書式情報と共にコンソール出力に表示します。

前提条件

  1. Visual Studio: Visual Studio または他の C# 開発環境がインストールされていることを確認します。
  2. NuGet パッケージ マネージャー: プロジェクトでパッケージを管理できるように NuGet が使用できることを確認します。

ステップ1:新しいC#プロジェクトを作成する

Word ドキュメントを読みたい場合は、新しい C# コンソールアプリケーションを作成するか、既存のプロジェクトを利用します。

コンソールアプリケーション テンプレートを選択し、次へをクリックします。

C#でフォーマットされたWordドキュメントを読む方法: 図1 - 新しいC#プロジェクトの作成

'次へ' ボタンをクリックして、ソリューション名、プロジェクト名、コードのパスを指定します。

C#でフォーマットされたWordドキュメントを読む方法: 図2 - 新しいプロジェクトの設定

その後、希望する .NET バージョンを選択します。 ベスト プラクティスは常に最新のバージョンを選択することですが、プロジェクトに特定の要件がある場合は必要な .NET バージョンを使用してください。

C#でフォーマットされたWordドキュメントを読む方法: 図3 - 必要な.NETバージョンのタイプを選択

ステップ 2: IronWord ライブラリのインストール

C# プロジェクトを開き、NuGet パッケージ マネージャー コンソールを使用して IronWord ライブラリをインストールします。

PM > Install-Package IronWord

NuGet パッケージは、以下に示すように Visual Studio の NuGet パッケージ マネージャーを使用してインストールすることもできます。

C#でフォーマットされたWordドキュメントを読む方法: 図4 - NuGetパッケージマネージャーを通じてIronWordをインストール

ステップ 3: 書式設定を保持して Word ドキュメントを読み取る

Word ファイルを読み取るには、まず新しいドキュメントを作成し、次のようにいくつかのコンテンツを追加する必要があります。

C#でフォーマットされたWordドキュメントを読む方法: 図5 - 作成されたサンプルドキュメント

ファイルをプロジェクトディレクトリに保存し、出力ディレクトリにコピーするようにファイルのプロパティを変更します。

C#でフォーマットされたWordドキュメントを読む方法: 図6 - ファイルのプロパティは次のように見えるべきです

次に、以下のコードスニペットをprogram.csファイルに追加します。

using IronWord;

class Program
{
    static void Main()
    {
        try
        {
            // Load existing docx
            var sampleDoc = new WordDocument("sample.docx");
            var paragraphs = sampleDoc.Paragraphs;

            // Iterate through each paragraph in the Word document
            foreach (var paragraph in paragraphs)
            {
                var textRun = paragraph.FirstTextRun;
                var text = textRun.Text; // Read text content

                // Extract Formatting details if available
                if (textRun.Style != null)
                {
                    var fontSize = textRun.Style.FontSize; // Font size
                    var isBold = textRun.Style.IsBold;
                    Console.WriteLine($"\tText: {text}, FontSize: {fontSize}, Bold: {isBold}");
                }
                else
                {
                    // Print text without formatting details
                    Console.WriteLine($"\tText: {text}");
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}

上記のコードは、IronWordライブラリクラスのWordDocumentコンストラクタメソッドを使用してWordドキュメントを読み込みます。

出力

C#でフォーマットされたWordドキュメントを読む方法: 図7 - 前のコードからのコンソール出力

説明

  1. Wordドキュメントを開く: IronWordからWordDocumentを使用してWordドキュメントを読み込みます。 2.**段落とランを反復処理する:**ネストされたループを使用して、段落とランを反復処理します。 ランは特定の書式設定がされたテキスト部分を表します。 3.**テキストと書式設定の抽出:**各実行からテキストコンテンツを抽出し、書式設定プロパティを確認します。 この例では、フォントサイズと太字の書式設定を抽出する方法をデモンストレーションします。 4.例外処理: try-and-catch ブロックを使用して、例外を処理し、出力します。

読み込まれたファイルは印刷ドキュメントに使用でき、スタイルオブジェクトでフォントカラーも変更できます。

Word ファイルからテーブルを読む

Word ドキュメントからテーブルを読むこともできます。 以下のコードスニペットをプログラムに追加します。

using IronWord;

class Program
{
    static void Main()
    {
        try
        {
            // Load existing docx
            var sampleDoc = new WordDocument("sample.docx");

            // Read Tables
            var tables = sampleDoc.Tables;
            foreach (var table in tables)
            {
                var rows = table.Rows;
                foreach (var row in rows)
                {
                    foreach (var cell in row.Cells)
                    {
                        var contents = cell.Contents;
                        contents.ForEach(x => Console.WriteLine(x));
                        // Print cell contents
                    }                    
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}

ここでは、文書内のすべてのテーブルを取得し、それを繰り返し処理して内容を印刷するために、Tablesプロパティを使用しています。

既存のテキストにスタイルを追加する

以下のコードスニペットに示すように、IronWord ライブラリを使用して既存の Word ドキュメントに新しいスタイル情報を追加できます。

using IronWord;
using IronWord.Models;

class Program
{
    static void Main()
    {
        try
        {
            // Load existing docx
            var sampleDoc = new WordDocument("sample.docx");
            var paragraphs = sampleDoc.Paragraphs;

            // Iterate through paragraphs
            foreach (var paragraph in paragraphs)
            {
                var textRun = paragraph.FirstTextRun;
                var text = textRun.Text; // Read text content

                // Extract Formatting details if available
                if (textRun.Style != null)
                {
                    var fontSize = textRun.Style.FontSize; // Font size
                    var isBold = textRun.Style.IsBold;
                    Console.WriteLine($"\tText: {text}, FontSize: {fontSize}, Bold: {isBold}");
                }
                else
                {
                    // Print text without formatting details
                    Console.WriteLine($"\tText: {text}");
                }
            }

            // Change the formatting of the text
            var style = new TextStyle()
            {
                FontFamily = "Caveat",
                FontSize = 72,
                TextColor = new IronColor(System.Drawing.Color.Blue), // Blue color
                IsBold = true,
                IsItalic = true,
                IsUnderline = true,
                IsSuperscript = false,
                IsStrikethrough = true,
                IsSubscript = false
            };
            paragraphs[1].FirstTextRun.Style = style;

            // Save the document with the new style applied
            sampleDoc.SaveAs("sample2.docx");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}

ここでは、TextStyleを作成し、それを既存の段落オブジェクトに追加しています。

Word ドキュメントに新しいスタイル付きコンテンツを追加する

以下のコードスニペットに示すように、ロードされた Word ドキュメントに新しいコンテンツを追加できます。

using IronWord;
using IronWord.Models;

class Program
{
    static void Main()
    {
        try
        {
            // Load Word Document
            var sampleDoc = new WordDocument("sample.docx");
            var paragraphs = sampleDoc.Paragraphs;

            // Iterate through paragraphs
            foreach (var paragraph in paragraphs)
            {
                var textRun = paragraph.FirstTextRun;
                var text = textRun.Text; // Read text content

                // Extract the formatting details if available
                if (textRun.Style != null)
                {
                    var fontSize = textRun.Style.FontSize; // Font size
                    var isBold = textRun.Style.IsBold;
                    Console.WriteLine($"\tText: {text}, FontSize: {fontSize}, Bold: {isBold}");
                }
                else
                {
                    // Print text without formatting details
                    Console.WriteLine($"\tText: {text}");
                }
            }

            // Add TextRun with Style to Paragraph
            TextRun blueTextRun = new TextRun();
            blueTextRun.Text = "Add text using IronWord";
            blueTextRun.Style = new TextStyle()
            {
                FontFamily = "Caveat",
                FontSize = 72,
                TextColor = new IronColor(System.Drawing.Color.Blue), // Blue color
                IsBold = true,
                IsItalic = true,
                IsUnderline = true,
                IsSuperscript = false,
                IsStrikethrough = true,
                IsSubscript = false
            };
            paragraphs[1].AddTextRun(blueTextRun);

            // Add New Content to the Word file and save
            Paragraph newParagraph = new Paragraph();
            TextRun newTextRun = new TextRun("New Add Information");
            newParagraph.AddTextRun(newTextRun);

            // Configure the text with different styles
            TextRun introText = new TextRun("This is an example paragraph with italic and bold styling.");
            TextStyle italicStyle = new TextStyle()
            {
                IsItalic = true
            };
            TextRun italicText = new TextRun("Italic example sentence.", italicStyle);
            TextStyle boldStyle = new TextStyle()
            {
                IsBold = true
            };
            TextRun boldText = new TextRun("Bold example sentence.", boldStyle);

            // Add the styled text to the paragraph
            newParagraph.AddTextRun(introText);
            newParagraph.AddTextRun(italicText);
            newParagraph.AddTextRun(boldText);

            // Save the modified document
            sampleDoc.SaveAs("sample2.docx");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}

ここでは、スタイル情報を持つ新しいParagraphオブジェクトを作成し、それらを読み込んだWordドキュメントに追加しています。

ライセンス (無料トライアル利用可能)

IronWord 無料トライアルライセンスキーを取得。 このキーはappsettings.jsonに配置する必要があります。

{
    "IronWord.LicenseKey": "IRONWORD.MYLICENSE.KEY.TRIAL"
}
JSON

トライアルライセンスを取得するには、メールアドレスを提供してください。 メール ID を送信すると、キーがメールで届きます。

C#でフォーマットされたWordドキュメントを読む方法: 図8 - トライアルフォームの送信に成功しました

結論

IronWord は、C# で書式付きの Word ドキュメントを読むための便利な方法を提供します。 特定の要件や作業しているドキュメントの複雑さに基づいて、提供されたコードを拡張してください。 このチュートリアルは、C# アプリケーションに IronWord を統合して Word ドキュメントを処理する際の出発点として役立ちます。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

...
詳しく読む

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。