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