Python 在windows,Linux上打开有密pdf(密码已知)

Linux

去除源文件密码

install

pip install PyPDF2

from PyPDF2 import PdfFileReader

fp = open(filename, "rb+")
pdfFile = PdfFileReader(fp)
filepath, tempfilename = os.path.split(filename)
temp_path = filepath + "/temp.pdf"

if pdfFile.isEncrypted:
    try:
        command = "cp %s %s; qpdf --password=%s --decrypt %s %s" % (
            filename, temp_path, pwd, temp_path, filename)
        os.system(command)
        return filename
    except:
        logger.error("qpdf打开有密pdf错误")
        return None
else:
    return filename

Windows

与Linux不同的是解开后复件密码则被移除,源文件密码还在

install

pip install pikepdf

import pikepdf

fp = open(filename, "rb+")
pdfFile = PdfFileReader(fp)

filepath, tempfilename = os.path.split(filename)
if pdfFile.isEncrypted:
     try:
          pdf = pikepdf.open(filename,
                             password=pwd)

          temp_path = filepath + "/temp.pdf"
          pdf.save(temp_path)
          return 1
      except:
          logger.error("qpdf打开有密pdf错误")
          return 0
else:
   return 1      
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值