这一段时间公司做了一个项目, 由系统生成pdf文件,并且提供客户下载使用。为了保护资源防止用户随便的操作,需要再pdf上面添加密码,对文档生成保护,这里采用了python的方式对文件进行处理。
使用工具: python
用到的插件: PyPDF2
运行环境: win10
下面直接贴代码:
from PyPDF2 import PdfFileWriter, PdfFileReader
path = r'C:/Users/TF/Desktop'
pdf_reader = PdfFileReader(path + r'\seczlsc.pdf')
pdf_writer = PdfFileWriter()
for page in range(pdf_reader.getNumPages()):
pdf_writer.addPage(pdf_reader.getPage(page))
pdf_writer.encrypt("", "123456") # 设置密码为 a123
with open(path + r'\zlsc.pdf', 'wb') as out:
pdf_writer.write(out)
上面代码中,seczlsc.pdf问待加密的文件,而zlsc.pdf为加密完成之后的结果。
加密代码为:
pdf_writer.encrypt("", "123456") # 设置密码为 a123
里面有两个参数,都是设置密码。具体可以参考: PyPDF2.pdf — PyPDF2 documentation
第一个是简单的未授权的密码, 第二个是授权的密码。当pdf文档添加其他他授权的时候,比如密码复制、打印等。只用第一个密码是不行的,需要用第二个密码才可以。