Исключение pyPDF IOError в OSX

Я пытаюсь открыть PDF-файл (с именем kalimera.pdf), используя PdfFileReader из модуля pyPdf, используя следующий набор команд.

from pyPdf import PdfFileReader, PdfFileWriter
document = PdfFileReader(open('kalimera.pdf', 'rb')) 

Я получаю следующую ошибку:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/pyPdf/pdf.py", line 374, in __init__
    self.read(stream)
  File "/Library/Python/2.7/site-packages/pyPdf/pdf.py", line 702, in read
    stream.seek(-1, 2)
IOError: [Errno 22] Invalid argument

Платформа — OSX 10.11.3, а версия Python — 2.7.10 (хотя это было воспроизведено и в python3.5).


person bergercookie    schedule 08.02.2016    source источник
comment
Вы пробовали использовать несколько файлов PDF для ввода? Я пробовал пример PDF в Python 2.7.4 и, кажется, не понимаю этого IOError...   -  person summea    schedule 09.02.2016
comment
Что вы имеете в виду несколько PDF-файлов? Он не работает ни с одним из pdf-файлов, которые у меня есть в рабочем каталоге.   -  person bergercookie    schedule 09.02.2016


Ответы (1)


Я не знаю, почему вы получаете эту ошибку, вы читаете файл PDF в двоичном режиме и передаете его в PdfFileReader, возможно, вам следует попробовать другие файлы PDF.

В любом случае, попробуйте использовать: https://pythonhosted.org/PyPDF2/ это последняя версия PyPDF, и я думаю, что он поддерживает python2.7.

person Pedro Gomes    schedule 08.02.2017