运行下面的代码会在 pdfReader
行抛出错误
pdf=['/somepath/a.pdf','/somepath/b.pdf']
for count in range(len(pdf)):
name=pdf[count]
pdfFileObj = open(name, 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj) #Error at this line
pages=pdfReader.numPages
错误 - PdfReadWarning:外部参照表不是零索引。对象的 ID 号将被更正。 [pdf.py:1736]
但是,当我像这样传递下面的 pdf 位置时,它可以工作,但我需要一个循环,以便每个 pdf 都可以使用..
pdfFileObj = open(pdf[0], 'rb')
即使我尝试看起来像,但它再次失败 PdfReader
for p in pdf:
pdfFileObj = open(p, 'rb')
最佳答案
根据this site ,此错误意味着外部参照表的第一部分不以对象零开始。您可以通过传递选项 strict = false
来克服这个问题,PyPDF2 将自动更正对象 ID 号。通常这不是一个大问题,Adobe 仍然会读取您的 PDF。干杯。
关于python - 无法迭代列表 -pyPDF2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51778828/