python - 无法迭代列表 -pyPDF2

标签 python python-3.x list pypdf

运行下面的代码会在 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/

相关文章:

python - 使用 BeautifulSoup 提取 anchor 标签值

python - 在列表列表中的每第 n 个位置插入元素

python - 为什么 Pyglet 不能正确绘制多边形?

python - 运行 pytest 测试给出 Pluggy 错误,设置有问题吗?

c# - 将 List<List<string>> 转换为 string[][] 的快速方法是什么?

java - 在Java中将从两个数据库提取的对象列表写入txt文件的最快方法

python - Spark mllib 线性回归给出非常糟糕的结果

python - 无法使用 selenium python 访问网站上的 Google Alert 登录

javascript - 如何使用React从Fantasy Premier League检索授权信息

python-3.x - Pycharm 2017.2.4 总是在后台运行Querying skeleton update