PDF表格文字识别方法和装置与流程

文档序号:28160494发布日期:2021-12-24 19:36阅读:151来源:国知局
PDF表格文字识别方法和装置与流程
pdf表格文字识别方法和装置
技术领域
1.本发明涉及pdf文件识别技术领域,具体涉及一种基于单元格拓扑关系的pdf表格文字识别方法和装置。


背景技术:

2.随着数字化信息技术的发展,pdf文件在设计企业的生产和管理中发挥的作用也越来越大,受到重视的程度日益提高。许多业主在接收设计图纸的时候,往往还要求设计企业提供与之对应的pdf文件。设计企业的电子档案管理,对pdf文件归档的要求日益重要。如果设计企业对多年来积累的pdf文件能有效管理,能在大量的历史图档中找到和当前工程设计有关的图档并有效利用,就能够大大节省重新设计的时间,带来可观的效益。但是,海量的pdf文件,也带来了管理上的难题。为了把这些pdf文件进行有效的分类,必须提取图档中的工程、专业、设计者等有效信息。
3.pdf图档文件中的关键信息,往往存在于“表格”(title box)中。如图1所示,是pdf文件中的表格的示意图,该表格记录了设计企业的信息、设计者的信息、以及工程编号、图名等具体的工程信息,对图档的用途有说明作用。几乎所有正式打印交付的图档都有表格。因此,表格信息对于检索图档有着至关重要的作用。目前提取表格信息是一个重复和繁琐的手工录入过程,面对海量的pdf文件,工作量非常大,而且容易出现人为的错误。
4.自动提取表格信息的研究已经有一些成果。这些研究都集中于通过定制模板来实现表格信息的读取。因为同一设计单位的表格都具有相似的布局,因此定制模板的方式能解决相当部分表格的读取问题。然而,迄今这些识别方法都是针对相对固定的表格格式,主要借助表格中的特征文字进行识别,无法解决在实际应用中出现的表格变化问题。
5.这些问题包括:
6.(1)表格布局的变化。表格虽然有大致的布局,但往往没有严格统一的规范;同时由于表格方式的多样性,设计人员也容易随心所欲的对表格进行一些修改。比如,因为文字太多,存放文字的单元格被拉长、加宽或移位。这类布局的变化,会导致识别失败。
7.(2)相似的表格引起的重复识别问题。许多表格看似相同,实际上存在变化,特别是信息的提示文字-关键字发生变化,使得一个模板无法同时适应多种表格。如果针对每一种变化制定一个模板,又容易出现重复识别的问题,即某些图,能同时适用于多个模板。特别是表格格式比较多的时候,不同的模板之间很难完全区分开,这种情况非常容易发生。
8.(3)没有关键字指引的单元格的识别与定位。有些单元格没有明显的关键字在附近,但是又必须准确识别。


技术实现要素:

9.本发明的目的在于克服现有技术的不足,提出一种pdf表格文字识别方法和装置,通过对表格共性的提取,制定一套匹配的规则,对表格中的单元格进行准确定位,读取单元格中的文字,提取出表格信息。
10.本发明第一方面,提供一种pdf表格文字识别方法,该方法用计算机程序实现,自动读取pdf文件中的表格信息,该方法包括如下步骤:第一步,读取所述pdf表格中的文字和直线;第二步,取出下一个待匹配的模板,模板为预先定义好的;第三步,根据所述模板定义的关键字及其关键字单元格,寻找所述pdf表格中的关键字及其关键字单元格,确定所述模板与所述pdf表格是否匹配,若匹配成功则进入下一步,否则返回到第二步;第四步,根据所述模板定义的关键字单元格与其它的值单元格、混合单元格和组单元格之间的拓扑关系,寻找所述pdf表格中的值单元格、混合单元格和组单元格并提取其中的信息,得到识别结果;第五步,如果还有待匹配的其他模板,则返回到第二步;最后,等到全部模板都依次匹配识别之后,合并处理匹配成功的每一个模板的识别结果,并消除其中重复的部分,得到最终的识别结果。
11.一种实现方式中,所述第一步还包括对读取的文字和直线进行预处理,所述预处理的步骤包括:提取pdf表格中的文字和直线的坐标位置和内容参数,把不同类型的文字和直线分别归并为同一类型的文字和直线,把方向相同、首尾相连或中间部分重复的直线合并为一条单一的直线;把误差范围内略微倾斜的直线调整成为角度为0
°
或90
°
的直线;以及,把所有的直线和文字分别按照坐标位置排序。
12.一种实现方式中,所述第三步包括:寻找所述pdf表格中的一个关键字及其关键字单元格,并根据该已知关键字单元格寻找所述pdf表格内的其它单元格;如果所述模板只定义了一个关键字单元格,则在该关键字单元格找到后,认为所述模板与所述pdf表格匹配成功;如果所述模板定义了多个不同的关键字单元格,再根据所述模板定义的表格搜索范围和不同的关键字单元格之间的拓扑关系,寻找所述pdf表格中的其它关键字及其关键字单元格;如果成功完成则认为所述模板与所述pdf表格匹配成功。
13.一种实现方式中,所述第三步中寻找所述pdf表格中的一个关键字及其关键字单元格的步骤包括:在寻找关键字单元格时,根据关键字所在的位置任意确定一点p,再按上,、下、左、右方向,根据以下规则找到所有直线l:从所述点p引垂线到一直线,垂足落在所述直线上即认为获得一个所述直线l;再轮流选取四个方向上的直线,每个方向上均根据距离由近到远排序,如果是水平线,寻找垂直方向上相交的两条直线;如果是垂直线,寻找水平方向上相交的两条直线,直至得到包围该点p、且两两相交的两条水平直线和两条垂直直线,即为所述关键字所在的关键字单元格的四条边。
14.一种实现方式中,所述第三步中根据该已知关键字单元格寻找所述pdf表格内的其它单元格的步骤包括:反复根据已知关键字单元格在某个方向寻找与其相邻的单元格,其中,寻找左边相邻的单元格的步骤包括:寻找相交于所述已知关键字单元格矩形的左边线的所有直线并分别求出交点,所述交点把所述已知关键字单元格的左边线分隔成若干个线段a,找到分别相交于每个所述线段a,的上、下端点的两条水平直线b和c,再寻找位于所述线段a的左边、并且平行于所述线段a、还相交于所述水平直线b和c、同时距离a最近的直线d,所述线段a、直线b和c、以及直线d组成的单元格就是左边相邻的单元格。
15.一种实现方式中,所述第四步中寻找所述值单元格、混合单元格和组单元格并提取其中的信息的步骤包括:在寻找值单元格式时,根据所述关键字单元格,利用所述模板中规定的所述拓扑关系,找到对应的值单元格;或者在全部单元格中,寻找与所述模板定义的所述值单元格的位置最接近的一个单元格。
16.一种实现方式中,所述第四步中寻找所述值单元格、混合单元格和组单元格并提取其中的信息的步骤包括:在寻找混合单元格时,首先搜索包含混合单元格关键字的单元格,然后在单元格的内容中去除关键字部分。
17.一种实现方式中,所述第四步中寻找所述值单元格、混合单元格和组单元格并提取其中的信息的步骤包括:在寻找组单元格时,首先搜索与其配对的关键字单元格,然后反复在规定的方向上搜索与其宽度相同的单元格。
18.本发明第二方面,提供一种pdf表格文字识别装置,该装置包括:
19.读取模块,用于读取pdf表格中的文字和直线;
20.匹配模块,用于:取出一个待匹配的模板;根据所述模板定义的关键字及其关键字单元格,寻找所述pdf表格中的关键字及其关键字单元格,确定所述模板与所述pdf表格是否匹配,若匹配成功,则根据所述模板定义的关键字单元格与其它的值单元格、混合单元格和组单元格之间的拓扑关系,寻找所述pdf表格中的值单元格、混合单元格和组单元格并提取其中的信息,得到识别结果;最后,合并处理每一个模板的识别结果,并消除其中重复的部分。
21.本发明第三方面,提供一种计算机设备,包括处理器和存储器,所述存储器中存储有程序,所述程序包括计算机执行指令,当所述计算机设备运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述计算机设备执行如第一方面所述的pdf表格文字识别方法。
22.本发明第四方面,提供一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括计算机执行指令,所述计算机执行指令当被计算机设备执行时,使所述计算机设备执行如第一方面所述的pdf表格文字识别方法。
23.通过采用上述技术方案,本发明取得的技术效果如下:
24.本发明通过灵活的规则定义,改进了模板匹配的方法,实现对表格中不同类型的单元格的准确定位,从而避免了表格格式变化对识别带来的影响。一套规则能适应布局相近的多种表格,从而解决重复识别的问题。本发明通过对表格共性的提取,根据各类特征,特别是单元格之间的拓扑关系,对表格中的单元格,包括没有关键字指引的单元格,都能进行识别与定位,从而提取和分析图档中的表格内容。
附图说明
25.为了更清楚地说明本发明实施例技术方案,下面将对实施例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
26.图1是pdf文件中的表格示意图。
27.图2是本发明实施例pdf表格中不同类型的单元格示意图。
28.图3是和关键字单元格有拓扑关系、但不相邻的单元格示意图。
29.图4是多个单元格同时与一个单元格相邻的示意图。
30.图5是本发明实施例提供的一种pdf表格文字识别方法的流程图。
31.图6是本发明一个应用实施例中单元格识别过程的总流程图。
32.图7是本发明根据一点寻找包含这点的单元格搜索过程流程图。
33.图8是本发明根据一个单元格在某个方向寻找与其相邻的单元格流程图;
34.图9是本发明根据一个单元格在其左边找到相邻单元格的示意图;
35.图10是本发明实施例提供的一种pdf表格文字识别装置的结构图;
36.图11是本发明实施例提供的一种计算机设备的结构图。
具体实施方式
37.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
38.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
39.下面通过具体实施例,对本发明方案进行详细的说明。
40.本发明实施例提供一种pdf表格文字识别方法,该方法是一个计算机的自动处理过程,用于分析和提取pdf文件中的表格内容。该方法通过对表格共性的提取,制定一套匹配的规则,其核心是根据各类特征,特别是表格中各单元格之间的拓扑关系,对表格中的单元格(即表格中的一个不能再细分的格子)进行准确定位。找到需要的单元格之后,读取单元格中的文字,提取成为所需要的表格信息。
41.该过程由计算机执行,所述计算机具有一个中央处理单元,该中央处理单元在操作上连接到一个存储设备,一个控制器,一个输入设备和一个输出设备。使用存储设备来存储计算机程序和数据如处理过程中用到的直线和文字,以及适用于不同类型的pdf表格的匹配规则等。中央处理单元执行计算机程序,对pdf表格进行预处理之后,从存储器获得可用的匹配规则,逐一尝试,然后对匹配结果进行筛选和处理,得到最终的提取结果。
42.本发明通过灵活的规则定义,改进了模板匹配的方法,实现对表格中不同类型的单元格的准确定位,从而避免了表格格式变化对识别带来的影响。一套规则能适应布局相近的多种表格,从而解决重复识别的问题。
43.本发明实施例将表格中的单元格分为四类,如图2所示是表格中不同类型的单元格示意图,具体定义如下:
44.(1)关键字单元格20:格子内只有特征提示文字,没有其它内容;
45.(2)值单元格30:格子内只有信息内容,没有提示文字。值单元格又可分为两类:
46.(a)存在与其配对的关键字单元格;
47.(b)不存在与其配对的关键字单元格,如图3所示。
48.(3)混合单元格40:格子内既有特征文字,也有信息内容。
49.(4)组单元格50:即明细单元格,一个特征提示文字对应多个单元格,如图4所示。
50.本发明实施例中,表格识别所依据的规则包括:
51.(1)以某个关键字单元格为基点,定义表格搜索的大致范围。
52.(2)定义关键字单元格,以及多个关键字单元格之间的拓扑关系。根据这种拓扑关系可以判断匹配是否成功。如果表格中存在独一无二的特征关键字,则可以只定义一个关键字单元格。同一个域值的关键字可以提供多个备选,如:图号、图纸编号、工程编号.可以视为同一个关键字。
53.(3)对于值单元格,可以选择是否定义与之配对的关键字,以及与对应的关键字单元格之间的拓扑关系。
54.(4)对于混合单元格,定义其中的关键字。
55.(5)对于组单元格,定义关键字和搜索方向。
56.请参考图5,本发明实施例提供的一种pdf表格文字识别方法,其特征在于,包括如下步骤:
57.s1,即第一步,读取pdf表格中的文字和直线;
58.s2,即第二步,取出一个待匹配的模板;
59.s3,即第三步,根据所述模板定义的关键字及其关键字单元格,寻找所述pdf表格中的关键字及其关键字单元格,确定所述模板与所述pdf表格是否匹配,若匹配成功则进入下一步,否则返回到第二步;
60.s4,即第四步,根据所述模板定义的关键字单元格与其它的值单元格、混合单元格和组单元格之间的拓扑关系,寻找所述pdf表格中的值单元格、混合单元格和组单元格并提取其中的信息,得到识别结果;
61.s5,即第五步,如果还有待匹配的其他模板,则返回到第二步,否则合并处理匹配成功的每一个模板的识别结果,并消除其中重复的部分。
62.下面,结合具体的应用实施例对比本发明方法作进一步详细说明。
63.如图6所示是本发明提供的pdf表格文字识别方法中单元格识别过程的总流程图,基于单元格拓扑关系的识别过程总结如下:
64.(1)读取pdf表格中的文字和直线的内容和准确的坐标位置。
65.(2)预处理:
66.(2.1)把pdf文件中的所有文字和直线提取出来。
67.(2.2)把方向相同、首尾相连或中间部分重复的直线合并为一条单一的直线。
68.(2.3)把误差范围内略微倾斜的直线调整成为角度为0
°
或90
°
的直线。以下判断直线交点的时候,互相垂直的直线的计算量很小,可以显著提高速度。
69.(2.4)把所有的直线和文字按照坐标位置排序。
70.(3)取出下一个待匹配的模板。
71.(4)根据模板的设定,在pdf表格中找到表格的任一关键字,并确定包围这个关键字的单元格,即关键字单元格。根据一点,寻找包含这点的单元格的算法参见如图7所示的过程a,后文予以详细说明。
72.(5)以找到的这个已知关键字单元格为中心,根据模板指引的大致范围,寻找、确定其周围的所有单元格。以第一个获得定位的关键字单元格为起点,分别向上、下、左、右四个方向寻找相邻的单元格,直至无法再找到新的单元格,或者搜索范围超出模板定义的范
围。记录这些单元格相互之间的拓扑关系。
73.其中反复用到一个算法:根据一个单元格,在某个方向寻找与其相邻的单元格。参见如图8所示的过程b,后文予以详细说明。
74.(6)根据模板定义的关键字及其关键字单元格,以及关键字单元格有多个时,不同关键字单元格之间的拓扑关系,可以确定当前的pdf表格与模板是否匹配。其中,如果模板只定义了一个关键字单元格,而该单元格已经找到,则直接认为匹配成功。如果不是只定义了一个、而是定义了多个不同的关键字单元格,则还要根据模板定义的表格搜索范围和不同的关键字单元格之间的拓扑关系,寻找pdf表格中的其它关键字及其关键字单元格,如果都能成功找到,即,模板定义的关键字单元格之间的拓扑关系(如相对位置关系),和实际找到的关键字单元格及其拓扑关系一致,则认为匹配成功。
75.(7)根据所述模板定义的关键字单元格与其它的值单元格、混合单元格和组单元格之间的拓扑关系,从pdf表格中搜索寻找当前模板定义的范围内的其它值单元格、混合单元格、组单元格。
76.(7.1)值单元格的搜索方法:
77.如果没有定义配对的关键字单元格,则在所有的单元格中,寻找与模板定义的值单元格最接近的一个单元格。
78.如果定义了配对的关键字单元格,则采用步骤(4)所述的方法,找到这个关键字单元格,然后根据拓扑关系,找到对应的值单元格。这种方法特别适用于单元格被拉伸变形的情况。在表格中的某些单元格被拉伸变形的情况下,真正的值单元格的位置往往与模板中的有所不同,但是如果先找到配对的关键字单元格,再按照拓扑关系来找,则可以准确定位。特别的,如果这个拓扑关系是跨越了若干单元格,而不是直接相邻的,则可以解决“没有关键字指引的单元格的识别与定位”问题。如图2中的空白单元格,可以描述为:与“批准”关键字单元格右相邻的第二列单元格。拓扑关系描述了相互有关联的两个单元格之间的位置关系,有效避免了单元格形状变化带来的干扰。实际情况中,和一个单元格的某个方向相邻的单元格可能不止一个(图3),但这可以用方向+序号来定量描述。
79.(7.2)混合单元格的搜索方法:
80.首先搜索包含混合单元格关键字的单元格,然后在单元格的内容中去除关键字部分,剩下的就是需要识别的信息。
81.(7.3)组单元格的搜索方法:
82.首先搜索与其配对的关键字单元格,然后应用步骤(4)采用的方法,反复在规定的方向上搜索与其宽度相同的单元格。所有搜索到的都是合适的组单元格。
83.(8)综合所有的识别结果,合并识别区域重复的信息。
84.具体的,如果还有待匹配的其他模板,则返回到步骤(3),重复执行上述步骤(3)至(7),直到每一个模板都被用来进行匹配识别。其中,可能有部分模板匹配成功,得到相应的识别结果;部分模板则没有匹配成功。最后,合并处理匹配成功的每一个模板的识别结果,并消除其中重复的部分,得到最终的识别结果。
85.下面,对前文提到的过程a和过程b分别说明如下。
86.过程a:根据一点,寻找包含这点的单元格,搜索过程流程图如图7所示。包括如下步骤:
87.(1)按上,下,左,右方向,根据以下规则找到所有直线:从该点引垂线到该直线,垂足落在直线上;
88.(2)轮流选取四个方向上的直线(每个方向上均根据距离由近到远排序),根据以下规则轮流判断:如果是水平线,必须保证该线和垂直方向上的两条直线相交;如果是垂直线,必须保证该线和水平方向上的两条直线相交;
89.(3)最后得到包围该点、且两两相交的两条水平直线和两条垂直直线,组成包围该点的最小单元格。
90.过程b:根据一个单元格,在某个方向(以向左为例)寻找与其相邻的单元格,其搜索过程的流程图如图8所示。包括如下步骤:
91.(1)寻找和当前单元格矩形的左边线相交的所有直线,求出交点;
92.(2)根据交点把单元格的左边线分隔成若干线段;
93.(3)对其中的每个线段a,找到分别和这个线段的上、下端点相交的两条水平直线b和c;
94.(4)寻找一条在a的左边、和a平行、和b、c均相交、距离a最近的直线d。a、b、c、d组成的单元格就是需要寻找的其中一个单元格,如图9所示。
95.以上,对本发明提供的一种pdf表格文字识别方法进行了说明。为便于理解和实施本发明方案,下面还提供相关的装置。
96.请参考图10,本发明实施例提供一种pdf表格文字识别装置,包括:
97.读取模块60,用于读取pdf表格中的文字和直线;
98.匹配模块70,用于:取出一个待匹配的模板;根据所述模板定义的关键字及其关键字单元格,寻找所述pdf表格中的关键字及其关键字单元格,确定所述模板与所述pdf表格是否匹配,若匹配成功,则根据所述模板定义的关键字单元格与其它的值单元格、混合单元格和组单元格之间的拓扑关系,寻找所述pdf表格中的值单元格、混合单元格和组单元格并提取其中的信息,得到识别结果;最后,合并处理每一个模板的识别结果,并消除其中重复的部分。
99.请参考图11,本发明实施例还提供一种计算机设备11,包括处理器11a和存储器11b,所述存储器11b中存储有程序,所述程序包括计算机执行指令,当所述计算机设备运行时,所述处理器11a执行所述存储器11b存储的所述计算机执行指令,以使所述计算机设备执行如上文所述的pdf表格文字识别方法。
100.综上,本发明实施例公开了一种pdf表格文字识别方法和装置及设备。通过采用上述技术方案,本发明取得的技术效果如下:
101.本发明通过灵活的规则定义,改进了模板匹配的方法,实现对表格中不同类型的单元格的准确定位,从而避免了表格格式变化对识别带来的影响。一套规则能适应布局相近的多种表格,从而解决重复识别的问题。本发明通过对表格共性的提取,根据各类特征,特别是单元格之间的拓扑关系,对表格中的单元格,包括没有关键字指引的单元格,都能进行识别与定位,从而提取和分析图档中的表格内容。
102.以上,通过具体实施例对本发明的技术方案进行了详细说明。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
103.应当理解,上述各实施例仅用以说明本发明的技术方案,而非对其限制。本领域的普通技术人员,可以对上述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1