python模块PDF文件加密

在python需要加密PDF文件,需要下载PyPDF2依赖模块,

  • PyPDF2模块安装:

    pip inastll PyPDF2
    
  • 在文件导入

    from PyPDF2 import PdfFileWriter, PdfFileReader
    
  • 读取PDF文件:

    reader = PdfFileReader(field_pdf)
    

    PdfFileReader():参数可以File对象或支持标准读取的对象并寻找类似于File对象的方法。
    也可能是表示PDF文件路径的字符串。

  • 创建PDF写入对象:

    writer = PdfFileWriter()
    

    使用函数appendPagesFromReader(),参数为读取的PDF对象,
    复制读取的数据,用于修改数据,

    writer.appendPagesFromReader(reader)
    
  • 文件加密
    调用函数encrypt(),用于加密文件

    writer.encrypt(user_pwd=self.password_name, owner_pwd=None,use_128bit=True)
    

    user_pwd:“用户密码”,允许打开
    owner_pwd:“所有者密码”,允许
    默认情况下,所有者密码与用户密码相同。
    bool use_128bit:标记是否使用128bit加密。如果为false,将使用40位加密。

  • 文件保存:
    打开文件,创建一个文件对象

    odoopdf=open('odoopdf.pdf','wb')
    

    将odoopdf对象添加到write函数为PDF文件写入。

    writer.write(odoopdf)
    

PDF文件加密参考

·示例:

from PyPDF2 import PdfFileWriter, PdfFileReader


def pdf_add_password(pdf_content, pwd=None):
    """
    :param pdf_content: 文件内容或路径
    :param pwd: 用户密码
    """
    # 创建PDF对象,使用PdfFileReader读取PDF文件
    reader = PdfFileReader(pdf_content)
    # 创建PDF写入对象,使用PdfFileWriter类
    writer = PdfFileWriter()
    # 将读取的对象reader添加到写入对象writer,使用appendPagesFromReader函数添加
    writer.appendPagesFromReader(reader)
    if pwd:
        # 加密
        writer.encrypt(user_pwd=pwd, owner_pwd=None, use_128bit=True)
    # 创建一个文件对象
    odoopdf = open('odoopdf.pdf', 'wb')
    # 将odoopdf对象添加到write函数为PDF文件写入。
    writer.write(odoopdf)


# 文件路径
pdf_url = '/home/odoo/123.pdf'

pdf_add_password(pdf_url, '123')


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值