无法遍历列表-pyPDF2
Posted
技术标签:
【中文标题】无法遍历列表-pyPDF2【英文标题】:Unable to iterate through a list -pyPDF2 【发布时间】:2018-08-10 04:07:20 【问题描述】:运行下面的代码在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')
【问题讨论】:
你的循环的第二种形式更像pythonic 索引零起作用的事实只是意味着它在第二个文件上失败 Thanks@MadPhysicist 。所以,如果 strict=False 将被传递,它将是 Fixed ,正确的, 【参考方案1】:根据this site,这个错误意味着外部参照表的第一部分不是以对象零开始的。您可以通过传递选项strict = false
来克服这个问题,PyPDF2 将自动更正对象 ID 号。通常这不是什么大问题,Adobe 仍会阅读您的 PDF。干杯。
【讨论】:
以上是关于无法遍历列表-pyPDF2的主要内容,如果未能解决你的问题,请参考以下文章