解析PDF文档中的表格

Ale*_*ord 4 python pdf parsing pdfbox apache-tika

此链接中的PDF(http://www.lenovo.com/psref/pdf/psref450.pdf)包含许多这样的表:

在此输入图像描述

我想以编程方式从这些表中提取数据和结构.

我尝试过的事情:使用PDF将PDF转换为HTML

  1. Tika:不幸的是,这些表被转换为空格分隔的段落 - 并且一些字符串包含空格,因此拆分它们是不可能的.
  2. Python的PDFMiner:由于缺少字体而返回了一个断言错误.我怀疑HTML与Tika的输出类似,但我需要用缺少的字体解决问题以确认这一点.
  3. 在线工具:我试过http://www.zamzar.com/和其他几个.该文件要么太大而无法处理(对于在线服务),要么生成错误.

我打算将PDF转换为HTML,然后使用BeautifulSoup解析它.

输出可以是JSON(例如,每个表一个对象),XML,或几乎任何维护结构的格式.

jar*_*raj 5

你可以试试PDFBox.该文档在这里:

https://pdfbox.apache.org/1.8/cookbook/textextraction.html

扩展org.apache.pdfbox.pdfviewer.PDFPageDrawer并覆盖strokePath方法.从那里,您可以截取水平和垂直线段的绘制操作,并使用该信息确定列和行位置.您可以设置文本区域以确定在哪个区域中绘制哪些数字/字母/字符.由于您知道区域的布局是表格式的,因此您将能够使用简单的算法定义表并告知提取的文本属于哪个列和行.