我开发了一个读取 PDF 文件的程序,但我注意到我用来读取它们的工具 (PDFminer) 似乎放错了文本或根本没有放置它。输出似乎非常清晰和准确。它尊重间距和换行,因此输出看起来更像是原始 PDF。但是,它似乎跳过了一些行(在我检查的文件中发生一次)和错位的行(在错位的行具有其他 10 行的模式的文档中发生了两次,那么为什么只在这两个中发生?)
检索行的代码是这样的:
def extract(fname,docPage):
pages=[docPage,docPage]
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().decode("utf8")
output.close
return text
有任何想法吗?或者有人遇到过这个问题吗?我已经研究过这个问题,但没有结果。也许是使用任何其他工具(如 pyPdf2)的方法