使用 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中文网其他相关文章!