微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从基于文本的 pdf 中删除表格部分

如何解决如何从基于文本的 pdf 中删除表格部分

我有一个基于文本的 pdf(未成像或扫描)文件,其中包含两个部分——普通文本和表格。我可以使用camelot提取表数据。现在我只想提取没有表格部分的文本部分。有没有办法从pdf中删除表格?

解决方法

根据我的经验,此任务没有现成的方法。

有一次,我创建了一个管道,用于在从 PDF 中提取的文本中插入替换文本来代替表格。我遵循了这种方法:

  1. 从 PDF 中提取文本(使用 PDFBox 或类似工具)
  2. 使用 Camelot 检测表格
  3. 从从 Camelot (table._bbox) 检测到的坐标开始,为每个表格生成一个 PDF 文件(通过编辑文件的裁剪框,再次使用 PDFBox)
  4. 使用与第一步相同的工具从每个文件中提取表格文本
  5. 替换整个文本中的表格文本(基于字符串相似性度量,例如 Levenshtein,或使用模糊字符串匹配)

也许你的问题比我遇到的要简单一些,因为你只需要删除表格的文本而不是替换它。

实际上,您也可以尝试直接删除(编辑)PDF 中的表格,使用 iText 等工具,然后从清理后的 PDF 中提取文本。

无论哪种方式,您都需要付出相当大的开发工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?