最新微语
源源走丢了 3天前
突然发现昨天是我在这个世界上存在的第90...
源源走丢了 1周前
每次听到这种大合唱系列,都是很让人放松的...
源源走丢了 3个月前
昨晚做梦梦见在老家准备和爷爷奶奶一起去成...
源源走丢了 4个月前
我爱你不是因为你完美,我爱你因为你是你,...
源源走丢了 4个月前
昨天晚上做梦,梦见自己和一位熟悉的人去赶...
Do you like me?
15
最新评论
jiyouzhan
这篇文章写得深入浅出,让我这个小白也看懂...
6个月前
源源走丢了
@黎夏:欢迎复制,都是想到一点加一点,慢...
10个月前
黎夏
@源源走丢了:哈哈哈,是你的介绍太好玩了...
10个月前
源源走丢了
@黎夏:你的也好玩
10个月前
黎夏
怎么做一个好玩的博客呢[smilies7...
10个月前
源源走丢了
@黎夏:😎欢迎~
10个月前
黎夏
学习,学习
10个月前
2973371522
个人介绍挺丰富的,又带着个性😏
1年前
源源走丢了
@穆棱洲:快一年了才来打卡?💔💔💔
1年前
穆棱洲
无可奈何花落去,似曾相识燕归来。 沉舟...
1年前
评论排行

PDF文件批量随机加密Python脚本

源源走丢了 · 4个月前
2024-8-7 · 杂七杂八 · 69 · 0

昨天有个项目需要批量为PDF文件设置不同的查看密码,还要看到对应文件加密后的密码,网上找了好久都没找到现成的软件,大部分都是统一密码批量加密。后来翻到一个软件可以实现这个需求,但是要收费99元,免费版又会在每页加上水印,就只好整个Python脚本来解决这个需求了,记一下免得存丢了。

import os
import string
import random
from PyPDF2 import PdfReader, PdfWriter

def generate_random_password(length=4):
    """生成一个指定长度为4的随机密码"""
    password_characters = string.ascii_letters + string.digits
    return ''.join(random.choice(password_characters) for _ in range(length))


def encrypt_pdfs(pdf_folder, output_folder):
    """批量加密指定文件夹中的PDF文件"""

    if not os.path.exists(output_folder):
        os.makedirs(output_folder)

    for filename in os.listdir(pdf_folder):
        if filename.endswith('.pdf'):
            pdf_reader = PdfReader(os.path.join(pdf_folder, filename))
            pdf_writer = PdfWriter()
            for page in range(len(pdf_reader.pages)):
                pdf_writer.add_page(pdf_reader.pages[page])

            # 生成随机密码
            password = generate_random_password()
            # 加密PDF
            pdf_writer.encrypt(user_password=password, owner_password='权限密码')

            # 保存加密后的PDF
            with open(os.path.join(output_folder, f"{filename}"), "wb") as out:
                pdf_writer.write(out)
                print(f"加密文件: {filename},密码: {password}")


# 使用方法
pdf_folder = 'C:\\Users\\12405\\Desktop\\cqp'  # PDF文件所在文件夹
output_folder = 'C:\\Users\\12405\\Desktop\\cqp1'  # 输出加密后的PDF文件夹
encrypt_pdfs(pdf_folder, output_folder)

权限密码在Acrobat中可直接被无视,但足够满足基本需求了。

August 07,2024 14:05:17
阅读69
撰写评论
人生而自由,却无往不在枷锁中。
00后 自由 晒不黑 游戏 学习ing 成长ing 白羊座
文章
32
微语
96
评论
23
人生成就

源源的人生成就