代码功能概述
这段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使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 【03】铜版纸样品
- 724-【只对目录下一级文件夹有效】对指定目录下各文件夹下文件以文件夹名命名-遇到多个同格式的文件只命名其中一个
- 762-批量提取移动指定文件夹内所有文件包括子孙文件夹文件到指定文件夹
- 769-批量删除文件名中的指定字符串
- 789-批量检测指定文件夹下空文件夹并输出到txt
- 201-批量删除excell文件xlsx格式文件中的空行
- 801-拖入文件夹自动压缩为压缩包,批量压缩文件夹,不同压缩包使用不同密码并记录密码
- 10046-1-批量添加文字水印自动居中自定义水印高度每隔几秒钟显示一次水印
- 10046-2-批量为视频左上角添加图片水印可设置水印透明度
- 100134-3-批量将指定文件夹下所有视频分别转为9:16比例的mp4视频




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