原标题:455-批量添加pdf查看密码和编辑密码【带界面-源代码】
导读:
代码功能概述这段代码实现了一个使用PyQt5创建的图形化界面(GUI)应用程序,用于批量为PDF文件添加查看密码和编辑密码,并限制PDF文件的编辑权限为仅允许复制内容。该程序...
代码功能概述
这段代码实现了一个使用PyQt5创建的图形化界面(GUI)应用程序,用于批量为PDF文件添加查看密码和编辑密码,并限制PDF文件的编辑权限为仅允许复制内容。该程序具备以下功能:
- 文件夹选择:允许用户通过浏览按钮或直接拖拽文件夹路径到输入框,选择包含PDF文件的输入文件夹以及加密后PDF文件输出的文件夹。
- 密码设置:支持两种密码设置方式,一是使用固定密码,二是使用随机生成的密码(6到8位字母和数字组合),分别用于设置查看密码和编辑密码。
- 加密处理:程序会遍历输入文件夹及其所有子文件夹中的PDF文件,为每个PDF文件添加相应的查看密码和编辑密码,并限制编辑权限为仅允许复制内容,然后将加密后的文件保存到对应的输出文件夹结构中。
- 进度与状态显示:在加密过程中,通过进度条显示加密进度,同时在界面上显示状态信息,如加密过程中的错误提示、完成提示等。
- 密码记录:加密完成后,将每个PDF文件对应的查看密码和编辑密码记录到
password_log.txt
文件中,并保存在输出文件夹中。
用户操作步骤
- 启动程序:运行代码后,会弹出一个图形化界面窗口。
- 选择输入文件夹:点击“输入pdf所在文件夹路径(支持子文件加穿透)”旁边的“浏览”按钮,在弹出的文件选择对话框中选择包含需要加密PDF文件的文件夹;或者直接将文件夹路径拖拽到输入框中。
- 选择输出文件夹:点击“添加密码后输出到的文件夹路径”旁边的“浏览”按钮,选择加密后的PDF文件要保存到的文件夹;同样也可直接拖拽路径到输入框。
- 设置密码:如果希望使用固定密码,取消“使用随机查看密码(字母+数字,最长8位)”和“使用随机编辑密码(字母+数字,最长8位)”的勾选,然后在“固定查看密码”和“固定编辑密码”输入框中分别输入密码。若希望使用随机密码,则勾选相应的复选框。
- 开始加密:完成上述设置后,“开始加密”按钮会变为可用状态,点击该按钮开始对PDF文件进行加密操作。加密过程中,可从进度条和状态标签查看加密进度和状态信息。加密完成后,会在输出文件夹中生成
password_log.txt
文件,记录每个PDF文件的密码信息。
实例验证
假设我们有以下文件夹及文件结构:
input_folder/
│
├── sub_folder1/
│ ├── file1.pdf
│ └── file2.pdf
│
├── sub_folder2/
│ └── file3.pdf
│
└── file4.pdf
- 运行程序:启动该Python程序,出现图形化界面。
- 设置输入文件夹:点击“输入pdf所在文件夹路径(支持子文件加穿透)”的“浏览”按钮,选择
input_folder
文件夹。 - 设置输出文件夹:点击“添加密码后输出到的文件夹路径”的“浏览”按钮,选择一个空文件夹
output_folder
作为输出目录。 - 设置密码:假设我们勾选“使用随机查看密码(字母+数字,最长8位)”和“使用随机编辑密码(字母+数字,最长8位)”。
- 开始加密:点击“开始加密”按钮。程序开始遍历
input_folder
及其子文件夹中的所有PDF文件,为每个文件添加随机生成的查看密码和编辑密码,并限制编辑权限为仅允许复制内容,然后将加密后的文件保存到output_folder
中对应的文件夹结构下,即:
output_folder/
│
├── sub_folder1/
│ ├── file1.pdf
│ └── file2.pdf
│
├── sub_folder2/
│ └── file3.pdf
│
└── file4.pdf
同时,在output_folder
中生成password_log.txt
文件,记录每个PDF文件对应的查看密码和编辑密码。
对子文件夹的处理
代码使用os.walk
函数遍历输入文件夹及其所有子文件夹,所以该程序对输入文件夹下的子文件夹同样有效,能够穿透子文件夹查找PDF文件并进行加密处理,且会在输出文件夹中创建与输入文件夹相同的子文件夹结构来保存加密后的文件。
python版本:3.86
是否带UI界面:UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 【01】0.38mmPVC名片报价
- 【04】精品纸样品
- 721-将指定文件夹A内各一级文件夹里的指定类型文件移动到各一级文件夹里的空文件夹内
- 724-【只对目录下一级文件夹有效】对指定目录下各文件夹下文件以文件夹名命名-遇到多个同格式的文件只命名其中一个
- 752-批量复制文件及文件夹到多个文件夹
- 772-批量删除文件名中某个字符前的所有内容(可选删除字符本身)
- 778-批量删除指定文件夹下指定格式文件(包含子孙文件夹下的)
- 783-对象为文件夹-以关键词创建文件夹-查找指定目录下带有关键词的文件夹-移动到创建的文件夹去
- 784-批量搜索移动或复制指定文件夹下指定名称的指定格式的文件到指定文件夹
- win系统可以安全删除的文件夹-以清理释放系统空间
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥承接各种批处理工具定制 / 售后相关信息 / 任何需求请在该文章下留言
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 9Adobe程序完全卸载教程完全卸载无残留-【包括单个程序卸载和全部程序卸载】(win系统版本)
- 10为ps脚本添加快捷键快速调用
还没有评论,来说两句吧...