计算 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



















