PyPDF2.PdfFileReader无限期挂起

时间:2018-01-26 17:03:39

标签: pypdf2

我试图阅读这个pdf文件(https://www.accessdata.fda.gov/cdrh_docs/pdf14/K141693.pdf)并遵循SO的这些建议

Opening pdf urls with pyPdf

我实际上已经在本地下载了该文件,并且正在运行以下代码

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

但我的代码无限期挂起。我正在运行Python 2.7,这里是堆栈跟踪。

Traceback (most recent call last):
     

文件"",第1行,in       runfile(' C:/PoC/pdf_reader.py' ;, wdir =' C:/ PoC')

     

文件   " C:\ ProgramData \ Anaconda2 \ lib中\站点包\ spyder的\ utils的\站点\ sitecustomize.py&#34 ;,   第880行,在runfile中       execfile(filename,namespace)

     

文件   " C:\ ProgramData \ Anaconda2 \ lib中\站点包\ spyder的\ utils的\站点\ sitecustomize.py&#34 ;,   第87行,在execfile中       exec(compile(scripttext,filename,' exec'),glob,loc)

     

文件" C:/PoC/pdf_reader.py",第13行,in       pdf_read = PyPDF2.PdfFileReader(pdf_file)

     

文件" C:\ ProgramData \ Anaconda2 \ lib \ site-packages \ PyPDF2 \ pdf.py",   第1084行,在 init 中       self.read(流)

     

文件" C:\ ProgramData \ Anaconda2 \ lib \ site-packages \ PyPDF2 \ pdf.py",   第1697行,正在阅读中       line = self.readNextEndLine(stream)

     

文件" C:\ ProgramData \ Anaconda2 \ lib \ site-packages \ PyPDF2 \ pdf.py",   第1938行,在readNextEndLine中       x = stream.read(1)

     

一个KeyboardInterrupt

我在这里发现了另一篇帖子PyPDF2 hangs on processing但是也没有回复。

1 个答案:

答案 0 :(得分:0)

您需要以二进制('rb')模式解析文件。 (这适用于Python 3:)

import PyPDF2
pdf_file = open("K141693.pdf", "rb")
read_pdf = PyPDF2.PdfFileReader(pdf_file)