加密/ 解密 PDF:使用Python为PDF文档设置、移除密码

在数字化时代,文档的安全性变得越来越重要。特别是对于包含敏感信息的PDF文件,确保其不被未经授权的人员访问或修改是至关重要的。本文将介绍如何使用Python在PDF文档中设置密码,以及如何移除已经设置的密码。

目录

PDF加密基础知识

[Python 为PDF文档设置密码](#Python 为PDF文档设置密码)

Python移除PDF文档中的密码


首先,我们需要安装第三方库**Spire.PDF for Python**。可以下载后手动安装或者使用以下pip命令安装:

pip install Spire.PDF

PDF加密基础知识

我们可以给PDF文件设置密码或禁止某些功能来保护PDF。加密PDF时有以下两种类型的密码:

  1. 打开密码或称用户密码open password):这是访问PDF文件所需的密码。设置了用户密码后,每次打开文件时都需要输入正确的密码。
  2. 权限密码permissions password):控制对PDF文件的操作权限,例如是否允许打印、复制或编辑文档等。

两种密码结合使用可以为PDF文件提供多层次的安全保护。

在Python中,我们也可以使用Spire.PDF for Python提供的 ***PdfDocument.Security.Encrypt(openPassword: string, permissionPassword: string, permissions: PdfPermissionsFlags, keySize: PdfEncryptionKeySize)***方法为PDF文档设置这两种密码。

代码示例如下:

Python 为PDF文档设置密码

python 复制代码
from spire.pdf.common import *
from spire.pdf import *

# 加载PDF文件
pdf = PdfDocument()
pdf.LoadFromFile("示例文档.pdf")

# 用指定密码加密 PDF 文件, 并设置操作权限和密钥大小
pdf.Security.Encrypt("123", "abc", PdfPermissionsFlags.Print, PdfEncryptionKeySize.Key128Bit)

# 保存加密的PDF文件
pdf.SaveToFile("加密PDF文档.pdf", FileFormat.PDF)

以上代码为PDF文档设置了打开密码和权限密码,并允许打印操作和指定了一个 128 位的加密密钥大小。Spire.PDF for Python还支持40位(Key40Bit)和256位(Key256Bit)密钥大小。

加密的PDF文档:

使用密码打开后其权限限制如图:

Python移除PDF文档中的密码

python 复制代码
from spire.pdf.common import *
from spire.pdf import *

# 加载已加密的PDF文档
pdf = PdfDocument()
pdf.LoadFromFile("加密PDF文档.pdf", "123")

# 将打开密码和权限密码设置为空
pdf.Security.Encrypt(str(), str(), PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit, "abc")

# 保存PDF文档
pdf.SaveToFile("解除PDF密码.pdf", FileFormat.PDF)

在这个示例中,我们先使用设置的密码打开PDF文档后,然后再次调用Encrypt() 方法并将PDF用户密码和权限密码这两个参数设置为空,即可删除PDF文件中的密码。

▶ 点击查看更多Python操作PDF 的示例:Spire.PDF for Python 中文教程

相关推荐
cypking2 小时前
vue实现一个pdf在线预览,pdf选择文本并提取复制文字触发弹窗效果
前端·vue.js·pdf
SEO-狼术2 小时前
Create, edit, and save PDF
pdf
David+Zhao12 小时前
vue项目纯前端把PDF转成图片并下载
前端·vue.js·pdf·canvas·pdf转图片·pdfjs·pdfjs-dist
Bruce_Liuxiaowei12 小时前
用Python实现PDF转Doc格式小程序
python·小程序·pdf
专注VB编程开发20年12 小时前
VB.NET 如何指定Microsoft Print To PDF的输出路径
microsoft·pdf·.net
软件工程小施同学12 小时前
【最新区块链论文录用资讯】CCF A—NDSS 2025 (二) 附pdf下载
pdf·区块链
JobsandCzj21 小时前
PDF 分割工具
javascript·小程序·pdf
沈健_算法小生21 小时前
基于DeepSeek实现PDF嵌入SVG图片无损放大
pdf
d3soft1 天前
【清华大学】实用DeepSeek赋能家庭教育 56页PDF文档完整版
ai·pdf·deepseek
开开心心就好1 天前
电脑睡眠智能管控:定时、依状态灵活调整,多模式随心选
javascript·windows·python·安全·django·pdf·电脑