1行Python代码,实现PDF的加密、解密

73 阅读2分钟

大家好,这里是程序员晚枫,今天给大家更新一个PDF库的热门功能:1行代码,批量给PDF加密、解密

这个功能发布2年多了,随着库的更新出现了一些适配上的问题,导致用法有了改变。

今天给大家说一下最新的用法。

image.png

1、上代码

下载Python自动化办公的专用库:python-office,下载命令如下。

使用下面的命令,直接更新到最新版

pip install python-office popdf -U  -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple 

更新以后,直接运行下面的代码。

# pip install python-office 一定要成功哦~
import office

# 单文件加密
office.pdf.encrypt4pdf(input_file=r'D:\程序员晚枫的文件夹\1.pdf',
output_file=r'D:\程序员晚枫的文件夹\2.pdf',
password='程序员晚枫的密码')

# 批量加密
office.pdf.encrypt4pdf(input_path=r'D:\程序员晚枫的文件夹\input_pdf',
output_path=r'D:\程序员晚枫的文件夹\output_pdf',
password='程序员晚枫的密码')

#单文件解密
office.pdf.decrypt4pdf(input_file=r'D:\程序员晚枫的文件夹\1.pdf',
output_file=r'D:\程序员晚枫的文件夹\2.pdf',
password='程序员晚枫的密码')
                      
                      
# 批量解密
office.pdf.decrypt4pdf(input_path=r'D:\程序员晚枫的文件夹\input_pdf',
output_path=r'D:\程序员晚枫的文件夹\output_pdf',
password='程序员晚枫的密码')

2、使用说明

这次更新,主要是参数上的改变:

参数:
        password (str): PDF文件的加密密码
        input_file (str, optional): 输入的PDF文件名(包含路径)
        output_file (str, optional): 输出的加密PDF文件名(包含路径)
        input_path (str, optional): 输入文件的完整路径
        output_path (str, optional): 输出文件的完整路径

返回值:
        None: 该函数不返回任何值,直接生成加密后的PDF文件

需要注意的是,input_file和input_path参数,只能二选一,不能同时使用。同时使用的情况下,直接洗input_file参数。

进阶功能:有些朋友想根据文件名筛选pdf文档,或者更高阶的想通过正则来筛选。