一种识别文档中数据表格的方法及装置制造方法及图纸

技术编号:4105655 阅读:176 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于文档应用领域,公开了一种识别文档中数据表格的方法和装置,所述方法包括:提取PDF文档中的文本;根据提取的文本的属性对文本进行划分,得到一划分结果;对划分结果进行判断和处理,识别并生成数据表格;将数据表格保存至独立的中间数据结构中;根据目标文档格式将所述中间数据结构中的数据表格还原。本发明专利技术准确的对PDF中的表格数据进行转换,极大的提高了转换后的可编辑性,减少了转换后对文档再次手工处理的工作。

【技术实现步骤摘要】

本专利技术属于文档应用领域,具体涉及一种识别文档中数据表格的方法及装置
技术介绍
随着电脑的不断普及,无纸化办公得到越来越多的应用,各种各样的文档也大量 的出现在用户的面前。在可移植文档格式(Portable Document Format,PDF)文档中,实际看到的表格是 线条与文本叠加形成的。因此,在将PDF文件转换为其它较易于编辑的文档格式时,如果仅 仅是从PDF文档中提取原始数据内容,就会得到分散的文本内容与线条;如果需要表格,需 要手动删除线条,插入表格,并将文本内容重新填入表格中,费时费力。同时,在PDF中,还存在一些文本内容是以类似表格的形式呈现,却没有相应的表 格线来形成真正的表格。这些文本内容在提取后,若不经过特殊的处理,较难保持原有的排 版。从PDF文档中提取数据后,根据其中的线条识别出表格,再将文本内容填入表格 中,由于表格识别受到线条制约,无法识别没有表格线的表格,表格的表格线缺失对其识别 过程也有一定影响。同时,在对存在大量线条的文档进行表格识别时,处理也比较缓慢。对于有数据表格或者类似表格的平面二维数据表的PDF,如果根据PDF中的线条 进行表格识别,虽然可以还原表格,却可能会因为表格线缺失或无表格线,导致识别受到影 响或不能进行。如何准确的对PDF中的表格数据进行转换,提高转换后的可编辑性,减少转换后 对文档再次手工处理的工作,是文档应用领域研究的方向之一。
技术实现思路
本专利技术的目的在于提供一种识别文档中数据表格的方法,目的在于准确的对PDF 中的表格数据进行转换,提高转换后的可编辑性,减少转换后对文档再次手工处理的工作。本专利技术实施例是这样实现的,一种识别文档中数据表格的方法,所述方法包括以 下步骤提取PDF文档中的文本;根据提取的文本的属性对文本进行划分,得到一划分结果;对划分结果进行判断和处理,识别并生成数据表格;将数据表格保存至独立的中间数据结构中;根据目标文档格式将所述中间数据结构中的数据表格还原。本专利技术实施例的另一目的在于提供一种识别文档中数据表格的装置,所述装置包 括文本提取模块,用于提取PDF文档中的文本;文本划分模块,用于根据提取的文本的属性对文本进行划分,得到一划分结果;数据表格生成模块,用于对划分结果进行判断和处理,识别并生成数据表格;数据表格存储模块,用于将数据表格保存至独立的中间数据结构中;数据表格还原模块,用于根据目标文档格式将所述中间数据结构中的数据表格还 原。本专利技术实施例通过将提取出来的PDF文档元素中的文本,根据文本的大小、位置 等属性,进行划分,通过对划分结果的判断与处理,进行数据表格的识别与生成,并将识别 的结果保存至独立的中间数据结构中,通过对该结构的读取,在生成其它文档格式时还原 数据表格,极大的提高了内容的还原度和阅读性,提高了可编辑性,减少了转换后对文档再 次手工处理的工作。附图说明图1为本专利技术实施例提供的识别文档中数据表格的方法的流程图;图2为本专利技术实施例提供的识别文档中数据表格的装置的结构图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不 用于限定本专利技术。图1示出了本专利技术实施例提供的识别文档中数据表格的方法的流程。在步骤SlOl中,提取PDF文档中的文本;在步骤S102中,根据提取的文本的属性对文本进行划分,得到一划分结果;在步骤S103中,通过对所述划分结果的判断与处理,进行数据表格的识别与生 成;在步骤S104中,将识别的结果保存至独立的中间数据结构中;在步骤S105中,根据目标文档格式将所述中间数据结构中的数据表格还原。具体的,步骤SlOl描述如下PDF页面显示的内容均是由页面内容流中的一系列控制字来表示的。在具体实施 过程中,根据PDF页面内容流控制字所指示的绘制指令,提取该绘制指令中指示的要绘制 的文本块,并将提取的文本块保存至文本块集合中。其中,提取出的文本块保存有位置、外 接矩形区域大小等基本信息。具体的,步骤S102包括步骤A、对文本块进行划分;步骤B、对文本间隙进行划 分。PDF中文本块的表示方式较复杂,除了通常理解的连续的几个文字之外,还能够根 据参数调整文字间距,因此会出现一个文本块可能包含两块甚至数块文字块的情形。这种 文本块在提取时仍将认为是一个文本块,但实际上其中应该包含数个文本块。为了简化识 别的判断逻辑,同时排除中间空隙很大的文本块造成的影响,有必要将提取出的这种文本 块进行分割。其中,步骤A,对文本块进行划分描述如下Al)、判断是否包含子文本块,若不包含,继续进行下一个文本块的处理;若包含,则进行步骤A2)A2)、对文本块中的每一个子文本块,都用下列规则进行处理判断当前子文本块与其前一个子文本块之间的间隙是否大于判断阀值,其中该判 断阀值可以依据统计数据或经验来确定及调整;若大于,则将文本块从当前子文本块位置进行分割,当前子文本块之前的所有子 文本块为一个文本块,当前子文本块以及当前文本块之后的子文本块为另一个文本块若不大于,则继续判断下一个子文本块。A3)、若文本块被分割,则对分割出来的,还含有未处理过的子文本块的文本块继 续按照步骤Al进行处理,若没有分割,则继续处理下一个文本块。上述处理完成后,文本块集合中已经没有中间空白间隙很大的文本块,此时进行 步骤B。其中,步骤B、对文本块间隙进行划分描述如下通过对文本块之间的空白间隙进行划分,确定数据的网格分布,作为生成表格的 依据。空白间隙划分分为行方向划分和列方向划分2种,2种划分的步骤是相同的。Bi)、对文本块集合按文本块位置进行另一方向的一次划分,即若是行方向间隙划 分,则进行列划分;若是列方向间隙划分,则进行行划分;B2)、对步骤Bl中划分出的每一行(列),进行以下处理a)、再进行一次划分,即若是行方向间隙划分,则进行行划分;若是列方向间隙划 分,则进行列划分;b)、扫描步骤a中的划分结果,将划分出的块之间的空白间隙属性(在划分方向上 的起始和结束位置)记录至一个空白属性集合中。其中,间隙属性按照间隙起始位置由小 到大有序排列;C)、将步骤b中记录的空白间隙属性集合合并到原有的空白间隙属性集合中。本 专利技术实施例在此处定义2个游标当前间隙属性指针和新加间隙属性指针,标识遍历过程中当前操作的2个间隙属 性;同时需要定义一个相交标志,标识前一次比较的2个属性是否相交。基于前面的定义, 空白间隙合并的规则可以描述为包括i、若原有集合为空,直接并入;ii、若原有集合非空,则初始化当前间隙属性指针指向原有集合的第一个元素,新 加间隙属性指针也初始化为指向新的空白间隙属性集合的第一个元素;iii、按下列规则合并当前间隙属性指针指向的间隙属性(以下简称当前间隙)与 新加间隙属性指针指向的间隙属性(以下简称新加间隙)(1)、若间隙属性指针已经移动到最后一个元素的后面,即已经访问完了原有间隙 集合中的元素,则直接插入新加间隙到集合末尾;(2)、若当前间隙与新加间隙相交,则取2个属性的交集,即起始位置取大值,结束 位置取小值,将当前间隙属性指针指向的间隙属性修改为此交集的属性;同时置相交标志 为真;(3)、若新加间隙在当前本文档来自技高网...

【技术保护点】

【技术特征摘要】
一种识别文档中数据表格的方法,其特征在于,所述方法包括以下步骤提取PDF文档中的文本;根据提取的文本的属性对文本进行划分,得到一划分结果;对划分结果进行判断和处理,识别并生成数据表格;将数据表格保存至独立的中间数据结构中;根据目标文档格式将所述中间数据结构中的数据表格还原。2.如权利要求1所述的识别文档中数据表格的方法,其特征在于,所述提取PDF文档中 的文本的步骤具体包括根据PDF页面内容流控制字所指示的绘制指令,提取该绘制指令对应的要绘制的文本块;将提取的文本块保存至一文本块集合中,其中,提取出的文本块保存有该文本块的位 置以及外接矩形区域大小信息。3.如权利要求2所述的识别文档中数据表格的方法,其特征在于,根据提取的文本的 属性对文本进行划分,得到一划分结果的步骤具体包括对文本块集合中的文本块进行划分; 对文本间隙进行划分,获取间隙属性集合。4.如权利要求3所述的识别文档中数据表格的方法,其特征在于,所述对划分结果进 行判断和处理,识别并生成数据表格的步骤具体包括根据获取的间隙属性集合计算出表格的网格线,所述网格线包括有行线和列线; 根据生成的网格线生成一表格。5.如权利要求4所述的识别文档中数据表格的方法,其特征在于,将数据表格保存至 独立的中间数据结构中的步骤具体包括对于文本块集合中的每一个文本块,根据该文本块的位置信息,结合网格线进行计算, 确定该文本块所属的表格中的单元格; 将该文本块填至上述确定的单元格中。6.一种识别文档中数据表格的装置,其特征在于,所述装置包括 文本提取模块,用于提...

【专利技术属性】
技术研发人员:李譞
申请(专利权)人:深圳市万兴软件有限公司
类型:发明
国别省市:94

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1