首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用PDFplumber只提取pdf文件中没有表格的文本?

如何使用PDFplumber只提取pdf文件中没有表格的文本?
EN

Stack Overflow用户
提问于 2021-02-21 00:31:38
回答 2查看 396关注 0票数 1

我想使用NLP模块处理一些pdf文件,然后从所有现有的表中清除这些文件。

这是使用pdfplumber提取表的代码

代码语言:javascript
复制
import pdfplumber
pdf = pdfplumber.open("file.pdf")
page = pdf.pages[1]
table=page.extract_table()

但是我想反转操作,只提取文本

EN

回答 2

Stack Overflow用户

发布于 2021-02-23 04:42:12

免责声明:我是这个答案中使用的库pText的作者。

加载Document

需要定义LocationFilter

LocationFilter做的几乎和它在罐头上说的一样。它将侦听解析事件(如“呈现文本”或“将字体更改为”),但它只允许这些事件在给定边界内通过。

请记住,PDF坐标中的原点位于左下角。因此,本例中的LocationFilter将仅匹配页面左下角的文本。

LocationFilter中添加

  1. SimpleTextExtraction

下一个问题是“LocationFilter将把事件传递给什么?”在这种情况下,您可以从尝试SimpleTextExtraction开始。

将所有这些放在一起的

代码语言:javascript
复制
l0 = LocationFilter(0, 0, 100, 100)

l1 = SimpleTextExtraction()
l0.add_listener(l1)

doc = PDF.loads(pdf_file_handle, [l])

文档加载后,您可以向SimpleTextExtraction请求给定Page上的所有文本。

代码语言:javascript
复制
l1.get_text(0)

你可以在GitHub上获得pText,或者使用PyPi获得更多的examples,查看它们以了解有关处理图像的更多信息。

票数 0
EN

Stack Overflow用户

发布于 2021-02-22 20:21:30

你真的非得跟着the管道工干吗?如果没有,我可以建议一个更好的解决方案,使用tabula代替。这是一个类似问题的答案,你可以查看:tabula

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

https://stackoverflow.com/questions/66293939

复制
相关文章

相似问题

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