使用PyPDF2对pdf进行加密
时间: 2024-01-27 19:05:27 浏览: 126
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
使用 PyPDF2 库可以对 PDF 进行加密,可以通过以下代码实现:
```python
import PyPDF2
# 打开 PDF 文件
pdf_file = open('example.pdf', 'rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
# 创建 PDF writer 对象
pdf_writer = PyPDF2.PdfFileWriter()
# 将 PDF 页面逐页添加到 PDF writer 对象中
for page_num in range(pdf_reader.numPages):
pdf_writer.addPage(pdf_reader.getPage(page_num))
# 设置 PDF 加密信息
pdf_writer.encrypt('password', 'owner_password', use_128bit=True)
# 写入加密后的 PDF 文件
encrypted_pdf_file = open('example_encrypted.pdf', 'wb')
pdf_writer.write(encrypted_pdf_file)
# 关闭文件
encrypted_pdf_file.close()
pdf_file.close()
```
在上述代码中,首先打开 PDF 文件并创建一个 PDF reader 对象,然后创建一个 PDF writer 对象,并将 PDF 页面逐页添加到其中。接下来,通过 `encrypt` 方法设置 PDF 加密信息,其中 `'password'` 为用户密码,`'owner_password'` 为管理员密码(可选),`use_128bit=True` 表示使用 128 位 AES 加密。最后,将加密后的 PDF 文件写入磁盘并关闭相关文件。
需要注意的是,加密后的 PDF 文件需要输入密码才能打开,因此需要妥善保管密码。
阅读全文