Python 批量统计 PDF 页数并打包为独立 exe 工具

Elena
Elena
发布时间:2026-10-11 | 3人浏览过
原创

本文介绍如何使用 Python 编写一个批量统计文件夹内所有 PDF 文件页数的工具,并通过 PyInstaller 将其打包为无需安装 Python 环境的独立 exe 可执行文件。

环境准备与依赖安装

在开始编写代码之前,需要确保 Python 环境中已安装两个核心库:PyPDF2 用于解析 PDF 文件并提取页数信息,pyinstaller 用于将 Python 脚本打包为可执行文件。可以通过以下命令进行安装:

pip install PyPDF2
pip install pyinstaller

核心代码实现

该工具的核心逻辑分为两部分:一是遍历指定文件夹下的所有 PDF 文件,二是读取每个文件的页数并累加。以下是完整的 Python 代码实现:

import os
import PyPDF2

# 获取文件夹内所有pdf文件,以及打印文件数量
def GetFileInfo(path, fileType=()): 
    fileList = []
    # root 表示当前正在访问的文件夹路径
    # dirs 是 list , 表示该文件夹中所有的目录的名字(不包括子目录)
    # files 是 list , 表示内容是该文件夹中所有的文件(不包括子目录)
    #(每遍历一次相当于进入下级子目录)
    for root, dirs, files in os.walk(path):
        for name in files :
            fname = os.path.join(root, name)
            if fname.endswith(fileType):
                fileList.append(fname)
    print("总共有%d个PDF文件"%fileList.__len__())
    return fileList

def compute_pdfpage(path):
    TotalPageNum = 0
    fileType = ("PDF","pdf")
    fileList = GetFileInfo(path=path, fileType=fileType)
    for pdf in fileList:
        try:
            reader = PyPDF2.PdfFileReader(pdf)
            #获取单个文件页数
            pageNum = reader.getNumPages()
            TotalPageNum += pageNum
        except Exception as e:
            print("-"*70)
            print(pdf + "该文件出现异常,可能是权限问题")
            print(e)
            print("-"*70)
    return TotalPageNum

if __name__ == '__main__':
    while True:
        path=input('请输入要检测的文件夹路径:\n')
        TotalPageNum = compute_pdfpage(path)
        print("总共%d页"%TotalPageNum)

代码逻辑说明

程序通过 os.walk() 递归遍历目标文件夹,筛选出后缀为 .pdf 或 .PDF 的文件。随后,利用 PyPDF2.PdfFileReader 读取每个文件,并通过 getNumPages() 方法获取页数。如果读取过程中发生异常(如文件损坏或权限不足),程序会捕获异常并打印错误信息,继续处理下一个文件。最后,程序在主循环中接收用户输入的文件夹路径,计算并输出总页数。

打包为可执行文件 (exe)

为了让没有安装 Python 环境的用户也能使用该工具,可以使用 pyinstaller 将 Python 脚本打包为独立的 .exe 文件。在包含 Python 源文件的目录下,打开命令行终端(CMD),并执行以下命令:

pyinstaller -F 检测文件夹内所有pdf的小工具.py

执行该命令后,pyinstaller 会自动分析脚本的依赖关系,并将所有必要的库打包在一起。打包完成后,生成的可执行文件位于项目目录下的 dist 文件夹中。

总结

通过上述步骤,我们成功创建了一个能够批量统计 PDF 文件页数的 Python 工具,并将其打包为独立的 .exe 可执行文件。该方法不仅简化了 PDF 页数统计的操作流程,还提高了工具的便携性和易用性。以上就是使用 Python 统计文件夹内所有 pdf 页数的小工具的详细内容,更多关于 Python 实用工具开发、PyPDF2 库使用及 PyInstaller 打包技巧的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表