一种基于pdf的复杂版面的标引方法

文档序号:6614041阅读:178来源:国知局
专利名称:一种基于pdf的复杂版面的标引方法
技术领域
本发明属于信息技术领域,具体涉及一种基于PDF的复杂版面的标引 方法。
背景技术
在报业、出版社等行业中,使用排版软件排版完成后,需要从己经生 产的版面中提取文章以及相关的元数据信息,以便进一步利用,就是文章 信息的重构和标引。为了更真实还原版面的内容,除了需要文章本身的内 容信息(如标题、引题、副题、作者、正文等多项信息)以外,在标引时 还提取需要文字块的位置、字体字号等信息。
目前,从版面中提取文章信息的方法(也称反解和标引)有以下几种
(1) 通过排版软件本身的能力导出xml文件, 一般都包含文章的
内容信息,但不同排版软件输出的内容不同,如有些不提供 标题信息,多数的排版软件并不导出文字块的位置信息,使 得文章的信息不完整,往往需要通过手工的方式进行补充,
效率非常低;另外,应用本方法还必须能够获得原始排版文
件,而一些需要反解和标引的场合下,是无法获得原始排版
文件的;
(2) 通过软插件技术对排版软件进行扩充,允许进行一些半自动 化的信息提取和人工标引。专利CN200610112710. 9公布了"一 种提取见报资料数据信息的方法"可以基于版面文件结合人 工干预来提取和表演文章。这种方法的优点是可以提取比较 完备和准确的信息,其缺点是a)不同的排版软件需要开发 不同的软插件,开发难度和工作量大;b)必须能够提供原始 的排版文件,才能进行标引。c)随着排版软件本身的发展和 升级, 一些老的数据格式不再支持,因此大量的历史数据无
法进行标引和重新利用;
(3) 对排版软件输出的结果文件格式(PS格式)进行标引,其中 的代表性的技术是"方正全真软件",用来反解和表演方正 飞腾排版输出的PS文件。由于目前对PS的反解技术,主要 是利用PS中的注释进行的,不同排版软件输出的注释不同, 导致反解和标引软件不同通用。随着印刷技术的发展,基于 PDF的RIP技术慢慢取代PS,因此有些排版软件和流程中直 接得到的就是PDF而不再是PS 了。另外,大量的历史数据是 PDF格式的而不存在PS文件,导致PS反解和标引无法应用;
(4) 多数排版软件可以生成PDF格式的文件,大量的历史数据是 基于PDF的,因此基于PDF的反解和标引的应用面很广。专 利CN200510039015. x公布了 "一种基于xml的PDF文档信息 抽取系统的方法",主要是把PDF文件的物理结构转换为逻 辑结构,但并没有进行文字成块和成文的处理。专利 CN200510122890. 4公布了 "一种从PDF文档到XML文档转换 的方法",通过第三方的工具把PDF转为平级的xml文档, 再通过xslt结合规则提取xml中信息,其应用的前提是PDF 版面本身较为简单,结构较为一致,使用简单的xpath的规 则就可以提取xml信息,并不适用报刊这样的复杂版面。专 利CN200410091432. 4公布的"一种对报纸版面进行标题与 正文逻辑关联的方法"以及专利专利200410091434. 3公布的
"一种对报纸版面进行文字阅读顺序恢复的方法",均是后 续的成文的方法,并没有涉及文字块的生成和合并规则和整 个提取内容和位置等信息的流程。专利200610007221.7 " — 种在报纸版面上检査标引稿件的方法及系统"和专利 200610065665.6 "—种报刊版面网络标引的方法及系统"均 在组版软件以及组版环境可用的情形下进行复杂版面的反解 和标引,不能应用到PDF的反解和标引中。 可见,在现有技术中,对于缺少原始组版文件、或缺少软插件可用的 场合,尚没有一种能对复杂版面数据源进行通用反解和标引的高效的方法。

发明内容
针对现有技术中存在的缺陷,本发明的目的是提供一种省时、省力的
统一的PDF复杂版面的标引方法,该方法只需要PDF数据、最大限度减少 了对数据源的要求,具有广泛的适应性,同时该方法可以自动化处理复杂 版面的文字信息提取、原始文字块合并以及文章内容和样式信息的提取, 结合少量的人工操作可以完成标引工作,并可以自动确定排版类型,极大 地提高了反解和标引的效率。
为达到以上目的,本发明采用的技术方案是 一种基于PDF的复杂版
面的标引方法,包括以下步骤
(1) 导入报刊版面的PDF文件,对PDF进行分析,获取版面上的全部 的文字内容、文字的位置、字体、字号和序号信息,得到一个原始文字块 的列表L;
(2) 按原始文字块的信息,对原始文字块进行聚类,得到多个集合
(3) 对每个集合中的原始文字块进行排序,并合并该集合的所有原始 文字块,得到合并文字块;
(4) 按合并文字块的字号标定合并文字块的属性为标题或正文;
(5) 对多个合并文字块进行再合并,构建文章。
在如上所述的一种基于PDF的复杂版面的标引方法中,步骤(2)中, 在对原始文字块进行聚类时包括以下步骤
(2.1)创建一个新的集合(Sh并选取列表L中第一个原始文字块Ti 作为新集合{S}的第一个原始文字块,并从列表L中去除该原始文字块Ti;
(2. 2)对列表L中的剩下的全部原始文字块进行遍历,对每个原始文 字块,需要检査集合"}中是否至少存在一个近邻,如果存在近邻,则把该 原始文字块加入集合(S)中,并从列表L中删除该原始文字块;
(2. 3)遍历完成后,如果列表L不为空,则重复上述步骤(1)和(2),
生成一个新的集合。
进一步,步骤(2.2)中检査两个原始文字块是否近邻的方法是 设两个待判定的原始文字块分别为T,和T2,对应的字号为L和f2,对
应的位置左上角坐标分别为(x,,yi)和(X2,y》,右下角坐标分别为 (Xl, ,yi,)和(X2, ,y2,),包括以下步骤
(2.2.1) 计算字号差别系数,定义为c 二 2*(f\-f2)/(frff2);
(2.2.2) 计算平均字符高度为h = (yi' -yi +y2, -y2)/2;
(2.2.3) 计算在水平方向的距离系数d,:
dx=(max(Xl, x2)-min(x, , x2, ))/h,其中max (a, b)表示取两者的较大 值,min(a,b)表示取两者的较小值;
(2.2.4) 计算在垂直方向的距离系数dy: d尸(max(yi, y2) -min(yi, , y2, ))/h;
(2. 2. 5)根据经验,设定最大容忍字号差别系数c皿一0. 1,最大容忍水 平方向距离系数为cLax=0. 9,最大容忍垂直方向距离系数为dyraax 二O. 9; (2.2.6)则判定两原始文字块为近邻的充分必要条件是c〈c,且
dx〈d環x dy〈 dymaxo
进一步,步骤(3)中,对每个集合中的原始文字块进行排序时根据不
同版面类型,确定不同的排序类型后,再根据原始文字块的位置进行排序,
具体来说
对于普通的横排版面使用先从上到下、再从左到右的排序方法,对于竖 排版面,使用先从右到左,再从上到下的排序方法。
更进一步,步骤(3)中,对每个集合中的原始文字块进行排序时先根
据原始文字块的位置和序号,自动确定排序类型后,再进行排序操作,具
体的步骤是
(3.1) 计算待处理的集合{S}中的原始文字块的平均高度h;
(3.2) 对集合中的原始文字块按序号进行排序;
(3.3) 顺序遍历集合中的全部原始文字块,依次计算相邻两个原始文
字块的水平位置差异值i[i]和垂直位置差异d,[i];
(3.4) 设置和计算4个统计计数器如下
a) 等水平位置计数器Zx,用来记录满足abs(dx[i]) 〈 Cl* h的出 现次数,其中abs表示取绝对值;
b) 等高度计数器Zy,用来记录满足abs(dy[i]) < dH4i的出现次
数;
c) 横排方向计数器Nx:对满足abs(dy[i]) 〈c^h的差异值,检查 其对应的cUi]值,如果dx[i]〉0,则Nx加一,否则Nx减一;
d) 竖排方向计数器Ny:如果dx[i] > c2*h,则Ny加一,如果 dx[i]〈-c2*h,则Ny减一;
上述四个统计计数器的初值全部设置为0,并设d为容忍度系数,
取值为0.2, C2为间距系数,取值为1.0;
(3.5) 遍历完成后,根据四个计数器的值,判定排版类型如下
a) 如果Z》Zy,且Ny > 0,则为从左到右的竖排;
b) 如果Zx〉Zy,且Ny < 0,则为从右到左的竖排; C)如果Z》Zy,且Ny二0,则为竖排无方向;
d) 如果Zx《Zy,且N, 〉= 0,则为从左到右的横排;
e) 如果ZX-Zy,且Nx < 0,则为从右到左的横排;
(3.6) 根据排版类型对集合内的原始文字块按位置进行排序。
进一步,步骤(3)中,对集合内原始文字块排序后进行合并的歩骤是:
(3.7) 合并文字块的内容为集合内所有原始文字块按顺序拼接;
(3.8) 合并文字块的区域为集合内所有原始文字块矩形的最小包容矩
形;
(3.9) 合并文字块的字号为集合内所有原始文字块字号的平均值; (3. 10)合并文字块的字体为集合内原始文字块数量最多的字体。
进一步,步骤(5)中,对多个合并文字块进行再合并采用人工干预的 方法,或者根据文字块的位置、排版类型、字体字号、语义和词性信息进 行智能分析和合并。
本发明的效果在于采用本发明所述的方法,数据源上只需要PDF文 件,减少应用场合的限制;能够自动化处理复杂版面的文字信息提取、原
始文字块合并以及文章内容和样式信息的提取,结合少量的人工操作可以 完成标引工作,并可以自动确定排版类型,极大地提高了反解和标引的效 率。


图1是PDF复杂版面的文章重构流程图2是原始文字块提取后的效果图,左侧的中部为当前选中的原始文 字块的详细信息;
图3是原始文字块合并后的效果图,左侧的中部为当前选中的合并文 字块的详细信息;
图4是合并文字块进一步标引后的效果图,左侧的中部为当前选中的 合并文字块的详细信息;
图5是原始文字块合并后的效果图,左侧的中部为当前选中的合并文 字块的详细信息,其中包含了竖排的文字块。
具体实施例方式
下面结合实施例和附图,对本发明作进一步的阐述-
如图1所示, 一种基于PDF的复杂版面的标引方法,包括以下步骤
第一步S11,导入报刊版面的PDF文件,对PDF进行分析,获取版面 上的全部的文字内容、文字的位置、字体、字号、序号信息,得到一个原
始文字块的列表L;
本实施例中,提取的原始文字块信息如图2,包括文字内容、位置、 字体字号、序号等信息。为直观,直接显示了PDF的版面图,并把提取到 的文字矩形区域以粉框显示在版面图上。可以看到,由于排版软件的对文 字进行了位置控制,因此从PDF中提取到的文字不是流式的一个整块,而 是很多个小的块,基本上是每字符一个文字块,如21所示的文字块为当前 选中的原始文字块,左侧的中部为当前选中的原始文字块21的详细信息。
第二步S12,按原始文字块的距离、字体、字号等信息,对原始文字 块进行聚类,得到多个集合(S丄
本实施例中,聚类使用的方法如下
(1) 创建一个新的集合(S),并选取列表L中第一个原始文字块L作 为新集合"}的第一个原始文字块,并从列表L中去除该原始文字块T,;
(2) 对列表L中的剩下的全部原始文字块进行遍历,对每个原始文字
块,需要检查集合(sl中是否至少存在一个近邻,如果存在近邻,则把该原
始文字块加入集合(S)中,并从列表L中删除该原始文字块。
(3) 遍历完成后,如果列表L不为空,则重复上述步骤(1)和(2), 生成一个新的集合。
在判定两个原始文字块是否近邻时,使用了下列的步骤和方法(设两 个待判定的原始文字块分别为T,和T2,对应的字号为f,和f2,对应的位置 左上角坐标分别为Od,y》和(x2,y2),右下角坐标分别为(x/ ,y/ )和 (x2, , y2,))
(1) 计算字号差别系数,定义为C = 2*(f「f2)/仏+f2);
(2) 计算平均字符高度为h = (yi, -yi +y2, -y2)/2;
(3) 计算在水平方向的距离系数dx:
dx二(max(x!, X2)-min(x/ , x2, ))/h,其中max (a, b)表示取两者的较大 值,min(a,b)表示取两者的较小值;
(4) 计算在垂直方向的距离系数d" d尸(max(y" y2)-min(y/ , y2, ))/h;
(5) 根据经验,设定最大容忍字号差别系数cmax=0. 1,最大容忍水平方 向距离系数为dxmax=0. 9,最大容忍垂直方向距离系数为dyMX =0. 9;
(6) 则判定两原始文字块为近邻的充分必要条件是c〈c目且dx〈dMax 且dy < d
上述的三个判断标准可以根据实际的情况调整或去除,如忽略字号差 异,可以把不同字号的近邻文字进行聚类。其中的容忍度系数也可以根据 实际的情况作调整,如西文版面, 一般为横排,最大容忍水平方向距离系
数可以选择得小一些,而最大容忍垂直方向距离系数适当再大一些。
第三步S13,对每个集合中的原始文字块进行排序,并合并该集合的 所有原始文字块,得到合并文字块;
本实施例中,在合并前的排序中,根据原始文字块的位置和序号自动 可确定排序类型,具体的步骤是(设待处理的集合为"}):
(1) 计算集合(S)中的原始文字块的平均高度h;
(2) 对集合中的原始文字块按序号进行排序;
(3) 顺序遍历集合中的全部原始文字块,依次计算相邻两个原始文字 块的水平位置差异值山[i]和垂直位置差异dy[i];
(4) 设置和计算4个统计计数器如下(初值全部置为O,并设d为容 忍度系数,根据经验可取为0.2, C2为间距系数,根据经验可取为l.O):
a) 等水平位置计数器Zx,用来记录满足abs(dx[i]) 〈 c^h的出 现次数,其中abs表示取绝对值(下同);
b) 等高度计数器Zy,用来记录满足abs(dy[i]) 〈 Ch的出现次 数,;
c) 横排方向计数器Nx:对满足abs(dy[i]) 〈c^h的差异值,检查 其对应的cUi]值,如果dx[i]〉0,则Nx加一,否则N,减一;
d) 竖排方向计数器Ny:如果dx[i] > c2*h,则Ny加一,如果 dx[i]〈-c2*h,则队减一;
(5) 遍历完成后,根据四个计数器的值,判定排版类型如下
a) 如果Zx〉Zy,且Ny 〉 0,则为从左到右的竖排;
b) 如果Zx〉Zy,且Ny < 0,则为从右到左的竖排;
c) 如果Zx〉Zy,且Ny = 0,则为竖排无方向;
d) 如果Z,〈-Zy,且Nx >= 0,则为从左到右的横排;
e) 如果Z风,且Nx 〈 0,则为从右到左的横排;
排版类型的确定,也可以使用其他的方法,如对集合内的文字计算出 相邻字符的水平和垂直的平均间距,按间距确定文字的排版方向是横排或
竖排。
对于己知排版类型的版面,可以省略该步骤。
排版类型确定后,按排版类型的文字阅读顺序进行原始文字块的排序, 并对文字块进行了合并,合并的步骤是
(1) 合并文字块的内容为集合内所有原始文字块按顺序拼接;
(2) 合并文字块的区域为集合内所有原始文字块矩形的最小包容矩
形;
(3) 合并文字块的字号为集合内所有原始文字块字号的平均值;
(4) 合并文字块的字体为集合内原始文字块数量最多的字体;
图3是原始文字块合并后的效果图,左侧的中部31为当前选中的合并 文字块32的详细信息。
图3中,左侧部分显示了选中文字块的信息,可以看到,文字块已经 合并。合并文字块上显示的〈16:1〉10,其中第二个数字为排版类型,取值 l表示横排从左到右,取值3表示竖排从左到右,取值4表示竖排从右到 左,取值5表示竖排无方向。可以看到各合并文字块的排版类型已经正确 获取。
第四步S14,按合并文字块的字号标定合并文字块的属性为标题或正
文;
本实施例中,使用字号大小作为判断依据,阈值取为13pt。
对于阈值附件的合并文字块,往往存在误判的可能,因此还可以参考 合并文本块位置、以及周边的合并文字块的属性情况而确定。
如图4所示,图4是合并文字块进一步标引后的效果图,图4中,合 并文字块上显示的〈16:1〉10,其中第一个数字块类型,如取值16表示正文 块,取值1表示标题块。可以看到标题和正文己经区分,如41和42所示,41
所指示的部分为标题,42所指示的部分为正文。
第五步S15,对多个合并文字块进行再合并,构建文章;
本实施例中,使用了人工操作合并的方法,选中需要再合并的多个文 字块,进行合并操作,软件自动根据选中顺序进行正文的合并。
也可以使用语义、词性、字体、字号等信息利用软件进行智能判定阅 读顺序后再进行合并。
图5显示了再合并的后的结果,可以看到整个正文已经合并。左侧51
为当前选中的合并文字块52的详细信息。
本发明所述的方法并不限于具体实施方式
中所述的实施例,本领域技 术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技 术创新范围。
权利要求
1.一种基于PDF的复杂版面的标引方法,包括以下步骤(1)导入报刊版面的PDF文件,对PDF进行分析,获取版面上的全部的文字内容、文字的位置、字体、字号和序号信息,得到一个原始文字块的列表L;(2)按原始文字块的信息,对原始文字块进行聚类,得到多个集合{Si};(3)对每个集合中的原始文字块进行排序,并合并该集合的所有原始文字块,得到合并文字块;(4)按合并文字块的字号标定合并文字块的属性为标题或正文;(5)对多个合并文字块进行再合并,构建文章。
2. 如权利要求1所述的一种基于PDF的复杂版面的标引方法,其特征 是步骤(2)中,在对原始文字块进行聚类时包括以下步骤(2.1)创建一个新的集合(S),并选取列表L中第一个原始文字块Ti作 为新集合{S}的第一个原始文字块,并从列表L中去除该原始文字块Ti;(2. 2)对列表L中的剩下的全部原始文字块进行遍历,对每个原始文字 块,需要检查集合(S)中是否至少存在一个近邻,如果存在近邻,则把该原始 文字块加入集合{S}中,并从列表L中删除该原始文字块;(2. 3)遍历完成后,如果列表L不为空,则重复上述步骤(2. 1)和(2. 2),生成一个新的集合。
3. 如权利要求2所述的一种基于PDF的复杂版面的标引方法,其特征是 步骤(2.2)中检査两个原始文字块是否近邻的方法是设两个待判定的原始文字块分别为Ti和T2,对应的字号为t和f2,对应 的位置左上角坐标分别为Od,y,)和(x2,y2),右下角坐标分别为0d' ,y/ ) 和"2' ,y2,),包括以下步骤(2.2.1) 计算字号差别系数,定义为c = 2*(&-f2)/(fi+f2);(2.2.2) 计算平均字符高度为h = (y,' -yi +y2, -y2)/2;(2.2.3) 计算在水平方向的距离系cL:dx=(maX(Xl,X2)—min(Xl, , x2, ) )/h,其中max (a, b)表示取两者的较大值,min(a, b)表示取两者的较小值;(2.2.4) 计算在垂直方向的距离系数dy: dy=(max(yi, y2)-min(y, , y2, ))/h;(2.2.5) 设定最大容忍字号差别系数(:_=0. 1,最大容忍水平方向距离 系数为d_=0.9,最大容忍垂直方向距离系数为d一 二0.9;(2.2.6) 则判定两原始文字块为近邻的充分必要条件是c〈cmax且 dx〈dXMX且dy 〈 dymax.
4. 如权利要求1所述的一种基于PDF的复杂版面的标引方法,其特征 是步骤(3)中,对每个集合中的原始文字块进行排序时根据不同版面类型,确定不同的排序类型后,再根据原始文字块的位置进行排序,具体来说对于普通的横排版面使用先从上到下、再从左到右的排序方法,对于竖排 版面,使用先从右到左,再从上到下的排序方法。
5. 如权利要求4所述的一种基于PDF的复杂版面的标引方法,其特征是步骤(3)中,对每个集合中的原始文字块进行排序时先根据原始文字块的位置和序号,自动确定排序类型后,再进行排序操作,具体的步骤是-(3. 1)计算待处理的集合(S)中的原始文字块的平均高度h;(3.2) 对集合中的原始文字块按序号进行排序;(3.3) 顺序遍历集合中的全部原始文字块,依次计算相邻两个原始文字块的水平位置差异值cL[i]和垂直位置差异(Ui];(3.4) 设置和计算4个统计计数器如下a) 等水平位置计数器Z,,用来记录满足abs(dx[i]) 〈 c,h的出现 次数,其中abs表示取绝对值;b) 等高度计数器Zy,用来记录满足abs(d,[i]) 〈d朴的出现次数;c) 横排方向计数器N,:对满足abs(dy[i]) < c并h的差异值,检查 其对应的山[i]值,如果d,[i]〉0,则N,加一,否则N,减一;d〉竖排方向计数器N,:如果> c2*h,则N,加一,如果dx[i]<-C2*h,则Ny减一;上述四个统计计数器的初值全部设置为0,并设d为容忍度系数,取值为0.2, C2为间距系数,取值为1.0;(3.5) 遍历完成后,根据四个计数器的值,判定排版类型如下a) 如果Zx〉Zy,且Ny 〉 0,则为从左到右的竖排;b) 如果Zx〉Zy,且Ny〈 0,则为从右到左的竖排; c) 如果Zx〉Zy,且Ny = 0,则为竖排无方向;d) 如果Zx〈=Zy,且Nx 〉= 0,则为从左到右的横排;e) 如果Zx〈=Zy,且Nx < 0,则为从右到左的横排;(3.6) 根据排版类型对集合内的原始文字块按位置进行排序。
6. 如权利要求1至5之一所述的一种基于PDF的复杂版面的标引方法, 其特征是步骤(3)中,对集合内原始文字块排序后进行合并的步骤是(3.7) 合并文字块的内容为集合内所有原始文字块按顺序拼接;(3. 8)合并文字块的区域为集合内所有原始文字块矩形的最小包容矩形;(3. 9)合并文字块的字号为集合内所有原始文字块字号的平均值; (3. 10)合并文字块的字体为集合内原始文字块数量最多的字体。
7. 如权利要求1至5之一所述的一种基于PDF的复杂版面的标引方法, 其特征是步骤(5)中,对多个合并文字块进行再合并采用人工干预的方法, 或者根据文字块的位置、排版类型、字体字号、语义和词性信息进行智能分 析和合并。
8. 如权利要求6所述的一种基于PDF的复杂版面的标引方法,其特征 是步骤(5)中,对多个合并文字块进行再合并采用人工干预的方法,或者 根据文字块的位置、排版类型、字体字号、语义和词性信息进行智能分析和 合并。
全文摘要
本发明涉及一种基于PDF的复杂版面的标引方法,属于信息技术领域。现有技术中,对于复杂版面的文章重构往往需要大量的手工操作和调整,费时费力。本发明所述的方法通过分析和获取PDF上文字信息以及位置、字体、字号等信息,根据相邻、相似的原则进行自动化的文字成块操作;进一步根据字体字号等信息确定文章标题与正文,根据位置信息,并结合少量的人工干预进行正文拼接、正文与标题关联等成文操作,从而使得整个版面上的文章能较快重新构建,同时可以自动获取到该文章所在的版面区域、文章和标题的字体和字号等标引信息,解决了现有技术中文章重新构建费时费力或者效果不理想的问题。
文档编号G06F17/21GK101206639SQ200710179938
公开日2008年6月25日 申请日期2007年12月20日 优先权日2007年12月20日
发明者徐剑波, 宁 董 申请人:北大方正集团有限公司;北京方正阿帕比技术有限公司;北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1