小朋友们好,大朋友们好!
我是猫妹,一名爱上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)
好了,我们今天就学到这里吧!
如果遇到什么问题,咱们多多交流,共同解决。
我是猫妹,咱们下次见!
和猫妹学Python
人生苦短,我用Python
99篇原创内容
公众号