PDF 表格提取



我有(相同的)数据保存为GIF图像文件和PDF文件,我想将其解析为HTML或XML。数据实际上是我大学食堂的菜单。这意味着每周必须解析文件的新版本!通常,这些文件包含一些页眉和页脚文本,以及介于两者之间的充满其他数据的表格。我已经阅读了一些关于stackoverflow的文章,我也开始尝试将表数据解析为HTML/XML:

.PDF

  • PDFBox || iText (Java)
  • 谷歌文档导入
  • PDF2HTML ||PDF2表

.GIF

  • Tesseract-OCR

我从使用 PDFBox 解析 PDF 文件中得到了最好的结果,但仍然(因为菜单每周更换),它不够可靠。我收到的 HTML 有时包含更多,有时更少的"段落"(<p>),因此我无法充分解析数据优先级。

这就是为什么我想知道是否有其他方法可以做到这一点?

Tabula 是 JRuby Web 界面的一个很好的开端,用于从任意 PDF 中提取 CSV/TSV 表格。

我已经实现了自己的算法(它的名字是traprange)来解析pdf文件中的表格数据。

以下是一些示例 pdf 文件和结果:

  1. 输入文件:样本 1.pdf,结果:样本 1.html
  2. 输入文件:样本-4.pdf,结果:样本-4.html

访问我的项目页面 陷阱范围

或我在陷阱范围的文章

您可以使用 Camelot 从 PDF 中提取表格并将其导出为 HTML 文件。还支持CSV,Excel和JSON。您可以在以下位置查看文档:http://camelot-py.readthedocs.io。与其他开源表提取工具和库相比,它提供了更准确的结果。这是一个比较。

您可以使用以下代码片段继续执行任务:

>>> import camelot
>>> tables = camelot.read_pdf('file.pdf')
>>> type(tables[0].df)
<class 'pandas.core.frame.DataFrame'>
>>> tables[0].to_html('file.html')

免责声明:我是图书馆的作者。

如果您希望

每周从表中提取一次数据并且您使用的是Windows,请检查此免费软件pdf实用程序,其中包括自动表检测和表到CSV,XML转换:PDF查看器实用程序。

该实用程序对于非开发人员的商业和非商业用途都是免费的(对于想要通过 API 实现自动化的开发人员,还有单独的版本)。

免责声明:我为字节侦察兵工作

我已经尝试了许多OCR和文本转换器软件,尽管我相信曾经应该编写程序将PDF自转换为文本,因为执行任务的人可以更好地理解图像。

我还尝试使用谷歌和许多其他不同公司的在线(约900个网站)和离线(约1000个软件)产品。如果你想从任何方法(如OCR或PDF文本)中提取文本,那么我找到的最准确的程序是PDFTOHTML。PDFTOHTML的准确率约为98%,Google Online的准确率约为94%。这是一款非常好的软件,它还为您提供正确的文本格式,即文本的粗体、斜体等。

用于主要模板 Tabula 是开源的最佳选择,而 Abbyy PDF 编辑器是企业级 PDF 数据提取和修改的绝佳解决方案。Abbyy 从事 OCR 工作。

表格有两个自动表检测选项,另一个是通过提供坐标手动。

每次桌子

都在同一个地方吗? 如果你能找到每个框的尺寸,你可以使用一个工具将PDF拆分成多个文档,每个文档包含一个框,之后你可以使用任何你想要的工具将每个较小的PDF转换为HTML(例如其他答案中提到的工具)。 随机的谷歌搜索拉出了PyPdf,看起来它可能有一些有用的功能。

如果您无法对框的大小进行硬编码(或者想将问题应用于不同格式的多个菜单),对我来说显而易见的方法(我说显而易见,不容易)是边缘检测以找到表格边框的位置,然后应用我之前谈到的拆分。

我最近遇到了类似的问题。

我发现的另一种解决方案是在Adobe中打开PDF文档并将其导出为xml。至少在我的 PDF 中,它保留了表格信息,然后我能够以编程方式使用 XML 生成 excel 等表格文件。

我遇到的另一个问题是Adobe一次只允许您导出一个文件,而我有很多文件。幸运的是,Adobe也具有合并功能。我最终将所有文件合并在一起,然后将它们导出为一个大的XML文件,并使用该文件生成我需要的内容。

最新更新