统计 word 文档中的字数、字符数、段落数、行数和页数是分析文本内容的重要指标。字数指单词总量;字符数包括字母、数字及标点;段落数反映文本结构;行数显示文本密度;页数则关联打印布局。在本文中,我们将演示如何使用 spire. doc for .net 在 c# 中统计 word 文档中的字数、字符数、段落数、行数和页数。
安装 spire.doc for .net
首先,您需要将 spire.doc for.net 包含的 dll 文件作为引用添加到您的 .net 项目中。dll 文件可以从此链接下载,也可以通过 安装。
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 天的临时许可证。