加密/ 解密 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 中文教程

相关推荐
指针向南36 分钟前
怎么把PDF里的图片提取出来?5种方法和在线工具的坑
图像处理·人工智能·计算机视觉·pdf
橙光成长3 小时前
PDF离线工具箱深度解析:4MB纯前端单文件,40+功能全本地运行,文件绝不上传
前端·pdf·1024程序员节
易点云徐源1 天前
PDF 默认打开方式刚修好,过一分钟又变成“未知应用”?使用 ProcMon 成功抓出后台程序
windows·pdf
优化控制仿真模型1 天前
【2026.12月英语六级】英语六级历年真题PDF电子版+高频核心词汇1500个
经验分享·pdf
开开心心就好2 天前
发票信息录入太麻烦?离线工具一键转表格
运维·服务器·前端·pdf·ocr·maven·intellij-idea
聚美智数2 天前
文档转换 API‑文档转 PDF‑PDF 转文档‑异步文档处理‑文件格式迁移‑转换结果回调推送 API 接口介绍
android·java·pdf
麦序子2 天前
用 pdfplumber + 正则 解析工程量清单 PDF:提取项目编码、综合单价并导出 Excel
xml·pdf·python3.11
Felicia-侧听2 天前
PDF转OFD的三种方法:在线、离线与开源方案对比(附操作教程与避坑指南)
pdf·开源
优化控制仿真模型2 天前
2026日语能力考试N1、N2、N3、N4、N5历年真题及答案合集PDF(2010-2026年)
经验分享·pdf