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

如何检测何时使用PyPDF2成功提取pdf文本。提取文本?

阙阳夏
2023-03-14

我正在使用PyPDF2库通过其函数从PDF文件中提取文本,对于大多数PDF来说,它工作得很好!

但是,一些PDF生成的文本如下所示:

\n!"#$%

根据文件,这是可以预期的:

这适用于某些PDF文件,但对其他文件效果不佳,具体取决于使用的生成器。

不幸的是,extractText()函数在输出上述文本时不会引发任何异常。

所以,我的问题是,有没有一种方法可以以编程方式检测提取文本()函数何时返回胡言乱语?

共有1个答案

韩禄
2023-03-14

根据@DYZ的评论,以下是解决方案。

假设文档路径是您打开的PDF文件的路径。其余的应该是不言而喻的。

from PyPDF2 import PdfFileReader
from nltk.corpus import words

words = words.words()
document_file = PdfFileReader(open(document_path, 'rb'))
num_pages = document_file.getNumPages()
for page_num in range(0, num_pages):
    page = document_file.getPage(page_num)
    page_contents = page.extractText()
    if set(page_contents.lower().split()).intersection(words):
        # process page_contents
 类似资料:
  • 我正在尝试从PDF中提取文本(https://www.sec.gov/litigation/admin/2015/34-76574.pdf)使用PyPDF2,我得到的唯一结果是以下字符串: 这是我的代码: 这段代码在我正在使用的一些PDF上正常工作(例如。https://www.sec.gov/litigation/admin/2016/34-76837-proposed-amended-dist

  • 问题内容: 我正在尝试使用提取此 PDF文件中包含的文本。 我正在使用PyPDF2模块,并具有以下脚本: 运行代码时,得到以下输出,该输出与PDF文档中包含的输出不同: 如何提取PDF文档中的文本? 问题答案: 要从PDF提取文本,请使用以下代码

  • 问题内容: 如何 使用PHP 从PDF文档中提取文本? (我不能使用其他工具,我没有root用户访问权限) 我发现一些函数可用于纯文本,但是它们不能很好地处理Unicode字符: http://www.hashbangcode.com/blog/zend-lucene-and-pdf-documents-part-2-pdf- data-extraction-437.html 问题答案: 下载 c

  • 问题内容: 我想使用Apache PDFBox从给定的PDF文件中提取文本。 我写了这段代码: 但是,出现以下错误: 我在类路径中添加了pdfbox-1.8.5.jar和fontbox-1.8.5.jar。 编辑 我添加到程序的开头。 我运行了它,然后出现了与上述相同的错误,并且未出现在控制台中。 因此,我认为我对类路径或其他东西有疑问。 谢谢。 问题答案: 我执行了您的代码,它工作正常。也许您的

  • 问题内容: 我正在使用Apache pdfbox提取文本。我可以从pdf中提取文本,但我不知道该单词是否为粗体?(代码建议会很好!!!)这是从pdf提取纯文本的代码,可以正常工作。 问题答案: 的结果是纯文本。因此,将其提取后为时已晚。但是,您可以覆盖某些方法,只允许根据您的意愿格式化的文本通过。 在这种情况下,您必须覆盖 在您的替代中,您检查所讨论的文本是否满足您的要求(包含有关所讨论文本的很多

  • 问题内容: 我想使用PDFMiner从PDF文件中提取所有文本框和文本框坐标。 其他许多Stack Overflow帖子都介绍了如何以有序方式提取所有文本,但是我该如何做获取文本和文本位置的中间步骤呢? 给定一个PDF文件,输出应类似于: 问题答案: 换行符在最终输出中转换为下划线。这是我发现的最小工作解决方案。