代码功能概述
这段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使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 722-批量获取指定文件夹下所有文件名或文件夹名或完整路径并写入txt
- 753-批量从各文件夹内随机挑选指定数量文件移动到指定文件夹
- 搜索A文件夹内与B文件夹下快捷方式指向的最后一个文件夹同名文件夹并移动文件夹到快捷方式所在文件夹下
- 453-批量删除pdf中包含二维码的注释-(只处理注释)
- 批量将pdf转为tiff格式-默认分辨率300-默认每页大小1.1
- 10082-2-批量解压压缩包-【支持子文件夹穿透-带密码的压缩包】【不支持多层嵌套压缩包】
- 10085-批量解压zip分卷文件-支持带密码-txt中一行一个密码-自动匹配-解压完成后删除分卷
- 150-根据音视频时长移动或复制文件到相应文件夹归类
- 620-批量替换指定文件夹下docx文档中指定内容-可一次替换多个不同的内容
- 304-批量裁切缩放图片




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