我试图阅读这个pdf文件(https://www.accessdata.fda.gov/cdrh_docs/pdf14/K141693.pdf)并遵循SO的这些建议
我实际上已经在本地下载了该文件,并且正在运行以下代码
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但是也没有回复。
答案 0 :(得分:0)
您需要以二进制('rb')模式解析文件。 (这适用于Python 3:)
import PyPDF2
pdf_file = open("K141693.pdf", "rb")
read_pdf = PyPDF2.PdfFileReader(pdf_file)