统计 Word 文档中的字数、字符数、段落数、行数和页数是分析文本内容的重要指标。字数指单词总量;字符数包括字母、数字及标点;段落数反映文本结构;行数显示文本密度;页数则关联打印布局。在本文中,我们将演示如何使用 Spire. Doc for .NET 在 C# 中统计 Word 文档中的字数、字符数、段落数、行数和页数。
安装 Spire.Doc for .NET
首先,您需要将 Spire.Doc for.NET 包含的 DLL 文件作为引用添加到您的 .NET 项目中。DLL 文件可以从此链接下载,也可以通过 NuGet 安装。
PM> Install-Package Spire.Doc
统计 Word 文档中字数、字符数、段落数、行数和页数
Spire.Doc for .NET 提供了 BuiltinDocumentProperties 类,使您能够从 Word 文档中检索重要信息。通过使用此类,您可以获取文档的内置和自定义属性,包括文档的字数、字符数、段落数、行数和页数的精确计数。具体步骤如下。
- 创建 Document 对象来加载 Word 文件。
- 使用 Document.LoadFromFile() 方法来加载源文档。
- 通过 Document.BuiltinDocumentProperties 方法获取 BuiltinDocumentProperties 对象。
- 通过 BuiltinDocumentProperties.WordCount 来获取文档的字数。
- 通过 BuiltinDocumentProperties.CharCount 来获取文档的不包含空格的字符数。
- 通过 BuiltinDocumentProperties.CharCountWithSpace 来获取文档的包含空格的字符数。
- 通过 BuiltinDocumentProperties.ParagraphCount 来获取文档的段落数。
- 通过 BuiltinDocumentProperties.LinesCount 来获取文档的行数。
- 通过 BuiltinDocumentProperties.PageCount 来获取文档的页数。
- 通过 StringBuilder 对象和 File 类将获取到上述信息保存到本地 TXT 文档中。
- C#
using Spire.Doc;
using System.IO;
using System.Text;
namespace CountWordsCharactersEtcInWord
{
internal class Program
{
static void Main(string[] args)
{
// 创建一个Document对象,用于操作Word文档
Document document = new Document();
// 从指定路径加载一个Word文档
document.LoadFromFile(@"Input.docx");
// 获取BuiltinDocumentProperties对象
BuiltinDocumentProperties properties = document.BuiltinDocumentProperties;
// 获取文档中的字数
int wordCount = properties.WordCount;
// 获取文档中的字符数(不包括空格)
int charCount = properties.CharCount;
// 获取文档中的字符数(包括空格)
int charCountWithSpace = properties.CharCountWithSpace;
// 获取文档中的段落数
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("字符数(计空格): " + charCountWithSpace);
sb.AppendLine("段落数: " + paraCount);
sb.AppendLine("行数: " + lineCount);
sb.AppendLine("页数: " + pageCount);
// 将统计结果写入到指定的文本文件中
File.WriteAllText(@"result.txt", sb.ToString());
// 关闭文档对象,释放资源
document.Close();
}
}
}
统计 Word 文档中指定段落中的字数和字符数
除了统计整个 Word 文档中的字数和字符数外,Spire.Doc for .NET 还允许您使用 Paragraph.WordCount 和 Paragraph.CharCount 属性来统计特定段落的字数和字符数。具体步骤如下:
- 创建一个 Document 对象来加载 Word 文件。
- 使用 Document.LoadFromFile() 方法来加载源文档。
- 使用 Document.Section[Index].Paragraphs[Index] 获取指定段落。
- 通过 Paragraph.WordCount 获取当前段落的字数。
- 通过 Paragraph.CharCount 获取当前段落不包含空格的字符数。
- 通过 Paragraph.CharCountIncludeSpace 获取当前段落包含空格的字符数。
- 通过 StringBuilder 对象和 File 类将获取到上述信息保存到本地 TXT 文档中。
- C#
using Spire.Doc.Documents;
using Spire.Doc;
using System.Text;
using System.IO;
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[1];
// 计算段落中的单词数量
int wordCount = paragraph.WordCount;
// 计算段落中的字符数量(不包括空格)
int charCount = paragraph.CharCount;
// 计算段落中的字符数量(包括空格)
int chartIncludeSpace = paragraph.CharCountIncludeSpace;
// 创建一个StringBuilder对象
StringBuilder sb = new StringBuilder();
// 将单词数量添加到StringBuilder中
sb.AppendLine("字数: " + wordCount);
// 将字符数量(不计空格)添加到StringBuilder中
sb.AppendLine("字符数(不计空格): " + charCount);
// 将字符数量(计空格)添加到StringBuilder中
sb.AppendLine("字符数(计空格): " + chartIncludeSpace);
// 将StringBuilder写入到指定的文件中
File.WriteAllText(@"Pararesult.txt", sb.ToString());
// 关闭文档对象
document.Close();
}
}
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。