代码功能概述
这段Python代码实现了一个图形化界面(GUI)的批量PDF拆分工具,具备以下功能:
- 选择文件夹:通过图形化界面选择包含PDF文件的文件夹路径。
- 拆分PDF:将所选文件夹及其子文件夹中的PDF文件拆分成单页PDF文件。
- 损坏文件处理:检查PDF文件是否有效,对于无效(损坏)的PDF文件,重命名并添加“_文件损坏”后缀。
- 原文件删除:提供选项,在处理完成后删除原PDF文件及空文件夹。
- 日志记录:在图形化界面的文本框中记录处理过程的日志,包括文件处理状态、拆分结果、错误信息等。
- 任务控制:支持启动和停止拆分任务,在任务进行中可以随时终止操作。
对子文件夹的处理
代码使用 os.walk 函数遍历指定的文件夹及其所有子文件夹,会穿透子文件夹处理其中的PDF文件。但是,在遍历过程中会跳过名为“processed_file”的文件夹及其子文件夹,以避免对已处理的文件进行重复操作。
用户操作步骤
- 运行程序:双击运行该Python脚本,弹出图形化界面。
- 选择文件夹:点击“选择文件夹”按钮,在弹出的文件选择对话框中选择包含PDF文件的文件夹路径,路径会显示在输入框中。
- 选择删除选项:勾选“处理后删除原文件和文件夹”复选框,可在处理完成后删除原PDF文件及空文件夹;不勾选则保留原文件。
- 开始处理:点击“开始程序”按钮,程序开始拆分PDF文件,并在日志框中显示处理过程。
- 终止任务:在处理过程中,如果需要终止任务,点击“结束任务”按钮。
- 清空输入和日志:点击“清空输入”按钮可清空文件夹路径输入框;点击“清空日志”按钮可清空日志记录。
实例验证
假设我们有以下文件夹结构:
parent_folder
│
├── sub_folder1
│ ├── file1.pdf
│ └── file2.pdf
├── sub_folder2
│ ├── file3.pdf
│ └── file4.pdf
└── file5.pdf
- 运行程序:启动程序后,弹出图形化界面。
- 选择文件夹:点击“选择文件夹”,选择
parent_folder。 - 开始处理:点击“开始程序”,程序开始遍历
parent_folder及其子文件夹sub_folder1和sub_folder2。- 对于有效的PDF文件,如
file1.pdf、file2.pdf、file3.pdf、file4.pdf和file5.pdf,会将其拆分成单页PDF文件,并存储在parent_folder/processed_file目录下对应的子文件夹中。例如,file1.pdf拆分后的单页PDF文件会存储在parent_folder/processed_file/sub_folder1/file1目录下。 - 对于无效(损坏)的PDF文件,假设
file3.pdf损坏,程序会将其重命名为file3_文件损坏.pdf,并在日志中记录相关信息。
- 对于有效的PDF文件,如
- 删除原文件(可选):如果勾选了“处理后删除原文件和文件夹”,处理完成后,原PDF文件及空文件夹(如
sub_folder1和sub_folder2在删除所有PDF文件后为空)会被删除。
通过上述操作和实例,可以清晰地理解该代码实现的功能及运行逻辑。
python版本:3.86
是否带UI界面:UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 【04】精品纸样品
- 708-读取txt搜索指定文件夹下文件并移动到目标文件夹
- 724-【只对目录下一级文件夹有效】对指定目录下各文件夹下文件以文件夹名命名-遇到多个同格式的文件只命名其中一个
- 733-批量删除指定A文件夹下包含指定关键词的文件
- 759-实时监测文件夹并移动文件及文件夹到指定文件夹内
- 780-批量获取文件及文件夹信息导出到excell
- 784-批量搜索移动或复制指定文件夹下指定名称的指定格式的文件到指定文件夹
- 搜索A文件夹内与B文件夹下快捷方式指向的最后一个文件夹同名文件夹并移动文件夹到快捷方式所在文件夹下
- 解决win系统电脑休眠唤醒后网络无法连接问题-只显示地球但是不可用
- 10080-0-监测指定文件夹对所有压缩包创建同名文件夹并解压-不支持子孙文件夹内压缩包-只支持zip-rar-7z压缩包的解压




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