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

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

本文介绍如何使用 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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。