0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

C# コードを使用して、Word 文書の単語数、文字数、段落数、行数、およびページ数をカウントする

0
Posted at

正確な単語数、文字数、段落数、行数、ページ数の把握は、文書の精密な分析を行う上で非常に重要です。これらの指標を丁寧に追跡することで、執筆者は文章の長さや構造、全体的な構成について有益な洞察を得ることができます。

本記事では、Spire.Doc for .NET を使用して、C# で Word 文書の単語数、文字数、段落数、行数、ページ数をカウントする方法について解説します。

Spire.Doc for .NET のインストール

まず、.NET プロジェクトに Spire.Doc for .NET パッケージに含まれる DLL ファイルを参照として追加する必要があります。これらの DLL ファイルは、指定のリンクからダウンロードするか、NuGet を通じてインストールすることが可能です。

PM> Install-Package Spire.Doc

C# で Word 文書の単語数、文字数、段落数、行数、ページ数をカウントする方法

Spire.Doc for .NET では、BuiltinDocumentProperties クラスを使って Word 文書の重要な情報を取得できます。このクラスを利用することで、組み込みプロパティやカスタムプロパティに加え、文書内の単語数、文字数、段落数、行数、ページ数を正確に取得することが可能です。手順は以下の通りです。

  1. Document クラスのオブジェクトを初期化する
  2. Document.LoadFromFile() メソッドを使用して、サンプルの Word 文書を読み込む
  3. Document.BuiltinDocumentProperties プロパティを使って、BuiltinDocumentProperties オブジェクトを取得する
  4. BuiltinDocumentProperties クラスの WordCount、CharCount、ParagraphCount、LinesCount、PageCount プロパティを使い、文書内の単語数、文字数、段落数、行数、ページ数を取得する
  5. StringBuilder クラスのオブジェクトを初期化し、StringBuilder.AppendLine() メソッドで結果を追加する
    File.WriteAllText() メソッドを使用して、StringBuilder の内容をテキストファイルに書き込む

サンプルコードは以下の通りです:

using Spire.Doc;
using System.IO;
using System.Text;

namespace CountWordsCharactersEtcInWord
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Document クラスのオブジェクトを初期化
            Document document = new Document();
            // サンプルの Word 文書を読み込む
            document.LoadFromFile("Input.docx");

            // BuiltinDocumentProperties オブジェクトを取得
            BuiltinDocumentProperties properties = document.BuiltinDocumentProperties;

            // 文書内の単語数、文字数、段落数、行数、ページ数を取得
            int wordCount = properties.WordCount;
            int charCount = properties.CharCount;
            int paraCount = properties.ParagraphCount;
            int lineCount = properties.LinesCount;
            int pageCount = properties.PageCount;

            // StringBuilder クラスのオブジェクトを初期化
            StringBuilder sb = new StringBuilder();
            // 結果を StringBuilder に追加
            sb.AppendLine("単語数: " + wordCount);
            sb.AppendLine("文字数: " + charCount);
            sb.AppendLine("段落数: " + paraCount);
            sb.AppendLine("行数: " + lineCount);
            sb.AppendLine("ページ数: " + pageCount);

            // StringBuilder の内容をテキストファイルに書き込む
            File.WriteAllText("result.txt", sb.ToString());
            document.Close();
        }
    }
}

C# で Word 文書の特定の段落の単語数と文字数をカウントする方法

Spire.Doc for .NET では、文書全体の単語数や文字数をカウントするだけでなく、Paragraph.WordCount および Paragraph.CharCount プロパティを使って、特定の段落の単語数や文字数を取得することも可能です。手順は以下の通りです。

  1. Document クラスのオブジェクトを初期化する
  2. Document.LoadFromFile() メソッドを使ってサンプルの Word 文書を読み込む
  3. Document.Sections[sectionIndex].Paragraphs[paragraphIndex] プロパティを使用して特定の段落を取得する
  4. Paragraph.WordCount および Paragraph.CharCount プロパティで段落内の単語数と文字数を取得する
  5. StringBuilder クラスのオブジェクトを初期化し、StringBuilder.AppendLine() メソッドで結果を追加する
  6. File.WriteAllText() メソッドを使って、StringBuilder の内容をテキストファイルに書き込む

サンプルコードは以下の通りです:

using Spire.Doc;
using Spire.Doc.Documents;
using System.IO;
using System.Text;

namespace CountWordsAndCharactersForParagraph
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Document クラスのオブジェクトを初期化
            Document document = new Document();
            // サンプルの Word 文書を読み込む
            document.LoadFromFile("Input.docx");

            // 特定の段落を取得
            Paragraph paragraph = document.Sections[0].Paragraphs[0];

            // 段落内の単語数と文字数を取得
            int wordCount = paragraph.WordCount;
            int charCount = paragraph.CharCount;

            // StringBuilder クラスのオブジェクトを初期化
            StringBuilder sb = new StringBuilder();
            // 結果を StringBuilder に追加
            sb.AppendLine("単語数: " + wordCount);
            sb.AppendLine("文字数: " + charCount);

            // StringBuilder の内容をテキストファイルに書き込む
            File.WriteAllText("result.txt", sb.ToString());
            document.Close();
        }
    }
}

一時ライセンスの申請

生成された文書の評価メッセージを削除したり、機能制限を解除したりしたい場合は、30日間の試用ライセンスを申請してください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?