首页  >  文章  >  后端开发  >  如何在 Python 中使用更新的 PDFMiner API 从 PDF 文件中提取文本?

如何在 Python 中使用更新的 PDFMiner API 从 PDF 文件中提取文本?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-17 14:25:30686浏览

How to Extract Text from PDF Files Using Updated PDFMiner API in Python?

使用 Python 中的 PDFMiner 从 PDF 文件中提取文本

处理 PDF 文档时,提取文本可能是一项关键任务。 PDFMiner 是一个 Python 库,简化了这个过程,使开发人员能够从 PDF 文件中解析和提取文本。

更新的 PDFMiner API 和过时的示例

PDFMiner 的最新更新有对其 API 进行了更改,使许多现有示例变得过时。过渡到最新版本可能会让开发人员迷失方向,不确定如何执行文本提取等基本任务。

示例实现

为了解决这个问题,让我们探索一个可行的方法演示如何使用当前 PDFMiner 库从 PDF 文件中提取文本的示例:

<code class="python">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</code>

此代码提供了一种全面的文本提取方法,涵盖了所有必要的步骤。 Convert_pdf_to_txt 函数将文件路径作为输入,并处理打开文件、初始化文档解析器以及将页面内容转换为文本字符串的过程。

此示例说明了更新的 PDFMiner 语法,无需使用过时的代码。它已经过彻底的测试和验证,可与最新的 PDFMiner 版本一起使用。

以上是如何在 Python 中使用更新的 PDFMiner API 从 PDF 文件中提取文本?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn