PyPDF2.PdfFileReader зависает на неопределенный срок

Я пытаюсь прочитать этот pdf-файл (https://www.accessdata.fda.gov/cdrh_docs/pdf14/K141693.pdf) и следую этим предложениям SO

Открытие URL-адресов PDF с помощью pyPdf

На самом деле я скачал файл локально и запускаю следующий код

import PyPDF2
pdf_file = open("K141693.pdf")
pdf_read = PyPDF2.PdfFileReader(pdf_file)

но мой код висит на неопределенный срок. Я использую Python 2.7, и вот трассировка стека.

Traceback (most recent call last):

Файл "", строка 1, в runfile('C:/PoC/pdf_reader.py', wdir='C:/PoC')

Файл "C:\ProgramData\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", строка 880, в файле запуска execfile (имя файла, пространство имен)

Файл "C:\ProgramData\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", строка 87, в execfile exec(compile(scripttext, filename, 'exec'), glob, loc)

Файл «C:/PoC/pdf_reader.py», строка 13, в pdf_read = PyPDF2.PdfFileReader(pdf_file)

Файл "C:\ProgramData\Anaconda2\lib\site-packages\PyPDF2\pdf.py", строка 1084, в init self.read(stream)

Файл "C:\ProgramData\Anaconda2\lib\site-packages\PyPDF2\pdf.py", строка 1697, в строке чтения = self.readNextEndLine(stream)

Файл "C:\ProgramData\Anaconda2\lib\site-packages\PyPDF2\pdf.py", строка 1938, в readNextEndLine x = stream.read(1)

КлавиатураПрерывание

Я наткнулся на другое сообщение здесь PyPDF2 зависает при обработке, но на него тоже нет ответа.


person Krishna    schedule 26.01.2018    source источник
comment
ТАКОЙ ЖЕ. он каким-то образом застрял в бесконечном цикле. Вы когда-нибудь решали это?   -  person Celi Manu    schedule 25.09.2018


Ответы (1)


Вам нужно проанализировать файл в двоичном ('rb') режиме. (Это работает в Python 3:)

import PyPDF2
pdf_file = open("K141693.pdf", "rb")
read_pdf = PyPDF2.PdfFileReader(pdf_file)
person PythonSherpa    schedule 13.07.2018
comment
Все еще зависает. - person bmc; 13.12.2018