用Python给PDF文件批量加密解密(28)

小朋友们好,大朋友们好!

我是猫妹,一名爱上Python编程的小学生。

欢迎和猫妹一起,趣味学Python。

今日主题

pikepdf是一个用于读写PDF文件的第三方Python库,如何用pikepdf快速给PDF文件加密和解密。

加密

我们平时看到的PDF文件,多数都是可以直接打开的。

偶尔也会遇到一些PDF文件,需要输入密码才可以打开,不知道密码的话就无法打开。

类似这样:

用Python给PDF文件批量加密解密(28)_第1张图片

这些文件是怎么加密的?

是否可以用pikepdf给没有密码的PDF文件加上密码?

可以的。

加密代码:

#coding:utf-8import osimport pikepdf
def unlock(file):  pdf = pikepdf.open(file)  print((file))  pdf.save(file[:-5]+'_encrypt.pdf', encryption=pikepdf.Encryption(owner="password", user="password", R=4))  pdf.close()
if __name__ == '__main__':    documents = os.listdir()#当前目录下所有文件    print(documents)    for file in documents:        if os.path.splitext(file)[1] == '.pdf':#判断文件后缀名            unlock(file)

解密

对于我们不知道密码的PDF文件,想要暴力破解,很难,效率极低。

如果知道密码,可每次打开都输入密码,是否是很麻烦?

是否可以修改下PDF文件,移除其密码,让其可以直接打开?

可以的。

#coding:utf-8import osimport pikepdf
def unlock(file):  pdf = pikepdf.open(file,password='password')  print((file))  pdf.save(file[:-5]+'_no_encrypt.pdf')  pdf.close()
if __name__ == '__main__':    documents = os.listdir()#当前目录下所有文件    print(documents)    for file in documents:        if os.path.splitext(file)[1] == '.pdf':#判断文件后缀名            unlock(file)

用Python给PDF文件批量加密解密(28)_第2张图片

好了,我们今天就学到这里吧!

如果遇到什么问题,咱们多多交流,共同解决。

我是猫妹,咱们下次见!

用Python给PDF文件批量加密解密(28)_第3张图片

和猫妹学Python

人生苦短,我用Python

99篇原创内容

公众号

你可能感兴趣的:(python,pdf,开发语言)