在 Python 中使用 PDFMiner 从 PDF 文件中提取文本
处理 PDF 文档时,提取文本可能是一项关键任务。 PDFMiner 是一个 Python 库,简化了这个过程,使开发人员能够从 PDF 文件中解析和提取文本。
更新了 PDFMiner API 和过时的示例
PDFMiner 的最新更新有对其 API 进行了更改,使许多现有示例变得过时。过渡到最新版本可能会让开发人员迷失方向,不确定如何执行文本提取等基本任务。
示例实现
为了解决这个问题,让我们探索一个可行的方法演示如何使用当前 PDFMiner 库从 PDF 文件中提取文本的示例:
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO
def convert_pdf_to_txt(path):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
fp = open(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 text
此代码提供了一种全面的文本提取方法,涵盖了所有必要的步骤。 Convert_pdf_to_txt 函数将文件路径作为输入,并处理打开文件、初始化文档解析器以及将页面内容转换为文本字符串的过程。
此示例说明了更新的 PDFMiner 语法,无需过时的代码。它已经过彻底的测试和验证,可与最新的 PDFMiner 版本一起使用。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3