当前位置: 首页 > 知识库问答 >
问题:

如何用Python读取PDF文件中的简单文本?

顾兴昌
2023-03-14

需要解析一个PDF文件,以便只提取最初的文本行,并寻找不同的Python包来完成这项工作,但没有任何运气。

尝试过:

tika,它给出了不同的终端错误消息,并且非常慢

pdftotext安装失败

pdf2text在“导入pdf2text”时失败,并且当更改为“pdftotext”时,即使通过PIP列表显示安装了“extractor”,也无法使用“importerror:无法导入名称'extractor'”导入

通常,我发现安装的Python包工作得非常好,但是将PDF解析为文本似乎是一个丛林,无数的工具也表明了这一点。

有什么建议,如何做简单的解析PDF文件到文本在Python?

添加PyPDF2示例

import PyPDF2
pdfFileObj = open('file.pdf', 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
pageObj_0 = pdfReader.getPage(0)
print(pageObj_0.extractText())

$%$%&%&$'('~!)“*+#

共有1个答案

利博远
2023-03-14

基于pdfminer,我能够将pdf2txt.py脚本(随pdfminer提供)中的基本必要性提取到一个函数中:

import io

from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.layout import LAParams
from pdfminer.converter import TextConverter
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.pdfpage import PDFPage

def pdf_to_text(path):
    with open(path, 'rb') as fp:
        rsrcmgr = PDFResourceManager()
        outfp = io.StringIO()
        laparams = LAParams()
        device = TextConverter(rsrcmgr, outfp, laparams=laparams)
        interpreter = PDFPageInterpreter(rsrcmgr, device)
        for page in PDFPage.get_pages(fp):
            interpreter.process_page(page)
    text = outfp.getvalue()
    return text
 类似资料:
  • 问题内容: 我有一个很大的文件4GB,当我尝试读取它时,我的计算机挂起了。因此,我想逐个读取它,并且在处理完每个块之后,将已处理的块存储到另一个文件中并读取下一个块。 这些零件有什么方法吗? 我很想有一个简单的方法。 问题答案: 要编写一个简单函数,只需使用: 另一个选择是使用和辅助功能: 如果文件是基于行的,则文件对象已经是行的惰性生成器:

  • 本文向大家介绍python简单读取大文件的方法,包括了python简单读取大文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python简单读取大文件的方法。分享给大家供大家参考,具体如下: Python读取大文件(GB级别)采用的办法很简单: 例如: 一切都交给python解释器处理,读取效率很高,且占用资源少。 stackoverflow参考链接:How to read la

  • 本文向大家介绍如何使用python读取Selenium中的文本文件?,包括了如何使用python读取Selenium中的文本文件?的使用技巧和注意事项,需要的朋友参考一下 我们可以通过先创建一个txt文件并在其中包含内容,来使用python阅读Selenium中的文本文件。 首先,我们需要打开文件并提及文本文件位置的路径作为参数。有多种读取方法可以执行这些操作。 read() –读取文件的全部内容

  • 在我的maven项目中,我有一个PDF文件,它位于文件夹中。我的函数从文件夹读取PDF文件,并根据用户的数据在文档中添加一些值。 此项目使用打包为文件,并在我的其他Spring Boot应用程序中用作依赖项。 在我的Spring启动项目中,我创建了将在PDF上执行一些工作的类的instace。一旦PDF文件上的所有工作都完成,并且当PDF文件保存在文件系统上时,它始终是空的(所有页面都是空白的)。

  • 请不要使用“tika”作为答案。我已经尝试了这个问题的答案: 如何从PDF文件中提取文本? 我有这个PDF文件,https://drive.google.com/file/d/1aUfQAlvq5hA9kz2c9CyJADiY3KpY3-Vn/view?usp=sharing,我想复制文本。 输出为“提交日期:2019-10-21 16:03:36.093 |表单键:5544”,这只是文本的一部分

  • 问题内容: 我有一些代码可以从pdf文件中读取。有没有一种方法可以在Windows上使用Pypdf,Python 2.6从pdf文件(不是页面)逐行读取? 这是阅读pdf页面的代码: 更新: 呼叫代码是这样的: 问题答案: 看起来您拥有的是要逐行解释的大量文本数据。 您可以使用StringIO类将该内容包装为可搜索的类似文件的对象: 对于您的情况,请执行以下操作: