Python PDF加密小能手:为PDF文档加上“保护伞”!

嗨,亲爱的小伙伴们!今天,让我们一起来揭开Python中PDF加密的神秘面纱吧!不要小看这个小小功能,它可是能给你的PDF文档加上一道坚不可摧的“保护伞”,让你的文件安全隐私有了更多的守护。现在就让我来向你展示Python是如何轻松实现批量PDF加密的!

使用PyPDF2库:安全加密不是事儿!

若没有安装PyPDF2库,记得先通过下面的命令安装一下哦:

pip install PyPDF2

代码如下:

from PyPDF2 import PdfReader, PdfWriter
from pathlib import Path
import os
import glob


def encrypt_pdfs(input_folder_path, output_folder_path, user_password, owner_password):
    input_folder = Path(input_folder_path)
    output_folder = Path(output_folder_path)
    output_folder.mkdir(parents=True, exist_ok=True)
    input_files = glob.glob(os.path.join(input_folder, "*.pdf"))
    for file in input_files:
        file_name = os.path.basename(file)
        with open(file, "rb") as file_read:
            reader = PdfReader(file_read)
            writer = PdfWriter()
            for page in reader.pages:
                writer.add_page(page)
            # 使用提供的密码加密PDF
            writer.encrypt(user_password=user_password, owner_password=owner_password, use_128bit=True)

            output_file_name = os.path.join(output_folder, file_name)
            with open(output_file_name, "wb") as file_write:
                writer.write(file_write)


# 示例用法
encrypt_pdfs("C:/Users/olive/Desktop/待加密的PDF",
             "C:/Users/olive/Desktop/已加密的PDF",
             "abdc1234",
             "1234abcd")

代码解析

1.首先导入了PyPDF2库中的PdfReader和PdfWriter类,以及pathlib库中的Path类,os库和glob库。

2.然后定义了一个名为encrypt_pdfs的函数,该函数接受四个参数:

  - input_folder_path(输入文件夹路径)
  - output_folder_path(输出文件夹路径)
  - user_password(用户密码)
  - owner_password(所有者密码)

3.在函数内部,首先将输入和输出文件夹路径转换为Path对象,并创建输出文件夹(如果不存在的话)。

4.使用glob模块获取输入文件夹中的所有PDF文件,并对每个文件进行以下操作:

  - 读取文件内容,并创建PdfReader对象。
  - 创建一个空的PdfWriter对象,并将每一页添加到写入对象中。
  - 使用提供的用户密码和所有者密码以128位加密写入对象中的内容。
  - 将加密后的PDF内容写入到输出文件夹中。

5.最后,提供了一个示例用法,说明如何调用encrypt_pdfs函数来加密PDF文件。

激动人心的测试

我们先准备一批未加密的PDF文件,我准备的PDF的如下图所示:

接下来,记得改一下最后一行的测试代码,改成你自己的文件夹路径和密码哦:

# 示例用法
encrypt_pdfs("C:/Users/olive/Desktop/待加密的PDF",
             "C:/Users/olive/Desktop/已加密的PDF",
             "abdc1234",
             "1234abcd")

接下来,要运行程序了,我的桌面上生成了如下的文件夹和文件:

我们随便打开一个文件:

果然,要求我们输入密码,此时,我们输入owner_password,我的话,就是1234abcd。

OK,成功打开了。

小结:

哇哦,Python轻松实现PDF加密的魔法不是很棒吗?希望通过这段代码,你也能让自己的PDF文档拥有更多的安全保护,保障隐私安全!

快来试试吧!相信你也能像小编一样变身为PDF数据的“守护神”哦!如果你对PDF操作还有其他想法,随时记得跟我分享哦!加密的世界里,没有什么秘密是我们搞不定的!🔒📄✨

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值