使用pdfminer从pdf提取文本可得到多个副本

使用pdfminer从pdf提取文本可得到多个副本,第1张

使用pdfminer从pdf提取文本可得到多个副本

我的回答在您所引用的线程中有点不正确。我发现了错误,却忘记了更新答案。

因为pdfminer的文档非常稀疏,所以我无法完全解释为什么这样做会起作用。希望了解pdfminer库的人能对我们有所帮助。

我所知道的是,您必须

text = retstr.getvalue()
在for循环之外进行 *** 作。我只能假定
retstr
正在像
final_text+= text
在for循环中那样进行更新,因此一旦完成,我们只需
text = retstr.getvalue()
要从所有页面中获取文本即可。

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreterfrom pdfminer.converter import TextConverterfrom pdfminer.layout import LAParamsfrom pdfminer.pdfpage import PDFPagefrom cStringIO import StringIOdef convert_pdf_to_txt(path):    rsrcmgr = PDFResourceManager()    retstr = StringIO()    prec = 'utf-8'    laparams = LAParams()    device = TextConverter(rsrcmgr, retstr, prec=prec, laparams=laparams)    fp = file(path, 'rb')    interpreter = PDFPageInterpreter(rsrcmgr, device)    password = ""    maxpages = 0    caching = True    pagenos=set()    for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages,password=password,caching=caching, check_extractable=True):        interpreter.process_page(page)    text = retstr.getvalue()    fp.close()    device.close()    retstr.close()    return textprint convert_pdf_to_txt("test.pdf")

希望这对您有所帮助!



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5674751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存