C#を利用してWord文書のテキストを読み取る方法

今回の文章でC#を使用してWord文書のテキストを読み取る方法を紹介しようと思います。Free Spire.Docは、Word文書のテキストを読み取るについて、二つの方法を提供しています。一つは、ドキュメント内のすべてのテキストコンテンツを直接取得すること、もう一つは、ドキュメント内のセクションと段落をトラバースしてから、段落内のテキストを取得すること。これからはこの2種の方法を詳しく紹介します。

Wordドキュメントのスクリーンショット:

f:id:uha_noki:20211021174956p:plain

次のコードを使用する前に、Visual StudioでC#アプリケーションを作成してから、Spire.Doc.dllをプログラムに参照する必要があります。

方法一:直接ドキュメント内のすべてのテキストを取得

using Spire.Doc;

using System.IO;

namespace WordText

{

    class Program

    {

        static void Main(string args)

        {

            //Wordドキュメントをロードする

            Document doc = new Document();

            doc.LoadFromFile("Input.docx");

            //GetTextメソッドを使用してドキュメント内の全てのテキストを取得する

            string s = doc.GetText();

            File.WriteAllText("text1.txt", s.ToString());

        }

    }

}

効果は以下のようになります:

f:id:uha_noki:20211021175105p:plain

方法二:段落をトラバースしてテキストを取得する

using Spire.Doc;

using Spire.Doc.Documents;

using System.IO;

using System.Text;

namespace WordText

{

    class Program

    {

        static void Main(string args)

        {

            //Wordドキュメントをロードする

            Document document = new Document();

            document.LoadFromFile(@"テキストドキュメント.docx");

            StringBuilder sb = new StringBuilder();

            //ドキュメント内のセクションと段落をトラバースしてから、段落内のテキストを取得する

            foreach (Section section in document.Sections)

            {

                foreach (Paragraph paragraph in section.Paragraphs)

                {

                    sb.AppendLine(paragraph.Text);

                }

            }

            File.WriteAllText("text2.txt", sb.ToString());

        }

    }

}

効果は以下のようになります:

f:id:uha_noki:20211021175123p:plain

結論:

これら2つの方法は結果として似ていますが、最初の方法はより単純です。1番目の方法はドキュメントのコンテンツを一度に取得できますけど、2番目の方法はドキュメントの指定されたセクションまたは段落のテキストを取得できるのでより柔軟性があります。とにかく実際の必要に応じて適切な方法を選択してください。それでは文章が終わります、読んでいただき、ありがとうございます!