在代码下面运行会在行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。干杯。