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

09-12 04:48