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

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

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

今日主题

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


加密

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

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

类似这样:


这些文件是怎么加密的?

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

可以的。

加密代码:

#coding:utf-8 import os import 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-8 import os import 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)


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

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

我是猫妹,咱们下次见!