首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python文本提取不适用于某些pdfs。

Python文本提取不适用于某些pdfs。
EN

Stack Overflow用户
提问于 2015-05-16 05:45:00
回答 1查看 4.4K关注 0票数 2

我正试图通过url读取一个pdf。我遵循了许多堆栈溢出建议,并使用PyPdf2 FileReader从pdf中提取文本。我的代码如下所示:

代码语言:javascript
运行
复制
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有什么问题,或者我使用的库有什么缺点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-16 06:28:55

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

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

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

这意味着第二个文件更难从其中提取文本,而且库可能不支持这一点。作为参考,我使用callas pdfToolbox (警告,我加入了这个工具)进行了文本提取,该工具使用Acrobat文本提取,并正确地提取了两个文件的文本(确认问题不是PDF文件)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30272269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档