代码功能概述
这段Python代码实现了一个图形化界面(GUI)应用程序,用于批量处理PDF文件,具体功能为删除PDF文件中的二维码和注释图章,并将处理后的PDF文件保存在指定的文件夹内。
用户操作步骤
- 打开程序:运行脚本后,弹出名为“批量删除pdf中二维码和注释图章工具”的窗口。
- 选择文件夹:点击“选择文件夹”按钮,选择包含PDF文件的文件夹路径,路径会显示在输入框中。
- 开始处理:点击“开始程序”按钮,程序开始处理所选文件夹及其子文件夹内的所有PDF文件。
- 终止任务(可选):若想中途停止任务,点击“结束任务”按钮。
- 清空输入框和日志(可选):可点击“清空输入框”和“清空日志”按钮分别清空输入框内容和日志显示框内容。
对子文件夹的处理
该程序能穿透子文件夹。在代码中,使用os.walk
函数遍历指定的input_folder
及其所有子文件夹,处理其中所有的PDF文件,但是会跳过名称中包含“已处理_pdf”的文件夹。
实例验证
假设我们有如下文件夹结构:
parent_folder
│
├── sub_folder1
│ ├── file1.pdf
│ └── file2.pdf
├── sub_folder2
│ └── file3.pdf
└── main_file.pdf
- 用户操作:
- 运行程序后,在图形界面中点击“选择文件夹”,选择
parent_folder
。 - 点击“开始程序”。
- 运行程序后,在图形界面中点击“选择文件夹”,选择
- 程序执行:
- 程序会遍历
parent_folder
及其子文件夹sub_folder1
和sub_folder2
。 - 对于每个PDF文件,如
main_file.pdf
、file1.pdf
、file2.pdf
和file3.pdf
,程序会执行以下操作:- 首先,覆盖白色图章在注释上,并删除注释。
- 然后,检测并删除包含二维码的注释。如果页面上没有包含二维码的注释,则对页面进行放大处理后检测二维码,并在检测到的二维码区域绘制白色矩形覆盖。
- 处理后的文件会保存在parent_folder/已处理_pdf文件夹内,且保持与原文件夹相同的子文件夹结构,即:
- 程序会遍历
parent_folder
│
├── 已处理_pdf
│ ├── sub_folder1
│ │ ├── file1.pdf
│ │ └── file2.pdf
│ ├── sub_folder2
│ │ └── file3.pdf
│ └── main_file.pdf
├── sub_folder1
│ ├── file1.pdf
│ └── file2.pdf
├── sub_folder2
│ └── file3.pdf
└── main_file.pdf
代码实现细节
- 图像处理与PDF操作:
- 使用
cv2
库进行图像处理,如读取图像、颜色空间转换等。 - 使用
fitz
(PyMuPDF)库进行PDF文件的读取、注释处理、页面绘制等操作。
- 使用
- 多线程:
- 使用
threading
库创建线程来处理PDF文件,以避免阻塞图形界面。 - 通过
threading.Event
来实现停止任务的功能。
- 使用
- 图形界面:
- 使用
tkinter
库创建图形界面,包括输入框、按钮、文本框等组件。 - 通过绑定事件处理函数来响应用户的操作。
- 使用
python版本:3.86
是否带UI界面:UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 解决Markdown嵌入哔哩哔哩视频在微信页面中自适应宽度问题
- 717-搜索指定文件夹下同名文件【包含子孙文件夹下文件】在目标文件夹下创建同名文件夹并将同名文件移入
- 756-对指定文件夹下文件及文件夹建立目录树-支持导出多种文件格式
- 757-读取txt每行文件名移动指定文件到指定文件夹
- 758-一键按照时间-按月份-按日期-文件类型-修改时间整理文件
- 769-批量删除文件名中的指定字符串
- 771-批量复制指定文件夹到多个文件夹中
- 773-批量为文件名添加前缀或后缀
- 776-批量删除指定文件夹下所有文件名中指定的关键词
- 779-批量删除指定文件夹下指定名称的文件-包含子孙文件夹下指定文件名称
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥常见问题 | 售后问题 | 程序购买 | 会员开通等问题
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8使用本站程序过程如果遇到问题请查看该文章说明
- 9431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 10【起步式】从python环境配置到使用AI写出第一个python程序(python版本3.86)
还没有评论,来说两句吧...