计算 Word 文档的页数、字数等信息是出版、学术和内容管理等领域的一项基本任务。准确的页数和字数对于评估文档长度、估算印刷成本、分析文本复杂性以及确保符合格式化指南至关重要。逐个预览文档查看相关信息是非常麻烦的事情,我们可以在不预览文档的情况下,用Python实现快速批量地获取文档中的页数、字数、段落数、节数、词数等关键信息,实现文档的高效管理,简化相关任务流程。
文章目录
- 获取Word文档页数、字数、字符数、段落数以及带空格的字符数
- 用Python计算Word文档节的数量
本文所使用的方法需要用到Spire.Doc for Python,可从官网获取通过PyPI:pip install Spire.Doc
。
获取Word文档页数、字数、字符数、段落数以及带空格的字符数
API中提供的 Document.BuiltinDocumentProperties 属性可以获取文档中的一些内置属性,如页数、词数、字符数等信息。以下是操作步骤:
- 导入所需库:
spire.doc
和spire.doc.common
用于处理 Word 文档,os
用于操作系统文件及目录操作。 - 定义待遍历的文件夹路径。
- 创建
Document
类的一个实例doc
,用于加载和操作 Word 文档。 - 使用
os.walk()
遍历指定文件夹及其子文件夹中的所有文件。 - 对于遍历到的每个文件:
- 检查文件扩展名是否为
.doc
或.docx
,若是则表示为 Word 文档。 - 使用
os.path.join()
组合完整文件路径,并使用doc.LoadFromFile()
方法加载该 Word 文档。 - 调用
doc.UpdateWordCount()
更新文档的字数统计信息,确保统计数据准确。 - 获取文档的内置属性,存储在
builtinProperties
变量中。 - 从内置属性中分别提取文档的页数(
PageCount
)、段落数(ParagraphCount
)、字符数(CharCount
)、包含空格的字符数(CharCountWithSpace
)和字数(WordCount
)。 - 将这些统计信息与对应的文件名一起打印出来。
- 检查文件扩展名是否为
- 在遍历并处理完所有 Word 文档后,调用
doc.Close()
关闭文档,释放资源。
代码示例
from spire.doc import *
from spire.doc.common import *
import os# 定义文件夹路径
folderPath = "Documents"# 创建Document实例
doc = Document()# 遍历文件夹中的文档
for root, dirs, files in os.walk(folderPath):for file in files:# 判断文件是否为Word文档if file.endswith(('.doc', '.docx')):# 载入Word文档doc.LoadFromFile(os.path.join(root, file))# 更新字数统计(确保字数统计是最新的)doc.UpdateWordCount()# 获取文档内置属性builtinProperties = doc.BuiltinDocumentProperties# 获取页数pageCount = builtinProperties.PageCount# 获取段落数paragraphCount = builtinProperties.ParagraphCount# 获取字符数charCount = builtinProperties.CharCount# 获取包含空格的字符数charCountWithSpaces = builtinProperties.CharCountWithSpace# 获取字数wordCount = builtinProperties.WordCount# 输出结果print(f"文档——{file} 页数为:", pageCount)print(f"文档——{file} 段落数为:", paragraphCount)print(f"文档——{file} 字符数为:", charCount)print(f"文档——{file} 包含空格的字符数为:", charCountWithSpaces)print(f"文档——{file} 字数为:", wordCount)
doc.Close()
输出结果
用Python计算Word文档节的数量
节的计数不被统计在内置属性中,但我们可以直接使用 Document.Sections.Count 属性计算节的数量。以下是操作步骤:
- 导入所需模块:
spire.doc
和spire.doc.common
用于处理 Word 文档,os
用于操作系统文件及目录操作。 - 定义待遍历的文件夹路径。
- 创建
Document
类的实例doc
,用于加载和操作 Word 文档。 - 使用
os.walk()
遍历指定文件夹及其子文件夹中的所有文件。 - 对于遍历到的每个文件:
- 检查文件扩展名是否为
.doc
或.docx
,如果是,则表示为 Word 文档。 - 使用
os.path.join()
组合得到文件的完整路径,并使用doc.LoadFromFile()
方法加载该 Word 文档。 - 从文档对象
doc
中获取文档中节(section)的数量,存储在变量sectionCount
中。 - 将文档名和节的数量一同打印出来,展示文档内部的结构信息。
- 检查文件扩展名是否为
- 在遍历并处理完所有匹配的 Word 文档后,调用
doc.Close()
方法关闭文档,释放资源。
代码示例
from spire.doc import *
from spire.doc.common import *
import os# 定义文件夹路径
folderPath = "Documents"# 创建Document实例
doc = Document()# 遍历文件夹中的文件
for root, dirs, files in os.walk(folderPath):for file in files:# 判断文件是否为Word文档if file.endswith(('.doc', '.docx')):# 载入Word文档doc.LoadFromFile(os.path.join(root, file))# 获取文档中节的数量sectionCount = doc.Sections.Count# 输出结果print(f"文档——", file, " 节数为:", sectionCount)
doc.Close()
输出结果
本文介绍了如何使用Python获取Word文档页数、字数、字符数、段落数、节数以及带空格的字符数。
更多Spire.Doc for Python教程
申请免费License