CN102567302B - 排版方式识别方法和装置 - Google Patents

排版方式识别方法和装置 Download PDF

Info

Publication number
CN102567302B
CN102567302B CN201010621805.XA CN201010621805A CN102567302B CN 102567302 B CN102567302 B CN 102567302B CN 201010621805 A CN201010621805 A CN 201010621805A CN 102567302 B CN102567302 B CN 102567302B
Authority
CN
China
Prior art keywords
difference
base line
horizontal base
vertical
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010621805.XA
Other languages
English (en)
Other versions
CN102567302A (zh
Inventor
徐剑波
黄文娟
董宁
朱兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Fangzheng Apapi Technology Co Ltd
New Founder Holdings Development Co ltd
Original Assignee
Peking University Founder Group Co Ltd
Beijing Founder Apabi Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University Founder Group Co Ltd, Beijing Founder Apabi Technology Co Ltd filed Critical Peking University Founder Group Co Ltd
Priority to CN201010621805.XA priority Critical patent/CN102567302B/zh
Publication of CN102567302A publication Critical patent/CN102567302A/zh
Application granted granted Critical
Publication of CN102567302B publication Critical patent/CN102567302B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Character Input (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明实施例公开了一种排版方式识别方法和装置,涉及计算机信息处理领域,用于解决如何自动识别版式文档页面中文字块的排版方式的问题。本发明中,提取版式文档页面中文字块内的原始块后,根据提取到的各原始块的序号将提取到的原始块进行排序,计算排序后每两个相邻原始块的水平基线差值和垂直基线差值,确定计算得到的水平基线差值中出现次数最多的水平基线差值以及计算得到的垂直基线差值中出现次数最多的垂直基线差值,并根据确定的出现次数最多的水平基线差值和出现次数最多的垂直基线差值,确定所述文字块内原始块的排版方式。可见,采用本发明能够自动识别版式文档页面中文字块的排版方式。

Description

排版方式识别方法和装置
技术领域
本发明涉及计算机信息处理领域,尤其涉及一种排版方式识别方法和装置。
背景技术
版式文档的页面可以包含一个或多个文字块,每个文字块包含一个或多个原始块,如图1所示,页面中的一段文字被划分为一个文字块,该文字块中的每个矩形包围的文字为一个原始块。
目前可以采用横排、竖排等排版方式对文字块中的原始块进行排版,对于每种排版方式,又具有不同的排版方向,例如,横排包括从左到右和从右到左的排版方向,竖排也包括从左到右和从右到左的排版方向。
在实现本发明的过程中,发明人发现现有技术中存在以下技术问题:
如何自动识别版式文档页面中文字块的排版方式及排版方向,目前还没有具体的实现方案。
发明内容
本发明实施例提供一种排版方式识别方法和装置,用于解决如何自动识别版式文档页面中文字块的排版方式的问题。
一种排版方式识别方法,该方法包括:
提取版式文档页面中文字块内的原始块;
根据提取到的各原始块的序号将提取到的原始块进行排序;
计算排序后每两个相邻原始块的水平基线差值和垂直基线差值;
确定计算得到的水平基线差值中出现次数最多的水平基线差值以及计算得到的垂直基线差值中出现次数最多的垂直基线差值;
根据确定的出现次数最多的水平基线差值和出现次数最多的垂直基线差值,确定所述文字块内原始块的排版方式。
一种排版方式识别装置,该装置包括:
原始块提取单元,用于提取版式文档页面中文字块内的原始块;
原始块排序单元,用于根据提取到的各原始块的序号将提取到的原始块进行排序;
基线差值计算单元,用于计算排序后每两个相邻原始块的水平基线差值和垂直基线差值;
基线差值确定单元,用于确定计算得到的水平基线差值中出现次数最多的水平基线差值以及计算得到的垂直基线差值中出现次数最多的垂直基线差值;
排版方式确定单元,用于根据确定的出现次数最多的水平基线差值和出现次数最多的垂直基线差值,确定所述文字块内原始块的排版方式。
本发明中,提取版式文档页面中文字块内的原始块后,根据提取到的各原始块的序号将提取到的原始块进行排序,计算排序后每两个相邻原始块的水平基线差值和垂直基线差值,确定计算得到的水平基线差值中出现次数最多的水平基线差值以及计算得到的垂直基线差值中出现次数最多的垂直基线差值,并根据确定的出现次数最多的水平基线差值和出现次数最多的垂直基线差值,确定所述文字块内原始块的排版方式。可见,采用本发明能够自动识别版式文档页面中文字块的排版方式,达到本发明的发明目的。
附图说明
图1为现有技术中的原始块划分示意图;
图2为本发明实施例提供的方法流程示意图;
图3A-3D为本发明实施例中的排版方式示意图;
图3E为本发明实施例中的原始块边界示意图;
图4为本发明实施例提供的装置结构示意图。
具体实施方式
为了能够实现自动识别版式文档页面中文字块的排版方式,本发明实施例提供一种排版方式识别方法,本方法中,将版式文档页面中文字块内的原始块根据原始块的序号进行排序后,计算排序后每两个相邻原始块的水平基线差值和垂直基线差值,并根据出现次数最多的水平基线差值以及出现次数最多的垂直基线差值,确定文字块内原始块的排版方式。
参见图2,本发明实施例提供的排版方式识别方法,具体包括以下步骤:
步骤10:提取版式文档页面中文字块内的原始块;
步骤11:根据提取到的各原始块的序号将提取到的原始块进行排序;
步骤12:计算排序后每两个相邻原始块的水平基线差值和垂直基线差值;
步骤13:确定计算得到的水平基线差值中出现次数最多的水平基线差值以及计算得到的垂直基线差值中出现次数最多的垂直基线差值;
步骤14:根据确定的出现次数最多的水平基线差值和出现次数最多的垂直基线差值,确定所述文字块内原始块的排版方式。
步骤11中,原始块的序号是版式文档制作者在制作版式文档时为每个原始块设置的序号,该序号标明了版式文档中的原始块的输出顺序。在根据各原始块的序号将原始块进行排序时,若版式文档制作者为原始块设置的序号依次增大,则可以按照序号从小到大的顺序将各原始块进行排序;若版式文档制作者为原始块设置的序号依次减小,则可以按照序号从大到小的顺序将各原始块进行排序。
步骤12中,两个相邻原始块的水平基线差值是指,该两个相邻原始块中一个原始块的水平基线值与另一个原始块的水平基线值的差值。两个相邻原始块的垂直基线差值是指,该两个相邻原始块中一个原始块的垂直基线值与另一个原始块的垂直基线值的差值。因此,计算两个相邻原始块的水平基线差值和垂直基线差值,其具体实现方式可以如下:
计算两个相邻原始块中前一原始块的水平基线值与后一原始块的水平基线值的差值,将该差值作为两个相邻原始块的水平基线差值;
计算两个相邻原始块中前一原始块的垂直基线值与后一原始块的垂直基线值的差值,将该差值作为两个相邻原始块的垂直基线差值。
需要说明的是,原始块的水平基线值和垂直基线值是原始块的属性值,版式文档制作者在输入文字时,会自动设置原始块的水平基线值和垂直基线值。
步骤13中,确定计算得到的水平基线差值中出现次数最多的水平基线差值以及计算得到的垂直基线差值中出现次数最多的垂直基线差值,其具体实现方式可以如下:
预先建立用于存储水平基线差值和水平基线差值出现次数的第一映射表、以及用于存储垂直基线差值和垂直基线差值出现次数的第二映射表;
在步骤12中每计算得到一个水平基线差值后,在第一映射表中查找该水平基线差值,若查找到,则将该水平基线差值对应的出现次数加1,若未查找到,则将该水平基线差值保存在第一映射表中,并设置该水平基线差值出现的次数为1;在步骤12中每计算得到一个垂直基线差值后,在第二映射表中查找该垂直基线差值,若查找到,则将该垂直基线差值对应的出现次数加1,若未查找到,则将该垂直基线差值保存在第二映射表中,并设置该垂直基线差值出现的次数为1;每个水平基线差值对应的出现次数的初始值为0;
在第一映射表中查找出现次数最多的水平基线差值,将查找到的水平基线差值确定为计算得到的水平基线差值中出现次数最多的水平基线差值;在第二映射表中查找出现次数最多的垂直基线差值,将查找到的垂直基线差值确定为计算得到的垂直基线差值中出现次数最多的垂直基线差值。
步骤14中,根据确定的出现次数最多的水平基线差值和出现次数最多的垂直基线差值确定文字块内原始块的排版方式,其具体实现方式可以如下:
若出现次数最多的水平基线差值与文字块内的原始块的宽度值(即字宽)的差值的绝对值在预先设定的第一取值范围内,并且出现次数最多的垂直基线差值与0的差值的绝对值在预先设定的第二取值范围内,则确定所述文字块内原始块的排版方式为横排;横排的排版方式可以参见图3A;
若所述出现次数最多的水平基线差值与0的差值的绝对值在预先设定的第三取值范围内,并且出现次数最多的垂直基线差值与所述文字块内原始块的高度值(即字高)的差值的绝对值在预先设定的第四取值范围内,则确定所述文字块内原始块的排版方式为竖排;竖排的排版方式可以参见图3B;
若所述出现次数最多的水平基线差值的绝对值大于所述出现次数最多的垂直基线差值的绝对值,则确定所述文字块内原始块的排版方式为横排式斜排;横排式斜排的排版方式可以参见图3C;否则,确定所述文字块内原始块的排版方式为竖排式斜排;竖排式斜排的排版方式可以参见图3D。
为了保证排版方式确定结果的精确性,第一取值范围可以为0.6-1,第二取值范围可以为0.01-0.09,第三取值范围可以为0.01-0.09,第四取值范围可以为0.6-1。当然,如果不考虑排版方式确定结果的精确性,第一取值范围、第二取值范围、第三取值范围和第四取值范围可以为不小于0的任何数值范围。
较佳的,在确定文字块内原始块的排版方式为横排之后,可以进一步确定横排的排版方向,具体如下:
确定步骤12中计算得到的数值大于0的水平基线差值的个数与计算得到的数值小于0的水平基线差值的个数的差值;
若确定的差值大于0,则确定横排的排版方向为从左到右的横排;否则,确定横排的排版方向为从右到左的横排。
较佳的,在确定所述文字块内原始块的排版方式为竖排之后,可以进一步确定竖排的排版方向,具体如下:
确定文字块内包含的原始块的列数;
若所述列数为1,则确定竖排的排版方向为无方向的竖排;
若所述列数大于1,则计算相邻两列原始块中每一列原始块的序号平均值,若左列原始块的序号平均值大于右列原始块的序号平均值,则确定竖排的排版方向为从右到左的竖排;否则,确定竖排的排版方向为从左到右的竖排。
较佳的,在确定所述文字块内原始块的排版方式为横排式斜排之后,可以进一步确定横排式斜排的排版方向,具体如下:
确定步骤12中计算得到的数值大于0的水平基线差值的个数与计算得到的数值小于0的水平基线差值的个数的差值;
若确定的差值大于0,则确定横排式斜排的排版方向为从左到右的横排式斜排;否则,确定横排式斜排的排版方向为从右到左的横排式斜排。
较佳的,在确定所述文字块内原始块的排版方式为竖排式斜排之后,可以进一步确定竖排式斜排的排版方向,具体如下:
确定文字块内包含的原始块的列数;
若所述列数为1,则确定竖排式斜排的排版方向为无方向的竖排式斜排;
若所述列数大于1,则计算相邻两列原始块中每一列原始块的序号平均值,若左列原始块的序号平均值大于右列原始块的序号平均值,则确定竖排式斜排的排版方向为从右到左的竖排式斜排;否则,确定竖排式斜排的排版方向为从左到右的竖排式斜排。
上述确定步骤12中计算得到的数值大于0的水平基线差值的个数与计算得到的数值小于0的水平基线差值的个数的差值,其具体实现可以如下:
首先步骤12中在每计算得到一个水平基线差值后,确定该水平基线差值是否大于0,若是,则将初始值为0的水平计数器值加1,否则,将所述水平计数器值减1;在水平基线差值计算完成后,获取所述水平计数器值,将该水平计数器值确定为上述计算得到的数值大于0的水平基线差值的个数与计算得到的数值小于0的水平基线差值的个数的差值。
上述确定文字块内包含的原始块的列数,其具体实现可以如下:
首先,对于提取到的原始块中每两个相邻原始块,执行如下步骤:计算后一原始块与前一原始块的垂直基线差值;确定该垂直基线差值是否大于预先设置的列间距值,若是,则判定后一原始块与前一原始块位于不同列,将初始值为1的列数计数器值加1,否则,判定后一原始块与前一原始块位于同一列;这里,为了保证统计结果的正确性,列间距值可以是不大于该后一原始块的字号的1.1倍的数值,较佳的,列间距值可以是该后一原始块的字号的1.1倍的数值。当然,列间距值还可以取其他任何大于0的数值。
最后,将列数计数器值确定为文字块内包含的原始块的列数。
下面结合具体实施例对本发明进行说明:
实施例一:
步骤1:从版式文档中提取文字块中的原始块以及原始块的信息,原始块的信息包括文字内容、字号大小、序号、水平基线、垂直基线以及该文字块的区域位置信息。
文字块中包含了一个及其以上的原始块,本发明在提取文字块时,其中的原始块是已经划分好了的。可以参考图1,图1中每一个矩形包围的文字就是一个原始块。
步骤2:对文字块中的原始块按照输出时的顺序即原始块序号进行排序。
步骤3:依次计算相邻两个原始块的水平基线差值dx和垂直基线差值dy,根据dx与0的关系,设置水平计数器hy的值,即如果dx大于0,则hy加1,否则hy减1。
图3E中矩形区域内的文字“学”的垂直基线为97.7,水平基线为522.18,左边界为97.4,上边界为506.0,右边界为117.5,下边界为525.5。
步骤4:分别统计出现次数最多的dx,将该dx记为fx,以及出现次数最多的dy,将该dy记为fy,具体如下:
首先,依次将相邻两个原始块的水平基线差值dx和垂直基线差值dy四舍五入取整;
然后,设置两个映射表(map),分别用来记录dx和dy的值以及其出现的次数;分别将dx和dy在其相应的映射表中查找,若dx或dy在映射表中未找到,则记录在映射表中,并设置其出现的次数为1;否则将其出现的次数加1;
这里,从数据结构上,映射表是一种具有键/值(key/value)结构的集合,利用key可以定位到其value,在本发明中,key相当于dx、dy,value相当于dx、dy分别出现的次数。
本发明中,采用的是映射表,也可以设置其它的数据结构集合,用来记录key值和其相应的value值。
最后,分别在dx、dy相应的映射表中查找出现次数最多的dx、dy,并分别记录为fx,fy。
步骤5:判断fx是否接近于原始块的宽度且fy是否接近于0,即fx与原始块的宽度值的差值的绝对值是否在0.6-1内、以及fy与0的差值的绝对值是否在0.01-0.09内,判断均为是,则确定排版方式为横排。
步骤6:根据水平计数器hy的值确定横排的排版方向:若hy大于0,则排版方向为从左到右的横排,否则排版方向为从右到左的横排。
实施例二:
步骤1:从版式文档中提取文字块中的原始块以及原始块的信息,原始块的信息包括文字内容、字号大小、序号、水平基线、垂直基线以及该文字块的区域位置信息。
文字块中包含了一个及其以上的原始块,本发明在提取文字块时,其中的原始块是已经划分好了的。可以参考图1,图1中每一个矩形包围的文字就是一个原始块。
步骤2:对文字块中的原始块按照输出时的顺序即原始块序号进行排序。
步骤3:依次计算相邻两个原始块的水平基线差值dx和垂直基线差值dy,根据dx与0的关系,设置水平计数器hy的值,即如果dx大于0,则hy加1,否则hy减1。
图3E中矩形区域内的文字“学”的垂直基线为97.7,水平基线为522.18,左边界为97.4,上边界为506.0,右边界为117.5,下边界为525.5。
步骤4:分别统计出现次数最多的dx,将该dx记为fx,以及出现次数最多的dy,将该dy记为fy,具体如下:
首先,依次将相邻两个原始块的水平基线差值dx和垂直基线差值dy四舍五入取整;
然后,设置两个映射表(map),分别用来记录dx和dy的值以及其出现的次数;分别将dx和dy在其相应的映射表中查找,若dx或dy在映射表中未找到,则记录在映射表中,并设置其出现的次数为1;否则将其出现的次数加1;
这里,从数据结构上,映射表是一种具有键/值(key/value)结构的集合,利用key可以定位到其value,在本发明中,key相当于dx、dy,value相当于dx、dy分别出现的次数。
本发明中,采用的是映射表,也可以设置其它的数据结构集合,用来记录key值和其相应的value值。
最后,分别在dx、dy相应的映射表中查找出现次数最多的dx、dy,并分别记录为fx,fy。
步骤5:判断fx是否接近于原始块的宽度且fy是否接近于0,即fx与原始块的宽度值的差值的绝对值是否在0.6-1内、以及fy与0的差值的绝对值是否在0.01-0.09内,判断不全为是,则继续如下判断步骤:
判断fx是否接近于0且fy是否接近于原始块的高度,即fx与0的差值的绝对值是否在0.01-0.09内、以及fy与原始块的高度值的差值的绝对值是否在0.6-1内,判断均为是,则确定排版方式为竖排;
步骤6:根据文字块内每行原始块的序号平均值确定竖排的排版方向,具体如下:
首先,统计文字块内包含的原始块的列数,具体的:对于每两个相邻原始块,计算后一原始块与前一原始块的垂直基线差值;确定该垂直基线差值是否大于后一原始块的字号的1.1倍,若是,则判定后一原始块与前一原始块位于不同列,将初始值为1的列数计数器值加1,否则,判定后一原始块与前一原始块位于同一列;将最终的列数计数器值确定为文字块内包含的原始块的列数;
然后,若文字块中的列数不大于1,则排版方向为无方向竖排;若文字块中的列数大于1行,则分别统计计算任意相邻两列原始块的序号的平均值,并判断两列的左右位置关系,若左列的序号平均值大于右列序号的平均值,则排版方向为从右到左的竖排,否则排版方向为从左到右的竖排。
实施例三:
步骤1:从版式文档中提取文字块中的原始块以及原始块的信息,原始块的信息包括文字内容、字号大小、序号、基线以及该文字块的区域位置信息。
文字块中包含了一个及其以上的原始块,本发明在提取文字块时,其中的原始块是已经划分好了的。可以参考图1,图1中每一个矩形包围的文字就是一个原始块。
步骤2:对文字块中的原始块按照输出时的顺序即原始块序号进行排序。
步骤3:依次计算相邻两个原始块的水平基线差值dx和垂直基线差值dy,根据dx与0的关系,设置水平计数器hy的值,即如果dx大于0,则hy加1,否则hy减1。
图3E中矩形区域内的文字“学”的垂直基线为97.7,水平基线为522.18,左边界为97.4,上边界为506.0,右边界为117.5,下边界为525.5。
步骤4:分别统计出现次数最多的dx,将该dx记为fx,以及出现次数最多的dy,将该dy记为fy,具体如下:
首先,依次将相邻两个原始块的水平基线差值dx和垂直基线差值dy四舍五入取整;
然后,设置两个映射表(map),分别用来记录dx和dy的值以及其出现的次数;分别将dx和dy在其相应的映射表中查找,若dx或dy在映射表中未找到,则记录在映射表中,并设置其出现的次数为1;否则将其出现的次数加1;
这里,从数据结构上,映射表是一种具有键/值(key/value)结构的集合,利用key可以定位到其value,在本发明中,key相当于dx、dy,value相当于dx、dy分别出现的次数。
本发明中,采用的是映射表,也可以设置其它的数据结构集合,用来记录key值和其相应的value值。
最后,分别在dx、dy相应的映射表中查找出现次数最多的dx、dy,并分别记录为fx,fy。
步骤5:判断fx是否接近于原始块的宽度且fy是否接近于0,即fx与原始块的宽度值的差值的绝对值是否在0.6-1内、以及fy与0的差值的绝对值是否在0.01-0.09内,判断不全为是,则:
判断fx是否接近于0且fy是否接近于原始块的高度,即fx与0的差值的绝对值是否在0.01-0.09内、以及fy与原始块的高度值的差值的绝对值是否在0.6-1内,判断不全为是,则继续如下判断步骤:
判断fx的绝对值是否大于fy的绝对值,若是,则确定为横排式斜排,否则为竖排式斜排。
步骤6:确定排版方向的类型。
若排版方式为横排式斜排,则根据水平计数器hy的值确定排版方向:若hy大于0,则排版方向为从左到右的横排式斜排,否则排版方向为从右到左的横排式斜排。
若排版方式为竖排式斜排,则根据文字块内每列原始块的序号平均值确定排版方向,具体如下:
统计文字块内包含的原始块的列数,具体实现方法与实施例二相同;
若文字块中的列数不大于1,则排版方向为无方向竖排式斜排;若文字块中的列数大于1行,则分别统计计算任意相邻两列原始块的序号的平均值,并判断两列的左右位置关系,若左列的序号平均值大于右列序号的平均值,则排版方向为从右到左的竖排式斜排,否则排版方向为从左到右的竖排式斜排。
参见图4,本发明实施例还提供一种排版方式识别装置,该装置包括:
原始块提取单元30,用于提取版式文档页面中文字块内的原始块;
原始块排序单元31,用于根据提取到的各原始块的序号将提取到的原始块进行排序;
基线差值计算单元32,用于计算排序后每两个相邻原始块的水平基线差值和垂直基线差值;
基线差值确定单元33,用于确定计算得到的水平基线差值中出现次数最多的水平基线差值以及计算得到的垂直基线差值中出现次数最多的垂直基线差值;
排版方式确定单元34,用于根据确定的出现次数最多的水平基线差值和出现次数最多的垂直基线差值,确定所述文字块内原始块的排版方式。
进一步,所述基线差值计算单元32具体可用于:
计算两个相邻原始块中前一原始块的水平基线的纵向坐标值与后一原始块的水平基线的纵向坐标值的差值,将该差值作为两个相邻原始块的水平基线差值;
计算两个相邻原始块中前一原始块的垂直基线的横向坐标值与后一原始块的垂直基线的横向坐标值的差值,将该差值作为两个相邻原始块的垂直基线差值。
进一步,所述基线差值确定单元33具体可用于:
建立用于存储水平基线差值和水平基线差值出现次数的第一映射表、以及用于存储垂直基线差值和垂直基线差值出现次数的第二映射表;
在每计算得到一个水平基线差值后,在第一映射表中查找该水平基线差值,若查找到,则将该水平基线差值对应的出现次数加1,若未查找到,则将该水平基线差值保存在第一映射表中,并设置该水平基线差值出现的次数为1;在每计算得到一个垂直基线差值后,在第二映射表中查找该垂直基线差值,若查找到,则将该垂直基线差值对应的出现次数加1,若未查找到,则将该垂直基线差值保存在第二映射表中,并设置该垂直基线差值出现的次数为1;
在第一映射表中查找出现次数最多的水平基线差值,将查找到的水平基线差值确定为计算得到的水平基线差值中出现次数最多的水平基线差值;在第二映射表中查找出现次数最多的垂直基线差值,将查找到的垂直基线差值确定为计算得到的垂直基线差值中出现次数最多的垂直基线差值。
进一步,所述排版方式确定单元34具体可用于:
若所述出现次数最多的水平基线差值与所述文字块内的原始块的宽度值的差值的绝对值在预先设定的第一取值范围内,并且出现次数最多的垂直基线差值与0的差值的绝对值在预先设定的第二取值范围内,则确定所述文字块内原始块的排版方式为横排;
若所述出现次数最多的水平基线差值与0的差值的绝对值在预先设定的第三取值范围内,并且出现次数最多的垂直基线差值与所述文字块内原始块的高度值的差值的绝对值在预先设定的第四取值范围内,则确定所述文字块内原始块的排版方式为竖排;
若所述出现次数最多的水平基线差值的绝对值大于所述出现次数最多的垂直基线差值的绝对值,则确定所述文字块内原始块的排版方式为横排式斜排;否则,确定所述文字块内原始块的排版方式为竖排式斜排。
进一步,该装置进一步包括:
第一排版方向确定单元35,用于在确定所述文字块内原始块的排版方式为横排之后,确定计算得到的数值大于0的水平基线差值的个数与计算得到的数值小于0的水平基线差值的个数的差值;
若确定的差值大于0,则确定横排的排版方向为从左到右的横排;否则,确定横排的排版方向为从右到左的横排。
进一步,该装置进一步包括:
第二排版方向确定单元36,用于在确定所述文字块内原始块的排版方式为竖排之后,确定所述文字块内包含的原始块的列数;
若所述列数为1,则确定竖排的排版方向为无方向的竖排;
若所述列数大于1,则计算相邻两列原始块中每一列原始块的序号平均值,若左列原始块的序号平均值大于右列原始块的序号平均值,则确定竖排的排版方向为从右到左的竖排;否则,确定竖排的排版方向为从左到右的竖排。
进一步,该装置进一步包括:
第三排版方向确定单元37,用于在确定所述文字块内原始块的排版方式为横排式斜排之后,确定计算得到的数值大于0的水平基线差值的个数与计算得到的数值小于0的水平基线差值的个数的差值;
若确定的差值大于0,则确定横排式斜排的排版方向为从左到右的横排式斜排;否则,确定横排式斜排的排版方向为从右到左的横排式斜排。
进一步,该装置进一步包括:
第四排版方向确定单元38,用于在确定所述文字块内原始块的排版方式为竖排式斜排之后,确定所述文字块内包含的原始块的列数;
若所述列数为1,则确定竖排式斜排的排版方向为无方向的竖排式斜排;
若所述列数大于1,则计算相邻两列原始块中每一列原始块的序号平均值,若左列原始块的序号平均值大于右列原始块的序号平均值,则确定竖排式斜排的排版方向为从右到左的竖排式斜排;否则,确定竖排式斜排的排版方向为从左到右的竖排式斜排。
进一步,该装置进一步包括:
计数器单元39,用于在每计算得到一个水平基线差值后,确定该水平基线差值是否大于0,若是,则将初始值为0的水平计数器值加1,否则,将所述水平计数器值减1;
相应的,所述第一排版方向确定单元35或第三排版方向确定单元37具体可用于:
获取所述水平计数器值,将该水平计数器值确定为计算得到的数值大于0的水平基线差值的个数与计算得到的数值小于0的水平基线差值的个数的差值。
进一步,所述第二排版方向确定单元36或第四排版方向确定单元38具体可用于:
对于提取到的原始块中每两个相邻原始块,计算后一原始块与前一原始块的垂直基线差值;确定该垂直基线差值大于预先设置的列间距值,则判定后一原始块与前一原始块位于不同列,否则,判定后一原始块与前一原始块位于同一列;
根据判定结果确定所述文字块内包含的原始块的列数。
综上,本发明的有益效果包括:
本发明实施例提供的方案中,提取版式文档页面中文字块内的原始块后,根据提取到的各原始块的序号将提取到的原始块进行排序,计算排序后每两个相邻原始块的水平基线差值和垂直基线差值,确定计算得到的水平基线差值中出现次数最多的水平基线差值以及计算得到的垂直基线差值中出现次数最多的垂直基线差值,并根据确定的出现次数最多的水平基线差值和出现次数最多的垂直基线差值,确定所述文字块内原始块的排版方式。可见,采用本发明能够自动识别版式文档页面中文字块内原始块的排版方式,达到本发明的发明目的。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种排版方式识别方法,其特征在于,该方法包括:
提取版式文档页面中文字块内的原始块;
根据提取到的各原始块的序号将提取到的原始块进行排序;
计算排序后每两个相邻原始块的水平基线差值和垂直基线差值;
确定计算得到的水平基线差值中出现次数最多的水平基线差值以及计算得到的垂直基线差值中出现次数最多的垂直基线差值;
根据确定的出现次数最多的水平基线差值和出现次数最多的垂直基线差值,确定所述文字块内原始块的排版方式;
计算两个相邻原始块的水平基线差值和垂直基线差值包括:
计算两个相邻原始块中前一原始块的水平基线值与后一原始块的水平基线值的差值,将该差值作为两个相邻原始块的水平基线差值;
计算两个相邻原始块中前一原始块的垂直基线值与后一原始块的垂直基线值的差值,将该差值作为两个相邻原始块的垂直基线差值;
所述确定计算得到的水平基线差值中出现次数最多的水平基线差值以及计算得到的垂直基线差值中出现次数最多的垂直基线差值包括:
建立用于存储水平基线差值和水平基线差值出现次数的第一映射表、以及用于存储垂直基线差值和垂直基线差值出现次数的第二映射表;
在每计算得到一个水平基线差值后,在第一映射表中查找该水平基线差值,若查找到,则将该水平基线差值对应的出现次数加1,若未查找到,则将该水平基线差值保存在第一映射表中,并设置该水平基线差值出现的次数为1;在每计算得到一个垂直基线差值后,在第二映射表中查找该垂直基线差值,若查找到,则将该垂直基线差值对应的出现次数加1,若未查找到,则将该垂直基线差值保存在第二映射表中,并设置该垂直基线差值出现的次数为1;
在第一映射表中查找出现次数最多的水平基线差值,将查找到的水平基线差值确定为计算得到的水平基线差值中出现次数最多的水平基线差值;在第二映射表中查找出现次数最多的垂直基线差值,将查找到的垂直基线差值确定为计算得到的垂直基线差值中出现次数最多的垂直基线差值;
所述根据确定的出现次数最多的水平基线差值和出现次数最多的垂直基线差值,确定所述文字块内原始块的排版方式包括:
若所述出现次数最多的水平基线差值与所述文字块内的原始块的宽度值的差值的绝对值在预先设定的第一取值范围内,并且出现次数最多的垂直基线差值与0的差值的绝对值在预先设定的第二取值范围内,则确定所述文字块内原始块的排版方式为横排;
若所述出现次数最多的水平基线差值与0的差值的绝对值在预先设定的第三取值范围内,并且出现次数最多的垂直基线差值与所述文字块内原始块的高度值的差值的绝对值在预先设定的第四取值范围内,则确定所述文字块内原始块的排版方式为竖排;
若所述出现次数最多的水平基线差值的绝对值大于所述出现次数最多的垂直基线差值的绝对值,则确定所述文字块内原始块的排版方式为横排式斜排;否则,确定所述文字块内原始块的排版方式为竖排式斜排。
2.如权利要求1所述的方法,其特征在于,在确定所述文字块内原始块的排版方式为横排之后,该方法进一步包括:
确定计算得到的数值大于0的水平基线差值的个数与计算得到的数值小于0的水平基线差值的个数的差值;
若确定的差值大于0,则确定横排的排版方向为从左到右的横排;否则,确定横排的排版方向为从右到左的横排。
3.如权利要求1所述的方法,其特征在于,在确定所述文字块内原始块的排版方式为竖排之后,该方法进一步包括:
确定所述文字块内包含的原始块的列数;
若所述列数为1,则确定竖排的排版方向为无方向的竖排;
若所述列数大于1,则计算相邻两列原始块中每一列原始块的序号平均值,若左列原始块的序号平均值大于右列原始块的序号平均值,则确定竖排的排版方向为从右到左的竖排;否则,确定竖排的排版方向为从左到右的竖排。
4.如权利要求1所述的方法,其特征在于,在确定所述文字块内原始块的排版方式为横排式斜排之后,该方法进一步包括:
确定计算得到的数值大于0的水平基线差值的个数与计算得到的数值小于0的水平基线差值的个数的差值;
若确定的差值大于0,则确定横排式斜排的排版方向为从左到右的横排式斜排;否则,确定横排式斜排的排版方向为从右到左的横排式斜排。
5.如权利要求1所述的方法,其特征在于,在确定所述文字块内原始块的排版方式为竖排式斜排之后,该方法进一步包括:
确定所述文字块内包含的原始块的列数;
若所述列数为1,则确定竖排式斜排的排版方向为无方向的竖排式斜排;
若所述列数大于1,则计算相邻两列原始块中每一列原始块的序号平均值,若左列原始块的序号平均值大于右列原始块的序号平均值,则确定竖排式斜排的排版方向为从右到左的竖排式斜排;否则,确定竖排式斜排的排版方向为从左到右的竖排式斜排。
6.一种排版方式识别装置,其特征在于,该装置包括:
原始块提取单元,用于提取版式文档页面中文字块内的原始块;
原始块排序单元,用于根据提取到的各原始块的序号将提取到的原始块进行排序;
基线差值计算单元,用于计算排序后每两个相邻原始块的水平基线差值和垂直基线差值;
基线差值确定单元,用于确定计算得到的水平基线差值中出现次数最多的水平基线差值以及计算得到的垂直基线差值中出现次数最多的垂直基线差值;
排版方式确定单元,用于根据确定的出现次数最多的水平基线差值和出现次数最多的垂直基线差值,确定所述文字块内原始块的排版方式;
所述基线差值计算单元用于:
计算两个相邻原始块中前一原始块的水平基线值与后一原始块的水平基线值的差值,将该差值作为两个相邻原始块的水平基线差值;
计算两个相邻原始块中前一原始块的垂直基线值与后一原始块的垂直基线值的差值,将该差值作为两个相邻原始块的垂直基线差值;
所述基线差值确定单元用于:
建立用于存储水平基线差值和水平基线差值出现次数的第一映射表、以及用于存储垂直基线差值和垂直基线差值出现次数的第二映射表;
在每计算得到一个水平基线差值后,在第一映射表中查找该水平基线差值,若查找到,则将该水平基线差值对应的出现次数加1,若未查找到,则将该水平基线差值保存在第一映射表中,并设置该水平基线差值出现的次数为1;在每计算得到一个垂直基线差值后,在第二映射表中查找该垂直基线差值,若查找到,则将该垂直基线差值对应的出现次数加1,若未查找到,则将该垂直基线差值保存在第二映射表中,并设置该垂直基线差值出现的次数为1;
在第一映射表中查找出现次数最多的水平基线差值,将查找到的水平基线差值确定为计算得到的水平基线差值中出现次数最多的水平基线差值;在第二映射表中查找出现次数最多的垂直基线差值,将查找到的垂直基线差值确定为计算得到的垂直基线差值中出现次数最多的垂直基线差值;
所述排版方式确定单元用于:
若所述出现次数最多的水平基线差值与所述文字块内的原始块的宽度值的差值的绝对值在预先设定的第一取值范围内,并且出现次数最多的垂直基线差值与0的差值的绝对值在预先设定的第二取值范围内,则确定所述文字块内原始块的排版方式为横排;
若所述出现次数最多的水平基线差值与0的差值的绝对值在预先设定的第三取值范围内,并且出现次数最多的垂直基线差值与所述文字块内原始块的高度值的差值的绝对值在预先设定的第四取值范围内,则确定所述文字块内原始块的排版方式为竖排;
若所述出现次数最多的水平基线差值的绝对值大于所述出现次数最多的垂直基线差值的绝对值,则确定所述文字块内原始块的排版方式为横排式斜排;否则,确定所述文字块内原始块的排版方式为竖排式斜排。
7.如权利要求6所述的装置,其特征在于,该装置进一步包括:
第一排版方向确定单元,用于在确定所述文字块内原始块的排版方式为横排之后,确定计算得到的数值大于0的水平基线差值的个数与计算得到的数值小于0的水平基线差值的个数的差值;
若确定的差值大于0,则确定横排的排版方向为从左到右的横排;否则,确定横排的排版方向为从右到左的横排。
8.如权利要求6所述的装置,其特征在于,该装置进一步包括:
第二排版方向确定单元,用于在确定所述文字块内原始块的排版方式为竖排之后,确定所述文字块内包含的原始块的列数;
若所述列数为1,则确定竖排的排版方向为无方向的竖排;
若所述列数大于1,则计算相邻两列原始块中每一列原始块的序号平均值,若左列原始块的序号平均值大于右列原始块的序号平均值,则确定竖排的排版方向为从右到左的竖排;否则,确定竖排的排版方向为从左到右的竖排。
9.如权利要求6所述的装置,其特征在于,该装置进一步包括:
第三排版方向确定单元,用于在确定所述文字块内原始块的排版方式为横排式斜排之后,确定计算得到的数值大于0的水平基线差值的个数与计算得到的数值小于0的水平基线差值的个数的差值;
若确定的差值大于0,则确定横排式斜排的排版方向为从左到右的横排式斜排;否则,确定横排式斜排的排版方向为从右到左的横排式斜排。
10.如权利要求6所述的装置,其特征在于,该装置进一步包括:
第四排版方向确定单元,用于在确定所述文字块内原始块的排版方式为竖排式斜排之后,确定所述文字块内包含的原始块的列数;
若所述列数为1,则确定竖排式斜排的排版方向为无方向的竖排式斜排;
若所述列数大于1,则计算相邻两列原始块中每一列原始块的序号平均值,若左列原始块的序号平均值大于右列原始块的序号平均值,则确定竖排式斜排的排版方向为从右到左的竖排式斜排;否则,确定竖排式斜排的排版方向为从左到右的竖排式斜排。
CN201010621805.XA 2010-12-27 2010-12-27 排版方式识别方法和装置 Active CN102567302B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010621805.XA CN102567302B (zh) 2010-12-27 2010-12-27 排版方式识别方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010621805.XA CN102567302B (zh) 2010-12-27 2010-12-27 排版方式识别方法和装置

Publications (2)

Publication Number Publication Date
CN102567302A CN102567302A (zh) 2012-07-11
CN102567302B true CN102567302B (zh) 2014-04-16

Family

ID=46412746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010621805.XA Active CN102567302B (zh) 2010-12-27 2010-12-27 排版方式识别方法和装置

Country Status (1)

Country Link
CN (1) CN102567302B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077562B (zh) * 2014-05-22 2017-08-08 山东山大鸥玛软件股份有限公司 一种答卷的扫描方向判断方法
CN104008087A (zh) * 2014-06-05 2014-08-27 李梦依 一种针对具有标准格式的文案的自动排版方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441621A (zh) * 2008-11-26 2009-05-27 北大方正集团有限公司 一种版式文件自动成文的方法及系统
CN101770446A (zh) * 2008-12-26 2010-07-07 北大方正集团有限公司 一种版式文件中表格识别方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441621A (zh) * 2008-11-26 2009-05-27 北大方正集团有限公司 一种版式文件自动成文的方法及系统
CN101770446A (zh) * 2008-12-26 2010-07-07 北大方正集团有限公司 一种版式文件中表格识别方法及系统

Also Published As

Publication number Publication date
CN102567302A (zh) 2012-07-11

Similar Documents

Publication Publication Date Title
US10592184B2 (en) Method and device for parsing tables in PDF document
US7853869B2 (en) Creation of semantic objects for providing logical structure to markup language representations of documents
CN108470021A (zh) Pdf文档中表格的定位方法及装置
CN101981583A (zh) 用于识别手绘表格的方法和工具
WO2012099801A4 (en) Ordering document content
CN106650648B (zh) 擦除笔迹的识别方法和系统
CA2429507A1 (en) Writing guide for a free-form document editor
CN111144282B (zh) 表格识别方法和装置、计算机可读存储介质
CN105630817A (zh) 一种电子发票内容解析的方法及系统
CN112784720A (zh) 基于银行回单的关键信息提取方法、装置、设备及介质
CN110895533B (zh) 一种表单映射方法、装置、计算机设备和存储介质
CN102156889A (zh) 一种识别手写文本行语言类别的方法及装置
CN105468271A (zh) 手写符号的识别方法、系统与装置
CN102567302B (zh) 排版方式识别方法和装置
CN111651971A (zh) 一种表格信息转录方法、系统、电子设备和存储介质
CN109871743B (zh) 文本数据的定位方法及装置、存储介质、终端
CN108874285B (zh) 一种用户终端上书写字迹的显示方法及用户终端
CN109871517B (zh) 文字块排序方法、装置、存储介质及电子设备
US20190187667A1 (en) Development support apparatus, program development support method, and program development support program
CN110688995B (zh) 地图查询的处理方法,计算机可读存储介质和移动终端
CN105653549A (zh) 一种提取文档信息的方法及装置
US9639970B2 (en) Character recognition system, character recognition program and character recognition method
CN111160144A (zh) 电气图纸图文结合的元器件识别方法、系统及存储介质
CN115223172A (zh) 文本提取方法、装置及设备
CN110263310B (zh) 数据图生成方法、装置及计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220621

Address after: 3007, Hengqin international financial center building, No. 58, Huajin street, Hengqin new area, Zhuhai, Guangdong 519031

Patentee after: New founder holdings development Co.,Ltd.

Patentee after: Beijing Fangzheng apapi Technology Co., Ltd.

Address before: 100871, Beijing, Haidian District Cheng Fu Road 298, founder building, 9 floor

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: Beijing Fangzheng apapi Technology Co., Ltd.

TR01 Transfer of patent right