从PDF中提取表格数据

时间:2014-05-06 12:56:21

标签: pdf pdftotext pdf-to-html

有没有一致的方法从PDF文件中提取表格?有什么工具吗?

到目前为止我做了什么:

  • 我尝试了pdftotext工具。它有一个转换为HTML布局的选项。

有什么问题:

  • 表格信息不会保留在HTML输出
  • 我预计会有<table>个标签,但所有内容都在<p>标签下。

PDF文档中是否有标记表示表格结构?与HTML中的<table><tr><td>一样?

如果“是”,任何对此的指示都会有所帮助。如果“不”,那么关于这一事实的明确信息也会有所帮助。

2 个答案:

答案 0 :(得分:13)

如果PDF文档遗漏了将内容标记为表格,行,单元格等(称为标记)的信息,则没有一致的方法从PDF文档中提取表格。大多数情况下,PDF文档不包含这些标记。这些标签通常用于使PDF可访问,以便例如可以大声朗读。 PDF无需使用这些标签。

答案 1 :(得分:8)

然而,您可以使用pdftotext -layout input.pdf output.txt。 它在文本文件中打印pdf并包含原始布局。没有标签,但有一些漂亮的脚本(perl / php /等),你可以从表中恢复数据。

如果您正在处理单个页面,那么您可能最好手动执行此操作,但如果您(像我一样)必须处理100页或1000页的页面,那么它就是您可以获得的最佳效果。 我一直在寻找很长一段时间,找不到比pdftotext更好的pdf-2文本工具。

输出中存在一些不一致,并非所有类似的pdf表都会产生类似的txt输出,但这会使您的脚本更有趣。