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

问题描述 投票:0回答:1

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

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

发现chrome使用Skia将页面保存为pdf,但没有帮助解决这个问题。(PDF制作者:SkiaPDF m80)

在Stack Overflow上发现了以下类似的问题,但是还没有人回答,而且由于我是新用户,我不能评论或添加任何东西,因此提出了这个新问题。

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

以下是代码

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

我是一个新用户,这是我第一次发帖提问,如果我做了什么不正确的事情,请纠正我(不知道我是否有)。我向你保证,我已经做了我的搜索在谷歌上发现没有解决方案或缺乏知识,了解问题的解决方案。谢谢你

python pdf extraction pypdf2 skia
1个回答
1
投票

PyPDF2从pdf中提取文本是非常不可靠的。此处 太.其中说。

虽然PyPDF2有.extractText(),可以在其页面对象上使用(本例中没有显示),但它的工作效果不是很好。有些PDF会返回文本,有些会返回一个空字符串。当你想从一个PDF中提取文本时,你应该检查一下PDFMiner项目。PDFMiner是更强大的,是专门为从PDF中提取文本而设计的。

看我对类似问题的回答 此处

© www.soinside.com 2019 - 2024. All rights reserved.