代码功能概述
这段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使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 706-批量将指定文件夹下所有文件格式后缀改为小写-UI
- 719-批量将文件名重命名为所在文件夹的名字
- 724-【只对目录下一级文件夹有效】对指定目录下各文件夹下文件以文件夹名命名-遇到多个同格式的文件只命名其中一个
- 729-批量文件夹合并-搜索A文件夹下与B文件夹下同名的文件夹并将文件合并到B文件夹
- 733-批量删除指定A文件夹下包含指定关键词的文件
- 758-一键按照时间-按月份-按日期-文件类型-修改时间整理文件
- 763-批量删除整理多层文件夹冗余
- 769-批量删除文件名中的指定字符串
- 777-根据文件创建时间修改时间先后对每个文件夹下所有文件进行排序
- 10080-1-监测指定文件夹-支持子孙文件夹-对所有压缩包创建同名文件夹移入并解压-只支持zip-rar-7z压缩包的解压




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