Python文本提取在某些pdf上不起作用

妖怪的

我正在尝试通过url阅读pdf。我遵循了许多stackoverflow建议,并使用PyPdf2 FileReader从pdf中提取文本。我的代码如下所示:

url = "http://kat.kar.nic.in:8080/uploadedFiles/C_13052015_ch1_l1.pdf"
#url = "http://kat.kar.nic.in:8080/uploadedFiles/C_06052015_ch1_l1.pdf"
f = urlopen(Request(url)).read()
fileInput = StringIO(f)
pdf = PyPDF2.PdfFileReader(fileInput)

print pdf.getNumPages()
print pdf.getDocumentInfo()
print pdf.getPage(1).extractText()

我能够成功提取第一个链接的文本。但是,如果我对第二个pdf使用相同的程序。我没有收到任何文字。页码和文档信息似乎出现了。

我尝试通过终端从Pdfminer中提取文本,并且能够从第二个pdf中提取文本。

知道pdf有什么问题吗,或者我使用的库有缺点吗?

戴维·范·德里亚斯(David van Driessche)

如果您阅读了pyPDF文档中的注释,您会发现它写在这里,对于某些PDF文件,此功能不能很好地工作;换句话说,您正在查看库的限制。

查看这两个PDF文件,我看不出文件本身有什么问题。但...

第一个文件包含完全嵌入的字体,第二个文件包含子集的字体

这意味着第二个文件更难以从中提取文本,并且库可能不正确地支持该文件。仅供参考,我使用callas pdfToolbox(注意,我与该工具关联)进行了文本提取,该工具使用Acrobat文本提取,并且已正确提取了两个文件的文本(确认不是问题的PDF文件) 。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章