代码功能概述
这段Python代码实现了一个图形化界面(GUI)应用程序,用于批量删除PDF文件中的指定页面。用户可以选择包含PDF文件的文件夹,并通过不同的选项指定要删除的页面,程序会在输入文件夹下创建一个processed_file文件夹,并将处理后的PDF文件保存在与原文件相同的子文件夹结构中。同时,程序会记录操作日志,显示成功或失败的信息。
用户操作步骤
- 选择输入文件夹:点击“选择文件夹”按钮,选择包含PDF文件的文件夹路径,路径会显示在输入框中。
- 选择删除页面的方式:
- 指定页面:选择“指定页面,多个页面使用空格隔开”,在对应的输入框中输入要删除的页面编号(用空格分隔)。
- 删除前几页:选择“删除前几页”,在对应的输入框中输入要删除的前几页的数量。
- 删除最后几页:选择“删除最后几页”,在对应的输入框中输入要删除的最后几页的数量。
- 运行程序:点击“运行程序”按钮,程序开始处理PDF文件,删除指定页面,并在日志框中显示操作结果。
- 清空日志:点击“清空日志”按钮,可以清空日志框中的内容。
对子文件夹的处理
- 代码使用
os.walk函数遍历输入文件夹及其所有子文件夹。在遍历过程中,会跳过名为processed_file的文件夹。对于每个PDF文件,程序会根据其在输入文件夹中的相对路径,在processed_file文件夹下创建相同的子文件夹结构,并将处理后的PDF文件保存到相应位置。所以,该代码对输入文件夹及其所有子文件夹内的PDF文件均有效,能够穿透子文件夹进行处理。
实例验证
假设我们有以下文件夹及文件结构:
input_folder/
│
├── file1.pdf
├── file2.pdf
├── subfolder1/
│ ├── subfile1.pdf
│ └── subfile2.pdf
└── subfolder2/
├── subsubfolder/
│ └── subsubfile.pdf
└── subfile3.pdf
- 用户操作:
- 选择
input_folder作为输入文件夹。 - 选择“删除前2页”选项,并在输入框中输入
2。 - 点击“运行程序”按钮。
- 选择
- 预期结果:
- 程序会在
input_folder下创建processed_file文件夹。 - 在
processed_file文件夹下,会创建与input_folder相同的子文件夹结构。 - 所有PDF文件(
file1.pdf、file2.pdf、subfile1.pdf、subfile2.pdf、subsubfile.pdf、subfile3.pdf)的前2页会被删除,并保存在对应的新路径下,例如:
- 程序会在
input_folder/
│
├── processed_file/
│ ├── file1.pdf(已删除前2页)
│ ├── file2.pdf(已删除前2页)
│ ├── subfolder1/
│ │ ├── subfile1.pdf(已删除前2页)
│ │ └── subfile2.pdf(已删除前2页)
│ └── subfolder2/
│ ├── subsubfolder/
│ │ └── subsubfile.pdf(已删除前2页)
│ └── subfile3.pdf(已删除前2页)
├── file1.pdf
├── file2.pdf
├── subfolder1/
│ ├── subfile1.pdf
│ └── subfile2.pdf
└── subfolder2/
├── subsubfolder/
│ └── subsubfile.pdf
└── subfile3.pdf
日志框中会显示每个文件的处理结果,如“删除成功:[文件路径]”或“删除失败:[文件路径] 错误信息:[具体错误]”,最后显示“转换完成!”。
python版本:3.86
是否带UI界面:UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 703-批量以所在文件夹名按()内序列顺序重命名文件名
- 715-批量对指定文件夹下各子文件夹下所有子孙文件夹内文件提取-提取到各一级子文件夹根目录-并删除空文件夹
- 734-持续监测A文件夹并将所有变动内容同步到B文件夹
- 757-读取txt每行文件名移动指定文件到指定文件夹
- 771-批量复制指定文件夹到多个文件夹中
- 773-批量为文件名添加前缀或后缀
- 775-批量移动指定文件夹下指定格式文件到目标文件夹
- 778-批量删除指定文件夹下指定格式文件(包含子孙文件夹下的)
- 786-批量移动指定文件夹下文件到目标文件夹下同名文件夹内
- 10080-0-监测指定文件夹对所有压缩包创建同名文件夹并解压-不支持子孙文件夹内压缩包-只支持zip-rar-7z压缩包的解压




还没有评论,来说两句吧...