代码功能概述
这段Python代码实现了一个图形化界面(GUI)应用程序,用于批量处理PDF文件中的二维码。具体功能包括:
- 界面交互:通过Tkinter创建一个窗口,用户可以在其中输入PDF文件所在文件夹路径、覆盖图片路径,选择是否在处理后删除原文件,并通过按钮启动、停止、清空输入及清空日志等操作。日志信息显示在滚动文本框中。
- 二维码处理:使用
pyzbar
和cv2.wechat_qrcode_WeChatQRCode
对PDF文件页面内容和注释中的二维码进行检测和定位。对于检测到的二维码,可以选择用指定图片覆盖或填充白色。处理后的PDF文件会保存在原文件夹下新创建的processed_file
文件夹中,并保持原文件夹结构。 - 异常处理:如果PDF文件损坏或无法读取,会将其重命名为带有“_文件损坏”标记的文件名并跳过处理。若在处理过程中出现其他错误,会在日志中记录错误信息。
用户操作步骤
- 选择文件夹:点击“选择文件夹”按钮,选择包含PDF文件的文件夹路径。
- 选择覆盖图片:点击“请选择图片”按钮,选择用于覆盖二维码的图片(支持PNG、JPG、JPEG、BMP格式)。
- 选择是否删除原文件:勾选“处理后删除原文件”复选框,可在处理完成后删除原始PDF文件。
- 开始处理:点击“开始程序”按钮,程序开始批量处理选定文件夹内的PDF文件。
- 停止处理:点击“结束任务”按钮,可终止正在进行的处理任务。
- 清空输入:点击“清空输入”按钮,可清除之前输入的文件夹路径和图片路径。
- 清空日志:点击“清空日志”按钮,可清除日志显示区域的内容。
实例验证
假设文件夹及文件结构如下:
parent_folder/
│
├── pdf_folder/
│ ├── file1.pdf
│ ├── file2.pdf
│ └── sub_folder/
│ └── file3.pdf
└── replacement_image.jpg
- 运行程序:启动代码后,出现GUI界面。
- 选择文件夹:在GUI界面中点击“选择文件夹”,选中
parent_folder/pdf_folder
。 - 选择覆盖图片:点击“请选择图片”,选中
parent_folder/replacement_image.jpg
。 - 开始处理:点击“开始程序”。程序会遍历
pdf_folder
及其子文件夹sub_folder
中的所有PDF文件,检测并处理其中的二维码。处理后的文件会保存在pdf_folder/processed_file
及其对应子文件夹结构中。例如,file3.pdf
处理后会保存在pdf_folder/processed_file/sub_folder/file3.pdf
。若勾选“处理后删除原文件”,处理完成后file1.pdf
、file2.pdf
和file3.pdf
会被删除。
对子文件夹的处理
该代码对子文件夹有效,能够穿透子文件夹。通过os.walk
函数遍历指定文件夹及其所有子文件夹中的文件,处理所有符合条件(.pdf
后缀)的文件。在遍历过程中,会跳过已经创建的processed_file
文件夹,避免重复处理。
python版本:3.86
是否带UI界面:UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 706-批量将指定文件夹下所有文件格式后缀改为小写-UI
- 710-批量合并指定文件夹下同名文件夹到目标文件夹合并时覆盖同名文件
- 754-批量根据excelA-B列内容移动文件到目标文件夹
- 770-批量获取指定目录下所有的一级文件夹名字
- 781-按照创建日期-最后修改日期提取文件名到excell
- win系统可以安全删除的文件夹-以清理释放系统空间
- pdf导出excell提取表格无框线处理逻辑
- 20250108-批量将指定文件夹A下每个文件夹下文件平均随机分配到目标文件夹下各一级文件夹内
- 10046-4-批量为视频添加旋转的图片水印
- 100131-批量去除视频声音
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥常见问题 | 售后问题 | 程序购买 | 会员开通等问题
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8使用本站程序过程如果遇到问题请查看该文章说明
- 9431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 10【起步式】从python环境配置到使用AI写出第一个python程序(python版本3.86)
还没有评论,来说两句吧...