PyPDF2挂起处理

问题描述:

我正在使用PyPDF2处理多个pdf文件,但我的脚本挂在某处。我在控制台中看到的是一些“startxref与offset偏移量相同的行”,我正确的是一个警告,所以它仍然应该到finally块并返回一个空字符串。PyPDF2挂起处理

我做错了什么?

import PyPDF2 
import sys 
import os 
def decode_pdf(src_filename):   
    out_str="" 
    try: 
     f = open(str(src_filename), "rb")   
     read_pdf = PyPDF2.PdfFileReader(f) 
     number_of_pages = read_pdf.getNumPages() 
     for i in range(0,number_of_pages): 
      page = read_pdf.getPage(i) 
      out_str = out_str + " " + page.extractText() 
     out_str = ''.join(out_str.splitlines()) 
     f.close() 
    except: 
     print("Exception on pdf") 
     print(sys.exc_info()) 
     out_str = "" 
    finally: 
     return out_str 
+0

我不能复制任何错误,在这里复制下面

from cStringIO import StringIO from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter from pdfminer.converter import TextConverter from pdfminer.layout import LAParams from pdfminer.pdfpage import PDFPage def convert(fname, pages=None): if not pages: pagenums = set() else: pagenums = set(pages) output = StringIO() manager = PDFResourceManager() converter = TextConverter(manager, output, laparams=LAParams()) interpreter = PDFPageInterpreter(manager, converter) infile = file(fname, 'rb') for page in PDFPage.get_pages(infile, pagenums): interpreter.process_page(page) infile.close() converter.close() text = output.getvalue() output.close return text 

通话功能转换()相关的代码。这段代码对我来说工作得很好。你可以用你得到的确切错误更新你的文章吗?这个错误只发生在大型PDF文件上吗? –

+0

无法用“某些错误”和“某个文件”重现。如果有一个文件始终产生这一个错误,请分享它,以便我们检查。 – usr2564301

我也遇到过这个问题,无法使用PyPDF2解决它。我解决了矿山使用的例子pdfminer从here

如下

convert('myfile.pdf', pages=[5,7]) 
+1

您可以在答案中引用链接资源的相关部分吗?原来,您的答案非常容易受到链接腐烂的影响(即,如果链接网站发生故障或更改,您的答案无用)。 – mech