使用 pypdf2 从 chrome 的打印选项生成的 pdf 文件中提取文本



尝试使用 python(v 3.8.2( 模块 pypdf2(v 1.26.0( 从 pdf 文件中提取文本。除了特定的pdf文件(从chrome打印选项生成(之外,一切都很好。

我在使用 chrome 的打印选项生成/下载期间拥有这些文件,其中有一个选项可以将页面/文档另存为 pdf。我无法从这些pdf文件中提取文本,因为代码只返回''(空(,其他pdf文件没有问题。如果您想测试自己,您可以使用 chrome 打印选项将任何网页另存为 pdf,并使用该 pdf 进行测试。铬(v 81.0.4044.138(

发现chrome使用Skia将页面保存为pdf,但无助于解决问题。(PDF 制作人:Skia/PDF m80(

在堆栈溢出上发现了类似的问题,但还没有人回答,因为我是新用户,我无法评论或添加任何内容,因此这个新问题。

使用 Pypdf2 从网页转换的 pdf 中提取文本

以下是代码

import PyPDF2
pdfFileObj = open('example.pdf', 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
pageObj = pdfReader.getPage(0)
print(pageObj.extractText())
pdfFileObj.close()

我是新用户,这是我第一次发布问题,如果我做了任何不正确的事情,请纠正我(不确定我是否有(。我向你保证,我已经在谷歌上进行了搜索,没有找到解决方案或缺乏理解问题/解决方案的知识。谢谢

PyPDF2 对于从 pdf 中提取文本非常不可靠。 正如这里所指出的。 其中说:

而 PyPDF2 有 .extractText((,它可以用于其页面对象 (本例中未显示(,它不能很好地工作。一些 PDF 将返回文本,有些将返回空字符串。当你想要的时候 要从PDF中提取文本,您应该查看PDFMiner项目 相反。PDFMiner更加强大,并且是专门设计的。 用于从 PDF 中提取文本。

看看我对类似问题的回答

这里

最新更新