Python PDFminer跳过行或错误放置字符串行
我开发了一个读取PDF文件的程序,但我注意到我用来读取PDF文件的工具(PDFminer)似乎把文本放错了地方,或者根本就没有放。 输出似乎非常清晰和准确。它尊重间距和换行,因此输出看起来更像原始PDF。但是,它似乎跳过了一些行(在我检查的文件中发生过一次)和错位行(在一个文档中发生过两次,错位行的模式是其他10行,那么为什么只在这两行中发生呢?) 检索行的代码如下所示:Python PDFminer跳过行或错误放置字符串行,python,file,file-io,io,pdfminer,Python,File,File Io,Io,Pdfminer,我开发了一个读取PDF文件的程序,但我注意到我用来读取PDF文件的工具(PDFminer)似乎把文本放错了地方,或者根本就没有放。 输出似乎非常清晰和准确。它尊重间距和换行,因此输出看起来更像原始PDF。但是,它似乎跳过了一些行(在我检查的文件中发生过一次)和错位行(在一个文档中发生过两次,错位行的模式是其他10行,那么为什么只在这两行中发生呢?) 检索行的代码如下所示: def extract(fname,docPage): pages=[docPage,docPage] pa
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)的方法可移植文档格式(pdf)没有结构化的数据。如果从pdf中提取数据的代码遵循特定格式,则任何从pdf中提取数据的代码都会失败。使用任何一个库,结果都会导致灾难。所以你需要硬编码一些东西。在这种情况下使用调试器。您可以在这里检查我的答案,它将数据转换为xml,从那里您可以理解为什么缺少一些行。