Невозможно перебрать список -pyPDF2

Выполнение кода ниже вызывает ошибку в строке 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: таблица внешних ссылок не имеет нулевого индекса. Идентификационные номера объектов будут исправлены. [pdf.py:1736]

Однако, когда я просто передаю местоположение pdf ниже, как это работает, но мне нужен цикл, чтобы можно было использовать каждый pdf.

pdfFileObj = open(pdf[0], 'rb')

Даже я пытался выглядеть как , но опять не получилось на PdfReader

for p in pdf:
    pdfFileObj = open(p, 'rb')

person RonyA    schedule 10.08.2018    source источник
comment
Вторая форма вашего цикла гораздо более питоническая   -  person Mad Physicist    schedule 10.08.2018
comment
Тот факт, что нулевой индекс работает, просто означает, что он не работает во втором файле.   -  person Mad Physicist    schedule 10.08.2018
comment
Спасибо @MadPhysicist. Итак, если будет передано strict=False, оно будет исправлено, правильно,   -  person RonyA    schedule 10.08.2018


Ответы (1)


Согласно этого сайта, эта ошибка означает, что первый раздел таблицы внешних ссылок не начните с нулевого объекта. Вы можете преодолеть это, передав опцию strict = false, и PyPDF2 автоматически исправит номера идентификаторов объектов. Обычно это не является большой проблемой, и Adobe все равно будет читать ваши PDF-файлы. Ваше здоровье.

person hypadr1v3    schedule 10.08.2018