正確な単語数、文字数、段落数、行数、ページ数の把握は、文書の精密な分析を行う上で非常に重要です。これらの指標を丁寧に追跡することで、執筆者は文章の長さや構造、全体的な構成について有益な洞察を得ることができます。
本記事では、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 文書の重要な情報を取得できます。このクラスを利用することで、組み込みプロパティやカスタムプロパティに加え、文書内の単語数、文字数、段落数、行数、ページ数を正確に取得することが可能です。手順は以下の通りです。
- Document クラスのオブジェクトを初期化する
- Document.LoadFromFile() メソッドを使用して、サンプルの Word 文書を読み込む
- Document.BuiltinDocumentProperties プロパティを使って、BuiltinDocumentProperties オブジェクトを取得する
- BuiltinDocumentProperties クラスの WordCount、CharCount、ParagraphCount、LinesCount、PageCount プロパティを使い、文書内の単語数、文字数、段落数、行数、ページ数を取得する
- 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 プロパティを使って、特定の段落の単語数や文字数を取得することも可能です。手順は以下の通りです。
- Document クラスのオブジェクトを初期化する
- Document.LoadFromFile() メソッドを使ってサンプルの Word 文書を読み込む
- Document.Sections[sectionIndex].Paragraphs[paragraphIndex] プロパティを使用して特定の段落を取得する
- Paragraph.WordCount および Paragraph.CharCount プロパティで段落内の単語数と文字数を取得する
- StringBuilder クラスのオブジェクトを初期化し、StringBuilder.AppendLine() メソッドで結果を追加する
- 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日間の試用ライセンスを申請してください。