【发布时间】:2019-07-06 03:27:21
【问题描述】:
使用 PyPDF2 读取 PDF 文件时出现以下错误
raise utils.PdfReadError("File has not been decrypted")
PdfReadError: File has not been decrypted
我一直在尝试通过 python 以编程方式阅读 PDF 文档。对于大多数 PDF 文件,它工作正常,但少数我收到以下错误
raise utils.PdfReadError("File has not been decrypted")
PdfReadError: File has not been decrypted
我已经尝试过另一个 stackoverflow 解决方案的解决方案:PyPDF 2 Decrypt Not Working
上述问题的这个解决方案仍然没有解决我的问题
import os
import PyPDF2
from PyPDF2 import PdfFileReader
fp = open(filename)
pdfFile = PdfFileReader(fp)
if pdfFile.isEncrypted:
try:
pdfFile.decrypt('')
print('File Decrypted (PyPDF2)')
except:
command = ("cp "+ filename +
" temp.pdf; qpdf --password='' --decrypt temp.pdf " + filename
+ "; rm temp.pdf")
os.system(command)
print('File Decrypted (qpdf)')
fp = open(filename)
pdfFile = PdfFileReader(fp)
else:
print('File Not Encrypted')
问题似乎不是文件名之间的空格或将密码设置为“”。
不知何故无法解决此错误。任何帮助表示赞赏。谢谢。
我的代码:
import PyPDF2
import os
from os import listdir
from os.path import isfile, join
mypath='D:/POC PDF'
onlyfiles = [os.path.join(mypath, f) for f in os.listdir(mypath) if os.path.isfile(os.path.join(mypath, f))]
for file in onlyfiles:
fileReader = PyPDF2.PdfFileReader(open(file,'rb'))
countpage = fileReader.getNumPages()
print(countpage)
【问题讨论】:
-
你能分享其中一个有问题的文件吗?
标签: python-3.x pdf encryption pypdf2