一种基于图像信息的PDF有边框表格抽取方法与流程

文档序号:18526765发布日期:2019-08-24 10:19阅读:126来源:国知局
本发明涉及pdf文件处理方法领域,具体涉及一种基于图像信息的pdf有边框表格抽取方法。
背景技术
::pdf全称portabledocumentformat,是便携文档格式的意思,可以完美表现文件的原始样式(完美保真),不会因为使用的软件、系统,等等东西的不同而产生不同的显示效果,屏幕显示和打印输出就是发布者想要的样子。因此,目前网络上传播的文档大部分是pdf格式文件,但是这给很多从文档中整理表格数据的人群带来了困难,尤其是在金融领域,在财务报告、行业研究报告中,研究员需针对表格做进一步的深度处理,需将pdf中的表格转化成规则的行和列的形式,如excel表格等可编辑的形式。目前业内大多数pdf处理工具,基本上都是针对文本的处理,或者转化为doc格式,转化为doc后,虽然能提取出部分表格,但是由于原始pdf表格中的格式样式差异化较大,表格效果不理想,准确率较低,不能满足金融领域中高精度数据的需求。由于上述原因,本发明人开发设计出一种全新的pdf文本提取方法,尤其是pdf文本中有边框表格的提取方法。技术实现要素:为了克服上述问题,本发明人进行了锐意研究,设计出一种基于图像信息的pdf有边框表格抽取方法,该方法中先读取出pdf文件中记载的关于横竖线条的信息,并据此重新绘制图表,再对新绘制的图表做精细化处理,滤掉其中多余线条,滤掉其中背景色,找出构成表格的横线和竖线,再补全可能缺失的边框线,最后再读取pdf文件中记载的文本信息及文本位置信息,将之填写在新绘制的表格中,从而得到可编辑的与pdf文本中内容一致的表格,从而完成本发明。具体来说,本发明的目的在于提供一种基于图像信息的pdf有边框表格抽取方法,其特征在于,该方法包括如下步骤:步骤1:读取pdf文件信息,从读取到的信息中抽取出横线信息、竖线信息和颜色信息,并根据抽取出的信息绘制图片,步骤2:滤掉步骤1绘制图片中的多余线条,并且补全表格;步骤3:读取pdf文件信息,得到pdf文件中每个字符及每个字符所在位置信息,扫描步骤2中得到的表格中各个单元格的位置信息,根据位置信息将pdf文件中的字符填写到表格的单元格中。其中,所述步骤2包括如下子步骤:子步骤1:在图片的上方中部根据读取的信息选择一条或多条竖线,沿着该竖线继续向下读取/识别每一个像素点,直至该竖线截止,判断该竖线是否为构成表格的竖线;子步骤2:找出所有与子步骤1中构成表格的竖线相交的横线,沿着该横线向左右两侧读取/识别每一个像素点,直至该横线截止,判断该横线是否为构成表格的横线;子步骤3:找出所有与子步骤2中构成表格的横线相交的竖线,沿着该竖线向上下两侧读取/识别每一个像素点,直至该竖线截止,判断该竖线是否为构成表格的竖线;子步骤4:删除图片中除构成表格的竖线和构成表格的横线以外的信息。其中,判断横线或者竖线截止的条件为:沿着该线的延伸方向,连续1~3个像素点长度区域中的像素点无颜色;优选地,沿着该线的延伸方向,连续3个像素点长度区域中的像素点无颜色。其中,所述竖线的长度超过预设值时判断其为构成表格的竖线;所述横线的长度超过预设值时判断其为构成表格的横线;优选地,所述预设值为40~100个像素点;进一步优选地,所述预设值为52个像素点。其中,若所述构成表格的竖线与任何一条构成表格的横线都无交点,则删除该构成表格的竖线;若所述构成表格的横线与任何一条构成表格的竖线都无交点,则删除该构成表格的横线。其中,所述步骤2还包括下述子步骤:子步骤5:在子步骤4得到的表格边缘添加边界线,所述边界线包括位于最左侧和最右侧的竖线,还包括位于最上侧和最下侧的横线。其中,添加的边界线如果与现有的线重叠,比较重叠的两条线的长度,并删除较短的线。其中,在执行在步骤2以前,首先找出图片中的背景颜色,在读取/识别每一个像素点时,将所述背景颜色认定为无颜色;优选地,将所述背景颜色的边缘认定为构成表格的竖线和构成表格的横线。其中,在图片上设置可移动的矩形框,判断矩形边框圈定的图片区域中所有像素点的颜色,若该区域中所有像素点的颜色都一致,记录该颜色为背景颜色。其中,所述矩形边框的长度和宽度都为20~40个像素点;优选地,所述矩形边框的长度和宽度都为26个像素点。根据本发明提供的基于图像信息的pdf有边框表格抽取方法能够快速准确地将pdf文件中的表格提取出来,形成可编辑的表格文件,可以完全取代人工进行表格提取工作,并且该方法采用了全新的设计理念,能够大幅提高表格提取的准确率,能够适应并处理多种形式的复杂表格,具有良好的商业应用价值。附图说明图1示出根据本发明一种优选实施方式的基于图像信息的pdf有边框表格抽取方法整体流程图;图2示出实施例中待处理的pdf文件页面;图3示出步骤1处理后得到的包含横线信息、竖线信息和背景颜色的图片;图4示出步骤2处理后得到的已消除多余线条和背景色的图片;图5示出步骤3处理后得到的清晰完整并且与pdf文件中表格相对应的可编辑表格。具体实施方式下面通过附图和实施例对本发明进一步详细说明。通过这些说明,本发明的特点和优点将变得更为清楚明确。在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。根据本发明提供的基于图像信息的pdf有边框表格抽取方法,如图1中所示,该方法包括如下步骤:步骤1:读取pdf文件信息,从读取到的信息中抽取出横线信息、竖线信息和颜色信息,并根据抽取出的信息绘制图片,步骤2:滤掉步骤1绘制图片中的多余线条,并且补全表格;步骤3:读取pdf文件信息,得到pdf文件中每个字符及每个字符所在位置信息,扫描步骤2中得到的表格中各个单元格的位置信息,根据位置信息将pdf文件中的字符填写到表格的单元格中。其中,所述pdf文件中存储的信息包括字符信息、横线竖线信息、背景颜色信息及相应的位置信息。现有的系统软件是没办法直接判断出pdf文件中什么位置是表格、什么位置是图片,所以本发明中上述方法需要对pdf文件的每一页都做上述处理,如果步骤2中无法获得较为完整的表格,则认为该页中不存在表格,可以跳过该页继续处理下一页。本发明中步骤1中绘制的图片是指在计算机的虚拟内存/缓存中绘制的可编辑修改的图像信息。优选地,所述步骤2包括如下子步骤:子步骤1:在图片的上方中部根据读取的信息选择一条或多条竖线,沿着该竖线继续向下读取/识别每一个像素点,直至该竖线截止,判断该竖线是否为构成表格的竖线;其中,具体选择几条竖线可以根据实际情况确定,一般选择1~5条,更优选为3条,选择的越多最终结果的准确率越高,但是运算速度就会相应降低;所述读取/识别像素点主要是通过比较该像素点的颜色与构成该线条像素点的颜色是否一致,如果一致则认为该像素点也是该线条的一部分;另外,每个线条都具有一定的宽度,其宽度方向也可以包含有多个像素点,所以在读取/识别像素点时要识别该宽度方向上的全部像素点。本发明中所述的图片就是由密集排布的、显示出多种色彩的多个像素点构成的,所述像素点也是本发明中的长度度量单位;子步骤2:找出所有与子步骤1中构成表格的竖线相交的横线,沿着该横线向左右两侧读取/识别每一个像素点,直至该横线截止,判断该横线是否为构成表格的横线;子步骤3:找出所有与子步骤2中构成表格的横线相交的竖线,沿着该竖线向上下两侧读取/识别每一个像素点,直至该竖线截止,判断该竖线是否为构成表格的竖线;对于特别复杂的表格,可以再次查询与该竖线相交的横线。子步骤4:删除图片中除构成表格的竖线和构成表格的横线以外的信息,包括不能构成横线或竖线的短线条和背景颜色。优选地,判断横线或者竖线截止的条件为:沿着该线的延伸方向,连续1~3个像素点长度区域中的像素点无颜色;优选地,沿着该线的延伸方向,连续3个像素点长度区域中的像素点无颜色,该长度区域是指一个矩形区域,该矩形区域的一个边长是所述3个像素点,另一个边长是该线的宽度所对应的像素点。优选地,所述竖线的长度超过预设值时判断其为构成表格的竖线;所述横线的长度超过预设值时判断其为构成表格的横线;优选地,若所述构成表格的竖线与任何一条构成表格的横线都无交点,则删除该构成表格的竖线;若所述构成表格的横线与任何一条构成表格的竖线都无交点,则删除该构成表格的横线。优选地,所述预设值为40~100个像素点;进一步优选地,所述预设值为52个像素点。该预设值不能过大也不能过小,过大则导致最终制得的表格缺少必要线条,过小则导致最终制得的表格中含有干扰、错乱的线条。在一个优选的实施方式中,所述步骤2还包括下述子步骤:子步骤5:在子步骤4得到的表格边缘添加边界线,所述边界线包括位于最左侧和最右侧的竖线,还包括位于最上侧和最下侧的横线,即所述边界线为矩形框。优选地,所述边界线的添加位置是根据子步骤4得到的表格线条边缘点的坐标绝对值确定的,即在所有线条的最边缘添加各个边分别与页面平行的矩形框。在这个过程中也要删除/过滤掉明显不合理的点,以提高最终表格的准确性。优选地,添加的边界线如果与现有的线重叠,比较重叠的两条线的长度,并删除较短的线。在一个优选的实施方式中,在子步骤5执行完成以后,还任选地可以继续调整该表格,判断该表格中是否存在应连接而未连接的横线和竖线,具体方法为:假设每个线条都沿着其延伸方向向两侧延伸,延伸的长度为2倍的线宽,如果延伸后能够增加与其他线条垂直相交,则将该线条延伸至刚好与其他线条垂直相交的位置,如果延伸后不能与其他线条垂直相交,则不做延长处理;在一个优选的实施方式中,在执行在步骤2以前,首先找出图片中的背景颜色,在读取/识别每一个像素点时,将所述背景颜色认定为无颜色,即忽略该像素点,继续读取/识别下一个像素点,从而提高工作效率;优选地,将所述背景颜色的边缘认定为构成表格的竖线和/或构成表格的横线。在一个优选的实施方式中,在执行步骤2以前,在图片上设置可移动的矩形框,判断矩形边框圈定的图片区域中所有像素点的颜色,若该区域中所有像素点的颜色都一致,记录该颜色为背景颜色。该矩形框可以每次圈定互不重叠的区域,并且各个区域之间可以留有一定的间隔,如20~30个像素点。优选地,所述矩形边框的长度和宽度都为20~40个像素点;进一步优选地,所述矩形边框的长度和宽度都为26个像素点。在本发明的描述中,需要说明的是,术语“上”、“下”、“左”、“右”等指示的方位或位置关系为基于本发明工作状态下的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。实施例:图2中示出了一个pdf文件页面,其中包括表格、文字、横线和背景色;采用本发明提供的方法处理该pdf文件页面,具体来说:步骤1:读取pdf文件信息,从读取到的信息中抽取出横线信息、竖线信息和背景颜色信息,并根据抽取出的信息绘制图片,得到如图3中所示的图片,其中包含横线信息、竖线信息和背景颜色。步骤2:滤掉步骤1绘制图片中的多余线条,并且补全表格,得到如图4中所示的图片,其中已经没有了多余的线条和背景色,并且表格完整;步骤3:读取pdf文件信息,得到pdf文件中每个字符及每个字符所在位置信息,扫描步骤2中得到的表格中各个单元格的位置信息,根据位置信息将pdf文件中的字符填写到表格的单元格中,得到如图5中所示的表格,该表格与pdf文件中表格记载的信息一致,清晰完整,而且可编辑。以上结合了优选的实施方式对本发明进行了说明,不过这些实施方式仅是范例性的,仅起到说明性的作用。在此基础上,可以对本发明进行多种替换和改进,这些均落入本发明的保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1