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

如何在 Python 中使用 PDFMiner 从 PDF 中提取文本?

Patricia Arquette
Patricia Arquette原创
2024-10-17 14:26:02773浏览

How to Extract Text from PDFs with PDFMiner in Python?

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

问题:

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

答案:

由于 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 extract_pdf_text(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

此更新的代码解决了 PDFMiner 语法中的更改。它成功地从 PDF 文件中提取文本,并通过 Python 3.x、3.7 和 2019 年 10 月 3 日的 Python 3.7 使用 pdfminer.6(2018 年 11 月发布)进行了验证。

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

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