我正在尝试通过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有什么问题吗,或者我使用的库有缺点吗?
如果您阅读了pyPDF文档中的注释,您会发现它写在这里,对于某些PDF文件,此功能不能很好地工作;换句话说,您正在查看库的限制。
查看这两个PDF文件,我看不出文件本身有什么问题。但...
第一个文件包含完全嵌入的字体,第二个文件包含子集的字体
这意味着第二个文件更难以从中提取文本,并且库可能不正确地支持该文件。仅供参考,我使用callas pdfToolbox(注意,我与该工具关联)进行了文本提取,该工具使用Acrobat文本提取,并且已正确提取了两个文件的文本(确认不是问题的PDF文件) 。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句