电子文档中文字信息处理、输出和字符检索的方法及装置的制作方法

文档序号:6575428阅读:341来源:国知局

专利名称::电子文档中文字信息处理、输出和字符检索的方法及装置的制作方法
技术领域
:本发明涉及电子文档数据处理领域,尤其涉及一种电子文档中文字信息处理、输出和字符检索的方法及装置。
背景技术
:为了能够原版原式的呈现文档的内容,目前在很多应用中采用了版式文件技术,下面筒称版式技术。版式技术是可以将文字、图形、图像、音视频、动画等多种数字内容对象按照一定的排版规则排版后进行版面固化呈现的技术。在版式技术中最重要的一点就是要保证版面内容的描述在具有设备无关性的同时,必须能精确定位每一个数字内容对象,从而保证解析器可以精确还原数字内容的定位信息。比如,在输出一串文字的时候,仅定义首字符的起始坐标是不够精确的,因为这样的话后续的每个字符位置将依赖于解析器和应用系统的环境,如果当前环境中没有对应的字体,解析器一般会进行字体替换,而不同字体的字宽信息是可能不同的,这样就会导致后续字符位置发生偏移。因此,现阶段的排版输出为了保证字符的精确定位,往往会采用单字符的输出方式,也就是针对每个字符都保存一个字符节点,该字符节点存储该字符、该字符的坐标信息以及其它与输出该字符相关的信息。在进行字符串输出时,需要按照字符串的字符排版顺序,查找各字符对应的字符节点,然后读取该字符节点中存储的字符和该字符的坐标信息等,进而按照读取到的坐标信息在对应的位置输出并显示该字符。同样的,在进行字符检索的时候,需要逐个读取字符节点中的字符,将读取到的字符与待;险索的字符进行比对,若两者一致,则4艮据该字符节点中的坐标信息将该字符作为^r索结果输出。9在实现本发明的过程中,发明人发现现有技术中存在以下技术问题现有技术中对于每个字符都要保存该字符的坐标信息,需要占用系统较大的存储资源,并且,在需要输出字符串对字符串包含的字符进行定位时,需要逐个读取各字符对应的字符节点中存储的字符和该字符的坐标信息,进而才艮据坐标信息输出该字符,定位效率较低,进而影响了字符串的输出速度。
发明内容本发明实施例提供一种电子文档中文字信息处理、输出和字符检索的方法及装置,用于节省字符串的定位信息所占用的存储资源以及提高字符输出和字符检索效率。一种电子文档的文字信息处理方法,该方法包括选取所述电子文档中位于同一行或同一列的多个字符作为一个字符串,所述多个字符的字体和字号相同并且位置连续;获取所述字符串中第一个字符在所述电子文档中的位置信息,并确定所述字符串的相邻字符距离;将所述第一个字符在所述电子文档中的位置信息和所述相邻字符距离作为所述字符串的定位信息与所述字符串进行关联存储。一种利用上述电子文档的文字信息处理方法中存储的信息进行字符输出的方法,该方法包4舌读取存储的字符串以及该字符串的定位信息;对于所述字符串中除第一个字符外其它各字符,根据所述定位信息确定该字符的输出位置信息;根据确定的字符的输出位置信息对该字符进行输出。一种利用上述电子文档的文字信息处理方法中存储的信息进行字符检索的方法,该方法包4舌读取存储的字符串以及该字符串的定位信息;将输入的待检索字符与读取的字符串进行匹配;根据所述字符串的定位信息,确定所述字符串中与所述待检索字符匹配成功的字符的位置信息;根据所述字符的位置信息查找到该字符,并将该字符作为字符^r索结果返回。一种电子文档的文字信息处理装置,该装置包括字符选取单元,用于选取所述电子文档中位于同一行或同一列的多个字符作为一个字符串,所述多个字符的字体和字号相同并且位置连续;位置获取单元,用于获取所述字符串中第一个字符在所述电子文档中的位置信息;距离确定单元,用于确定所述字符串的相邻字符距离;信息存储单元,用于将所述第一个字符在所述电子文档中的位置信息和所述相邻字符距离作为所述字符串的定位信息与所述字符串进行关联存储。一种利用电子文档的文字信息处理装置进行字符输出的装置,该装置包括信息读取单元,用于读取所述电子文档的文字信息处理装置存储的字符串以及该字符串的定位信息;位置确定单元,用于对于所述字符串中除第一个字符外其它各字符,根据所述定位信息确定该字符的输出位置信息;字符输出单元,用于根据所述位置确定单元确定的字符的输出位置信息对该字符进行输出。一种利用电子文档的文字信息处理装置进行字符检索的装置,该装置包括信息读取单元,用于读取存储的字符串以及该字符串的定位信息;字符匹配单元,用于将输入的待检索字符与所述字符串进行匹配;位置确定单元,用于才艮据所述字符串的定位信息,确定述字符串中与所述待检索字符匹配成功的字符的位置信息;结果反馈单元,用于根据所述字符的位置信息查找到该字符,并将该字符作为字符检索结果返回。本发明中,通过选取电子文档中位于同一行或同一列、并且字体和字号相同、位置连续的多个字符作为一个字符串,确定该字符串的相邻字符距离,将字符串中第一个字符在电子文档中的位置信息和字符串的相邻字符距离作为字符串的定位信息进行关联存储,而不需要存储每个字符的坐标信息作为对应字符的定位信息,能够大大节省存储字符的定位信息所需的存储空间。本发明中,读取存储的字符串以及该字符串的定位信息,根据定位信息确定字符串中除第一个字符外其它各字符的输出位置信息,并才艮据确定的字符的输出位置信息对该字符进行输出,而不需要依次读取字符串所包含的各字符的坐标信息,来根据各字符的坐标信息对相应字符进行输出,可见本方案能够有效提高字符位置解析的效率,进而提高字符串输出的速度。本发明中,读取存储的字符串以及该字符串的定位信息,将输入的待检索字符与读取的字符串进行匹配,根据读取到的字符串的定位信息确定字符串中与待检索字符匹配成功的字符的位置信息,然后根据确定的字符的位置信息查找到该字符,并将该字符作为字符检索结果返回。而不需务农次读取存储的字符串所包含的各字符,将各字符与待检索字符进行匹配,再依次读取匹配成功的各字符的坐标信息,来才艮据各字符的坐标信息查找到该字符,可见本方案能够有效提高字符检索的效率。图1为本发明实施例提供的方法流程示意图;图2为本发明实施例提供的另一方法流程示意图;图3为本发明实施例提供的又一方法流程示意图;图4A图4J为本发明实施例中相关信息示意12图5为本发明实施例提供的装置结构示意图;图6为本发明实施例提供的另一装置结构示意图;图7为本发明实施例提供的又一装置结构示意图。具体实施例方式为了节省字符串的定位信息所占用的存储资源,本发明实施例提供一种电子文档的文字信息处理方法,本方法中,将字体和字号相同并且位置连续的字符作为一个字符串,并将字符串中第一个字符的位置信息和字符串的相邻字符距离作为字符串的定位信息进行存储。参见图1,本发明实施例提供的电子文档的文字信息处理方法,具体包括以下步骤步骤10:选取电子文档中位于同一行或同一列的多个字符作为一个字符串,选取的多个字符的字体和字号相同并且位置连续;步骤ll:获取所述字符串中第一个字符在电子文档中的位置信息,并确定该字符串的相邻字符距离;步骤12:将第一个字符在所述电子文档中的位置信息和确定的相邻字符距离作为所述字符串的定位信息与该字符串进行关联存储。步骤10中,若电子文档的排版方向为横向排版方向,则选取电子文档中位于同一行的多个字符作为一个字符串;若电子文档的排版方向为纵向排版方向,则选取电子文档中位于同一列的多个字符作为一个字符串。步骤11中,确定字符串的相邻字符距离,其具体实现方式可以采用如下两种第一种,可以适用于在字符串中的字符采用等宽字体的情况首先,对于字符串中除最后一个字符之外的其它每个字符,确定该字符的起始点到下一个字符的起始点的距离值;然后,从确定出的各距离值中选取一个出现次数最多的第一距离值,将该第一距离值确定为字符串的相邻字符距离。采用本方式时,若距离值为浮点数,则需要选取出现次数最多的、在允许误差范围(Delta)内的距离值作为第一距离值,若出现次数最多的并在允许误差范围Delta内的距离值为多个,则将这多个距离值的平均值作为第一距离值。换句话说,需要找到一个平均距离数据(Dm),在[Dm-Ddta,Dm+Delta]这个区间覆盖了最多的距离数据。较佳的,为了提高定位信息的准确性,对于确定出的各距离值中除第一距离值之外的其它距离值,计算该距离值与第一距离值的差值,并将该差值作为该距离值对应的终止字符的字符间距修正信息与字符串的定位信息进行关联存储。这里,距离值是某一字符的起始点到下一个字符的起始点的距离值,那么,该距离值对应的终止字符则是指该下一个字符。当然,还可以是从确定的各距离值中随机选取一个距离值作为第一距离值;或者,直接计算确定的各距离值的平均值,将该平均值作为第一距离值;或者,从确定的各距离值中选取满足一定条件的距离值作为第一距离值,例如,选取大于或小于某一设定距离门限值的距离值作为第一距离值等。任何根据确定的字符的起始点到下一个字符的起始点的距离值,来确定字符串的相邻字符距离的方法均在本发明的保护范围内。第二种,可以适用于在字符串中的字符采用非等宽字体的情况首先,对于字符串中除最后一个字符之外的其它每个字符,确定该字符与下一个字符的字符间距值;从确定的各字符间距值中选取一个出现次数最多的第一字符间距值,将该第一字符间距值确定为字符串的相邻字符距离。本方式中,确定某一字符与下一个字符的字符间距值,其具体方法可以为首先,确定该字符的起始点到下一个字符的起始点的距离值,然后,计算该距离值与该字符的字宽或字高的差值,将该差值即为该字符与下一个字符的字符间距值。同样的,采用本方式时,若字符间距值为浮点数,则需要选取出现次数最多的、在允许误差范围(Delta)内的字符间距值作为第一字符间距值,若出现次数最多的并在允许误差范围Delta内的字符间距值为多个,则将这多个字符间距值的平均值作为第一字符间距值。换句话说,需要找到一个平均字符间距数据(Dm),在[Dm-Delta,Dm+Delta]这个区间覆盖了最多的字符间距数据。较佳的,为了提高定位信息的准确性,对于确定出的各字符间距值中除第一字符间距值之外的其它字符间距值,计算该字符间距值与第一字符间距值的差值,并该差值作为该字符间距值对应的终止字符的字符间距修正信息与字符串的定位信息进行关联存储。这里,字符间距值是某一字符与下一个字符的字符间距值,那么,该字符间距值对应的终止字符则是指该下一个字符。当然,还可以是从确定的各字符间距值中随机选取一个字符间距值作为字符串的字符间距;或者,直接计算确定的各字符间距值的平均值,将该平均值作为字符串的字符间距;或者,从确定的各字符间距值中选取满足一定条件的距离值作为字符串的字符间距,例如,选取大于或小于某一设定间距门限值的字符间距值作为字符串的字符间距等。任何才艮据确定的字符与下一个字符的字符间距值,来确定字符串的字符间距的方法均在本发明的保护范围内。较佳的,为了进一步提高定位信息的准确性,在字符串中的多个字符位于同一行时,对多个字符中的各字符,判断该字符的纵向位置相对于多个字符所在行的纵向位置是否存在偏移,若是,则将偏移的信息作为该字符的字符偏移信息与字符串的定位信息进行关联存储。例如,多个字符所在行的纵向坐标为y0,字符a的纵向坐标为yl,那么,字符a相对于多个字符所在行的纵向位置的偏移为yl-y0。在字符串中的多个字符位于同一列时,对多个字符中的各字符,判断该字符的横向位置相对于多个字符所在列的横向位置是否存在偏移,若是,则将偏移的信息作为该字符的字符偏移信息与字符串的定位信息进行关联存储。例如,多个字符所在列的横向坐标为x0,字符a的纵向坐标为xl,那么,字符a相对于多个字符所在列的横向位置的偏移为xl-x0。参见图2,本发明实施例还提供一种利用上述电子文档的文字信息处理方法中存储的信息进行字符输出的方法,具体包括以下步骤步骤20:读取存储的字符串以及该字符串的定位信息;步骤21:对于所述字符串中除第一个字符外其它各字符,根据读取到的定位信息确定该字符的输出位置信息;步骤22:根据确定的字符的输出位置信息对该字符进行输出。步骤21中,4艮据定位信息确定字符的输出位置信息,其具体实现可以采用以下两种第一种,根据读取到的定位信息中第一个字符在电子文档中的位置信息和第一距离值,确定该字符的输出位置信息。具体的,在字符串中的多个字符位于同一行时,第一个字符在电子文档中的位置坐标为(xl,yl),第一距离值为x0,在字符a之前有n个字符,则字符a的位置坐标为(xl+n*xO,yl)。在字符串中的多个字符位于同一列时,第一个字符在电子文档中的位置坐标为(xl,yl),第一距离值为x0,在字符a之前有n个字符,则字符a的位置坐标为(xl,yl+n*xO)。第二种,根据读取到的定位信息中第一个字符在电子文档中的位置信息、第一字符间距值和该字符之前各字符的字宽或字高,确定该字符的输出位置信息。具体的,在字符串中的多个字符位于同一行时,第一个字符在电子文档中的位置坐标为(xl,yl),第一字符间距值为xO,在字符a之前有n个字符,则字符a的位置坐标为(xl+n*xO+tWi,yl),其中Wj为第i个字符的字宽。在字符串中的多个字符位于同一列时,第一个字符在电子文档中的位置坐标为(xl,yl),第一字符间距值为xO,在字符a之前有n个字符,则字符a的位置坐标为(xl,yl+n*xO+J;Wi),其中Wi为第i个字符的字高。较佳的,为了提高字符输出位置的准确性,在确定字符的输出位置信息之后,若存储有该字符的字符间距修正信息,则利用该字符间距修正信息对该字符的输出位置信息进行修正,将修正后的信息确定为该字符的输出位置信息。例如,在字符串中的多个字符位于同一行时,确定的字符串中某一字符的位置坐标为(Xm,ym),存储的该字符的字符间距修正值为C,则修正后该字符的位置坐标为(xm+C,ym)。在字符串中的多个字符位于同一列时,确定的字符串中某一字符的位置坐标为(xm,ym),存储的该字符的字符间距修正值为C,则修正后该字符的位置坐标为(xm,ym+C)。较佳的,为了进一步提高字符输出位置的准确性,在确定字符的输出位置信息之后,若存储有该字符的字符偏移信息,则利用该字符偏移信息对该字符的输出位置信息进行修正,将修正后的信息确定为该字符的输出位置信息。例如,在字符串中的多个字符位于同一行时,确定的字符串中某一字符的位置坐标为(xm,ym),存储的该字符的字符偏移值为D,则修正后该字符的位置坐标为(xm,ym+D)。在字符串中的多个字符位于同一列时,确定的字符串中某一字符的位置坐标为(xm,ym),存储的该字符的字符偏移值为D,则修正后该字符的位置坐标为(xm+D,ym)。参见图3,本发明实施例还提供一种利用上述电子文档的文字信息处理方法中存储的信息进行字符检索的方法,具体包括以下步骤步骤30:读M储的字符串以及该字符串的定位信息;步骤31:将输入的待检索字符与读取的字符串进行匹配;步骤32:根据所述字符串的定位信息,确定所述字符串中与所述待检索字符匹配成功的字符的位置信息;步骤33:根据所述字符的位置信息查找到该字符,并将该字符作为字符4企索结果返回。步骤32的具体实现方法也可以采用以下两种方式第一种,根据定位信息中第一个字符在电子文档中的位置信息和第一距离值,确定字符串中与待检索字符匹配成功的字符的位置信息;具体的,在字符串中的多个字符位于同一行时,第一个字符在电子文档中的位置坐标为(xl,yl),第一距离值为xO,在与待检索字符匹配成功的字符a之前有n个字符,则字符a的位置坐标为(xl+n*xO,yl)。在字符串中的多个字符位于同一列时,第一个字符在电子文档中的位置坐标为(xl,yl),第一距离值为xO,在与待检索字符匹配成功的字符a之前有n个字符,则字符a的位置坐标为(xl,yl+n*xO)。第二种,才艮据定位信息中第一个字符在电子文档中的位置信息、第一字符间距值、以及与待检索字符匹配成功的字符之前各字符的字宽或字高,确定字符串中与待检索字符匹配成功的字符的位置信息。具体的,在字符串中的多个字符位于同一4亍时,第一个字符在电子文档中的位置坐标为(xl,yl),第一字符间距值为xO,在与待检索字符匹配成功的字符a之前有n个字符,则字符a的位置坐标为(xl+n*乂0+|>;,yl),其中Wi为第i个字符的字宽。在字符串中的多个字符位于同一列时,第一个字符在电子文档中的位置坐标为(xl,yl),第一字符间距值为xO,在与待;险索字符匹配成功的字符a之前有n个字符,则字符a的位置坐标为(xl,yl+n*xO+tv^),其中w;为第i个字符的字高。较佳的,为了提高检索结果的准确性,在确定与待检索字符匹配成功的字符的位置信息之后,若存储有该字符的字符间距修正信息,则利用该字符间距修正信息对该字符的位置信息进行修正,将修正后的信息确定为该字符的位置柠自例如,在字符串中的多个字符位于同一行时,确的字符串中与待检索字符匹配成功的某一字符的位置坐标为(xm,ym),存储的该字符的字符间距修正值为C,则修正后该字符的位置坐标为(xm+C,ym)。在字符串中的多个字符位于同一列时,确定的字符串中与待检索字符匹配成功的某一字符的位置坐标为(xm,ym),存储的该字符的字符间距修正值为C,则修正后该字符的位置坐标为(xm,ym+C)。较佳的,为了进一步提高检索结果的准确性,在确定与待检索字符匹配成功的字符的位置信息之后,若存储有该字符的字符偏移信息,则利用该字符偏移信息对该字符的位置信息进行修正,将修正后的信息确定为该字符的位置信息。例如,在字符串中的多个字符位于同一行时,确定的字符串中与待检索字符匹配成功的某一字符的位置坐标为(Xm,ym),存储的该字符的字符偏移值为D,则修正后该字符的位置坐标为(xm,ym+D)。在字符串中的多个字符位于同一列时,确定的字符串中与待^f企索字符匹配成功的某一字符的位置坐标为(xm,ym),存储的该字符的字符偏移值为D,则修正后该字符的位置坐标为(xm+D,ym)。下面以具体实施例对本发明方法进行说明本发明可应用于各类版式文档及其应用系统,下面以CEBX格式文档中文字对象为例来进一步说明本发明的实施方式(CEBX为方正技术研究院将于2009年发布的新一代版式文档格式)。CEBX中页面数据均采用XML语言进行描述,其基J出数据类型说明见下表类型说明示例Bool布尔值,可取true或false。Integer整数,在描述时可能会加上数值范围限定。"10000"Float浮点数,在描述时可能会加上数值范围限定,最多具有八位有效小数位数。"ioo.r,HexData16进制数据,在描述时可能会加上数值范围限定。"#FFFFFFFF,,String字符串,在描述时可能会加"abc"19<table>tableseeoriginaldocumentpage20</column></row><table>CEBX中字体对象中存储了字宽表信息,见图4A中的WidthTable部分,在文字对象中存储了字送(即所述第一距离值)、字符间距信息(即所述第一字符间距值)以及编码-字形变换,其中编码-字形变换主要保存所述字符的字符间距修正信息和字符偏移信息,见图4B中的CharDistance(字送)、CharSpace(字符间距信息)以及CGTransform节点(编码-字形变换)。CGTransform节点详细描述了字符编码和字形索引之间的变换关系,该节点结构如图4C所示,具体说明见下表<table>tableseeoriginaldocumentpage21</column></row><table>例如,附图4D所示的文字对象(即字符串)在CEBX中的描述如下:<TextID="2"Font='T'Size="48"><CGTransformCodePosition=,T,><AdvancedPosition></AdvancedPosition></CGTransform><TextCodex="100"y^'100"〉映射表〈/TextCode〉</Text>参见图4E-4J,为上述初始字送、字符间距和字宽的含义示意图。附图4A中各节点的属性信息可以参见下表:<table>tableseeoriginaldocumentpage22</column></row><table>TextCodeString文字内容,也就是一段字符编码串。字符编码有两种表现形式,一是使用Unicode编码,一是直接使用字体中的字形索引,以十六进制表示,空格位分隔符。4吏用哪种形式由Font中的UnicodeText属性来确定。XFloat(可选)文字的x坐标,是TextCode内包含文字的第一个字符在当前坐标系统下的坐标。当x不出现、y出现时,则采用上一个TextCode的x值。YFloat(可选)文字的y坐标,是TextCode内包含文字的第一个字符在当前坐标系统下的坐标。当y不出现、x出现时,则采用上一个TextCode的y值。CharDistanceFloat(可选)从当前字符的起始位置到下一个字符的起始位置的距离,采用当前坐标空间单位。此属性主要用于等宽字体,如果没有指定,则采用字体中的字宽数据和CharSpace来决定下个字符的起始位置。CharSpaceFloat(可选)字间距,默认值为0,主要用于非等宽字体。当CharDistance属性出现时无效,此时下一个字符的起始位置完全由CharDistance决定。UnderlineBool(可选)标识该段文字是否使用了下划线,true代表绘制下划线,false代表不绘制下划线。不出现时认为未使用下划线。该属性只是用于标识,主要用于信息抽取,而不用于版式或其他形式的版面还原行为。DeleteLineBool(可选)标识该段文字是否使用了删除线,true代表绘制删除线,false代表不绘制删除线。不出现时认为未使用删除线。该属性只是用于标识,主要用于信息抽取,而不用于版式或其他形式的版面还原行为。下面以如何将PDF中采用单字符输出的文字转换为CEBX中的文字对象为例说明本发明所述的文字信息处理方法,这里假定PDF中均为横排中文文字,采用等宽字体。第一步,解析PDF文件,获取文字信息。第二步,找出字体字号相同且Y坐标相同的一段文字序列,计算其每个字符起始点到下一个字符起始点的距离,然后在这些距离数据中挑出一个出现次数最多的距离作为初始字送。对于距离数据中和初始字送不同的数据,计算其和初始字送之间的差值,作为字符间距修正。如果在文字行的垂直方向上字符有偏移,则把偏移距离作为字符偏移。第三步,将上述得到的初始字送写入文字内容(TextCode)中的CharDistance属性,将上述得到的字符间距修正和字符偏移写入CGTransform节点,然后将同一行中字体字号相同的这一段文字序列存储于TextCode节点。第一步,根据TextCode中首字符的x、y坐标以及CharDistance和CharSpace等信息计算出每个字符的起始点位置。如果CharDistance存在,则忽略CharSpace以及字体的WidthTable信息,否则4艮据CharSpace和字体的WidthTable信息来计算下一个字符的起始点位置。第二步,根据编码-字形变换中的字符间距修正(PlacementAdjusting)对TextCode中每个字符的起始点位置进行修正,需要注意的是根据TextCode中的字符顺序进行修正,每次修正均基于前面已经处理之后的结果来进行计算。第三步,根据编码-字形变换中的XOffset和YOffset对每个字符的位置进行修正,从而得到最终的输出位置。当文字进行绘制时一般分为两种情况一种是文字方向(CharDirection)与阅读方向(ReadDirection)平行,即文字方向与阅读方向的夹角为0或180度的时候,文字绘制位置以文字基线为基准,下一个字符位置以阅读方向进行偏移,偏移大小为字宽(横排)与字符间距的和,即CharDistance。也即,字符的输出位置为该字符的前一字符的输出位置以文字基线为基准、向阅读方向偏移大小为前一字符的字宽与字符间距的和的距离后的位置。附图4E4H展示了文字"流程图"和"Get"在文字方向和阅读方向平^f亍时的示意图。一种是文字方向(CharDirection)与阅读方向(ReadDirection)垂直,即文字方向与阅读方向的夹角为卯或270度的时候,文字绘制位置以文字中心线为基准,下一个字符位置以阅读方向进行偏移,偏移大小为字宽(竖排)与字符间距的和,即VMetrics与CharSpace的和。也即,字符的输出位置为该字符的前一字符的输出位置以文字中心线为基准、向阅读方向偏移大小为前一字符的字宽与字符间距的和的距离后的位置。附图4I4J展示了文字"流程图"和"Get"在文字方向和阅读方向垂直时的示意图。CharDirection与ReadDirection身见定了文字显示时的排列方向,CharDirection指定了单个文字绘制方向,也就是文字的基线方向,用从x轴正方向顺时针到字形基线的角度表示,ReadDirection指定了阅读方向,用从x轴正方向顺时针到文字排列方向的角度表示。参见图5,本发明实施例还提供一种电子文档的文字信息处理装置,该装置包括字符选取单元50、位置获取单元51、距离确定单元52和信息存储单元53,其中字符选取单元50,用于选取所述电子文档中位于同一行或同一列的多个字符作为一个字符串,所述多个字符的字体和字号相同并且位置连续;位置获取单元51,用于获取所述字符串中第一个字符在所述电子文档中的位置信息;距离确定单元52,用于确定所述字符串的相邻字符距离;信息存储单元53,用于将所述第一个字符在所述电子文档中的位置信息和所述相邻字符距离作为所述字符串的定位信息与所述字符串进行关联存储。所述字符选取单元50用于在所述电子文档的排版方向为横向排版方向时,选取所述电子文档中位于同一行的多个字符作为一个字符串;在所述电子文档的排版方向为纵向排版方向时,选取所述电子文档中位于同一列的多个字符作为一个字符串。所述距离确定单元52包括起始点距离确定单元和第一结果确定单元,其中起始点距离确定单元,用于在所述字符串中的字符采用等宽字体时,对于所述字符串中除最后一个字符之外的其它每个字符,确定该字符的起始点到下一个字符的起始点的距离值;第一结果确定单元,用于从所述起始点距离确定单元确定出的各距离值中选取一个出现次数最多的第一距离值,将该第一距离值确定为所述字符串的相邻字符距离。所述距离确定单元52包括字符间距确定单元和第二结果确定单元,其中字符间距确定单元,用于在所述字符串中的字符采用非等宽字体时,对于所述字符串中除最后一个字符之外的其它每个字符,确定该字符与下一个字符的字符间距值;第二结果确定单元,用于从所述字符间距确定单元确定的各字符间距值中选取一个出现次数最多的第一字符间距值,将该第一字符间距值确定为所述字符串的相邻字符距离。该装置进一步包括第一字符间距修正确定单元54,用于对于所述起始点距离确定单元确定出的各距离值中除所述第一距离值之外的其它距离值,计算该距离值与所述第一距离值的差值;相应的,所述信息存储单元53还用于将所述第一字符间距修正确定单元计算得到的差值作为该距离值对应的终止字符的字符间距修正信息与所述定位信息进行关联存储。该装置进一步包括第二字符间距修正确定单元55,用于对于所述字符间距确定单元确定出的各字符间距值中除所述第一字符间距值之外的其它字符间距值,计算该字符间距值与所述第一字符间距值的差值;相应的,所述信息存储单元53还用于将所述第二字符间距修正确定单元计算得到的差值作为该字符间距值对应的终止字符的字符间距修正信息与所述定位信息进行关联存储。该装置进一步包括字符偏移判断单元56,用于在所述多个字符位于同一行时,判断所述多个字符中每个字符的纵向位置相对于所述多个字符所在行的纵向位置是否存在偏移;在所述多个字符位于同一列时,判断所述多个字符中每个字符的横向位置相对于所述多个字符所在列的横向位置是否存在偏移;相应的,所述信息存储单元53还用于在所述字符偏移判断单元判断为是时,将所述偏移的信息作为对应字符的字符偏移信息与所述定位信息进行关联存储。参见图6,本发明实施例还提供一种利用上述电子文档的文字信息处理装置进行字符输出的装置,该装置包括信息读取单元60位置确定单元61和字符输出单元62,其中信息读取单元60,用于读取所述电子文档的文字信息处理装置存储的字符串以及该字符串的定位信息;位置确定单元61,用于对于所述字符串中除第一个字符外其它各字符,才艮据所述定位信息确定该字符的输出位置信息;字符输出单元62,用于根据所述位置确定单元确定的字符的输出位置信息对该字符进行输出。所述位置确定单元61包括第一位置确定单元和/或第二位置确定单元,其中所述第一位置确定单元,用于根据所述定位信息中所述第一个字符在所述电子文档中的位置信息和所述第一距离值,确定该字符的输出位置信息;所述第二位置确定单元,用于根据所述定位信息中所述第一个字符在所述电子文档中的位置信息、所述第一字符间距值和该字符之前各字符的字宽或字高,确定该字符的输出位置信息。该装置进一步包括第一位置修正单元63,用于在所述电子文档的文字信息处理装置存储有字符的字符间距修正信息时,利用所述字符间距修正信息对该字符的输出位置信息进行修正,将修正后的信息确定为该字符的输出位置信息。该装置进一步包括第二位置修正单元64,用于在所述电子文档的文字信息处理装置存储有存储有字符的字符偏移信息时,利用所述字符偏移信息对该字符的输出位置信息进行修正,将修正后的信息确定为该字符的输出位置信息。参见图7,本发明实施例还提供一种利用上述电子文档的文字信息处理装置进行字符检索的装置,该装置包括信息读取单元70、字符匹配单元71、位置确定单元72和结果反馈单元73,其中信息读取单元70,用于读M储的字符串以及该字符串的定位信息;字符匹配单元71,用于将输入的待检索字符与所述字符串进行匹配;位置确定单元72,用于根据所述字符串的定位信息,确定所述字符串中与所述待检索字符匹配成功的字符的位置信息;结果反馈单元73,用于才艮据所述字符的位置信息查找到该字符,并将该字符作为字符4全索结果返回。所述位置确定单元72包括第一位置确定单元和/或第二位置确定单元,其中所述第一位置确定单元,用于根据所述定位信息中所述第一个字符在所述电子文档中的位置信息和所述第一距离值,确定与所述待检索字符匹配成功的字符的位置信息;所述第二位置确定单元,用于4艮据所述定位信息中所述第一个字符在所述电子文档中的位置信息、所述第一字符间距值、以及与所述待检索字符匹配成功的字符之前各字符的字宽或字高,确定与所述待检索字符匹配成功的字符的位置信息。该装置进一步包括第一位置修正单元74,用于在所述电子文档的文字信息处理装置存储有字符的字符间距修正信息时,利用该字符间距修正信息对该字符的位置信息进行信息。第二位置修正单元75,用于在所述电子文档的文字信息处理装置存储有该字符的字符偏移信息时,利用该字符偏移信息对该字符的位置信息进行<务正,将修正后的信息确定为该字符的位置信息。综上,本发明的有益效果包括本发明实施例提供的文字信息处理方案中,通过选取电子文档中位于同一行或同一列、并且字体和字号相同、位置连续的多个字符作为一个字符串,确定该字符串的相邻字符距离,将字符串中第一个字符在电子文档中的位置信息和字符串的相邻字符距离作为字符串的定位信息进行关联存储,而不需要存储每个字符的坐标信息作为对应字符的定位信息,能够大大节省存储字符的定位信息所需的存储空间。本发明实施例提供的字符输出方案中,读取存储的字符串以及该字符串的定位信息,根据定位信息确定字符串中除第一个字符外其它各字符的输出位置信息,并根据确定的字符的输出位置信息对该字符进行输出,而不需要依次读取字符串所包含的各字符的坐标信息,来根据各字符的坐标信息对相应字符进行输出,可见本方案能够有效提高字符位置解析的效率,进而提高字符串输出的速度。本发明实施例提供的字符4企索方案中,读取存储的字符串以及该字符串的定位信息,将输入的待检索字符与读取的字符串进行匹配,根据读取到的字符串的定位信息确定字符串中与待检索字符匹配成功的字符的位置信息,然后根据确定的字符的位置信息查找到该字符,并将该字符作为字符检索结果返回。而不需务农次读取存储的字符串所包含的各字符,将各字符与待检索字符进行匹配,再依次读取匹配成功的各字符的坐标信息,来根据各字符的坐标信息查找到该字符,可见本方案能够有效提高字符检索的效率。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。权利要求1、一种电子文档的文字信息处理方法,其特征在于,该方法包括选取所述电子文档中位于同一行或同一列的多个字符作为一个字符串,所述多个字符的字体和字号相同并且位置连续;获取所述字符串中第一个字符在所述电子文档中的位置信息,并确定所述字符串的相邻字符距离;将所述第一个字符在所述电子文档中的位置信息和所述相邻字符距离作为所述字符串的定位信息与所述字符串进行关联存储。2、如权利要求1所述的方法,其特征在于,若所述电子文档的排版方向为横向排版方向,则选取所述电子文档中位于同一行的多个字符作为一个字符串;若所述电子文档的排版方向为纵向排版方向,则选取所述电子文档中位于同一列的多个字符作为一个字符串。3、如权利要求1所述的方法,其特征在于,在所述字符串中的字符釆用等宽字体时,所述确定所述字符串的相邻字符距离包括对于所述字符串中除最后一个字符之外的其它每个字符,确定该字符的起始点到下一个字符的起始点的距离值;从确定出的各距离值中选取一个出现次数最多的第一距离值,将该第一距离值确定为所述字符串的相邻字符距离。4、如权利要求1所述的方法,其特征在于,在所述字符串中的字符采用非等宽字体时,所述确定所述字符串的相邻字符距离包括对于所述字符串中除最后一个字符之外的其它每个字符,确定该字符与下一个字符的字符间距值;从确定的各字符间距值中选取一个出现次数最多的第一字符间距值,将该第一字符间距值确定为所述字符串的相邻字符距离。5、如权利要求3所述的方法,其特征在于,该方法进一步包括对于确定出的各距离值中除所述第一距离值之外的其它距离值,计算该距离值与所述第一距离值的差值,并将该差值作为该距离值对应的终止字符的字符间距修正信息与所述定位信息进行关联存储。6、如权利要求4所述的方法,其特征在于,该方法进一步包括对于确定出的各字符间距值中除所述第一字符间距值之外的其它字符间距值,计算该字符间距值与所述第一字符间距值的差值,并该差值作为该字符间距值对应的终止字符的字符间距修正信息与所述定位信息进行关联存储。7、如权利要求l所述的方法,其特征在于,该方法进一步包括若所述多个字符位于同一行,则判断所述多个字符中每个字符的纵向位置相对于所述多个字符所在行的纵向位置是否存在偏移,若是,则将该偏移信息作为对应字符的字符偏移信息与所述定位信息进行关联存储;若所述多个字符位于同一列,则判断所述多个字符中每个字符的横向位置相对于所述多个字符所在列的横向位置是否存在偏移,若是,则将偏移信息作为对应字符的字符偏移信息与所述定位信息进行关联存储。8、一种利用权利要求1-7中任一存储的信息进行字符输出的方法,其特征在于,该方法包括读取存储的字符串以及该字符串的定位信息;对于所述字符串中除第一个字符外其它各字符,根据所述定位信息确定该字符的输出位置信息;根据确定的字符的输出位置信息对该字符进行输出。9、如权利要求8所述的方法,其特征在于,所述根据所述定位信息确定该字符的输出位置信息包括根据所述定位信息中所述第一个字符在所述电子文档中的位置信息和所述第一距离值,确定该字符的输出位置信息;或者,根据所述定位信息中所述第一个字符在所述电子文档中的位置信息、所述第一字符间距值和该字符之前各字符的字宽或字高,确定该字符的输出位置信自10、如权利要求9所述的方法,其特征在于,所述根据所述定位信息中所述第一个字符在所述电子文档中的位置信息、所述第一字符间距值和该字符之前各字符的字宽,确定该字符的输出位置信息包括在字符输出采用文字方向与阅读方向平行方式时,将该字符的前一字符的输出位置以文字基线为基准、向阅读方向偏移大小为前一字符的字宽与字符间距的和的距离,将偏移后的位置确定为该字符的输出位置信息;或者,在字符输出采用文字方向与阅读方向垂直方式时,将该字符的前一字符的输出位置以文字中心线为基准、向阅读方向偏移大小为前一字符的字宽与字符间距的和的距离,将偏移后的位置确定为该字符的输出位置信息。11、如权利要求9所述的方法,其特征在于,该方法进一步包括在存储有该字符的字符间距修正信息时,利用所述字符间距修正信息对该字符的输出位置信息进行修正,将修正后的信息确定为该字符的输出位置信台12、如权利要求9或11所述的方法,其特征在于,该方法进一步包括在存储有该字符的字符偏移信息时,利用所述字符偏移信息对该字符的输出位置信息进行修正,将修正后的信息确定为该字符的输出位置信息。13、一种利用权利要求1-7中中任一存储的信息进行字符检索的方法,其特征在于,该方法包括读取存储的字符串以及该字符串的定位信息;将输入的待检索字符与读取的字符串进行匹配;根据所述字符串的定位信息,确定所述字符串中与所述待才企索字符匹配成功的字符的位置信息;根据所述字符的位置信息查找到该字符,并将该字符作为字符检索结果返回。14、如权利要求13所述的方法,其特征在于,所述根据所述字符串的定位信息,确定所述字符串中与所述待;险索字符匹配成功的字符的位置信息包括根据所述定位信息中所述第一个字符在所述电子文档中的位置信息和所述第一距离值,确定与所述待检索字符匹配成功的字符的位置信息;或者,根据所述定位信息中所述第一个字符在所述电子文档中的位置信息、所述第一字符间距值、以及与所述待检索字符匹配成功的字符之前各字符的字宽或字高,确定与所述待检索字符匹配成功的字符的位置信息。15、一种电子文档的文字信息处理装置,其特征在于,该装置包括字符选取单元,用于选取所述电子文档中位于同一行或同一列的多个字符作为一个字符串,所述多个字符的字体和字号相同并iM立置连续;位置获取单元,用于获取所述字符串中第一个字符在所述电子文档中的位置信息;距离确定单元,用于确定所述字符串的相邻字符距离;信息存储单元,用于将所述第一个字符在所述电子文档中的位置信息和所述相邻字符距离作为所述字符串的定位信息与所述字符串进行关联存储。16、如权利要求15所述的装置,其特征在于,所述字符选取单元用于在所述电子文档的排版方向为横向排版方向时,选取所述电子文档中位于同一行的多个字符作为一个字符串;在所述电子文档的排版方向为纵向排版方向时,选取所述电子文档中位于同一列的多个字符作为一个字符串。17、如权利要求15所述的装置,其特征在于,所述距离确定单元包括起始点距离确定单元,用于在所述字符串中的字符采用等宽字体时,对于所述字符串中除最后一个字符之外的其它每个字符,确定该字符的起始点到下一个字符的起始点的距离值;第一结果确定单元,用于从所述起始点距离确定单元确定出的各距离值中选取一个出现次数最多的第一距离值,将该第一距离值确定为所述字符串的相邻字符距离。18、如权利要求15所述的装置,其特征在于,所述距离确定单元包括字符间距确定单元,用于在所述字符串中的字符采用非等宽字体时,对于所述字符串中除最后一个字符之外的其它每个字符,确定该字符与下一个字符的字符间距值;第二结果确定单元,用于从所述字符间距确定单元确定的各字符间距值中选取一个出现次数最多的第一字符间距值,将该第一字符间距值确定为所述字符串的相邻字符距离。19、如权利要求15所述的装置,其特征在于,该装置进一步包括第一字符间距修正确定单元,用于对于所述起始点距离确定单元确定出的各距离值中除所述第一距离值之外的其它距离值,计算该距离值与所述第一距离值的差值;所述信息存储单元还用于将所述第一字符间距修正确定单元计算得到的差值作为该距离值对应的终止字符的字符间距修正信息与所述定位信息进行关联存储。20、如权利要求18所述的装置,其特征在于,该装置进一步包括第二字符间距修正确定单元,用于对于所述字符间距确定单元确定出的各字符间距值中除所述第一字符间距值之外的其它字符间距值,计算该字符间距值与所述第一字符间距值的差值;所述信息存储单元还用于将所述第二字符间距修正确定单元计算得到的差值作为该字符间距值对应的终止字符的字符间距修正信息与所述定位信息进行关联存储。21、如权利要求15所述的装置,其特征在于,该装置进一步包括字符偏移判断单元,用于在所述多个字符位于同一行时,判断所述多个字符中每个字符的纵向位置相对于所述多个字符所在行的纵向位置是否存在偏移;在所述多个字符位于同一列时,判断所述多个字符中每个字符的横向位置相对于所述多个字符所在列的横向位置是否存在偏移;所述信息存储单元还用于在所述字符偏移判断单元判断为是时,将所述偏移的信息作为对应字符的字符偏移信息与所述定位信息进行关联存储。22、一种利用^又利要求15-21中任一所述的电子文档的文字信息处理装置进行字符输出的装置,其特征在于,该装置包括信息读取单元,用于读取所述电子文档的文字信息处理装置存储的字符串以及该字符串的定位信息;位置确定单元,用于对于所述字符串中除第一个字符外其它各字符,根据所述定位信息确定该字符的输出位置信息;字符输出单元,用于冲艮据所述位置确定单元确定的字符的输出位置信息对该字符进行输出。23、如权利要求22所述的装置,其特征在于,所述位置确定单元包括第一位置确定单元和/或第二位置确定单元,其中所述第一位置确定单元,用于根据所述定位信息中所述第一个字符在所述电子文档中的位置信息和所述第一距离值,确定该字符的输出位置信息;所述第二位置确定单元,用于根据所述定位信息中所述第一个字符在所述电子文档中的位置信息、所述第一字符间距值和该字符之前各字符的字宽或字高,确定该字符的输出位置信息。24、如权利要求22所述的装置,其特征在于,该装置进一步包括第一位置修正单元,用于在所述电子文档的文字信息处理装置存储有字符的字符间距修正信息时,利用所述字符间距修正信息对该字符的输出位置信息进行修正,将修正后的信息确定为该字符的输出位置信息。25、如权利要23或24所述的装置,其特征在于,该装置进一步包括第二位置修正单元,用于在所述电子文档的文字信息处理装置存储有存储有字符的字符偏移信息时,利用所述字符偏移信息对该字符的输出位置信息进行修正,将修正后的信息确定为该字符的输出位置信息。26、一种利用权利要求15-21中任一所述的电子文档的文字信息处理装置进行字符检索的装置,其特征在于,该装置包括信息读取单元,用于读取存储的字符串以及该字符串的定位信息;字符匹配单元,用于将输入的待检索字符与所述字符串进行匹配;位置确定单元,用于才艮据所述字符串的定位信息,确定所述字符串中与所述待检索字符匹配成功的字符的位置信息;结果反馈单元,用于根据所述字符的位置信息查找到该字符,并将该字符作为字符^r索结果返回。27、如权利要求26所述的装置,其特征在于,所述位置确定单元包括第一位置确定单元和/或第二位置确定单元,其中所述第一位置确定单元,用于根据所述定位信息中所述第一个字符在所述电子文档中的位置信息和所述第一距离值,确定与所述待检索字符匹配成功的字符的位置信息;所述第二位置确定单元,用于根据所述定位信息中所述第一个字符在所述电子文档中的位置信息、所述第一字符间距值、以及与所述待检索字符匹配成功的字符之前各字符的字宽或字高,确定与所述待检索字符匹配成功的字符的位置信息。全文摘要本发明实施例公开了一种电子文档的文字信息处理方法,该方法为选取所述电子文档中位于同一行或同一列的多个字符作为一个字符串,所述多个字符的字体和字号相同并且位置连续;获取所述字符串中第一个字符在所述电子文档中的位置信息,并确定所述字符串的相邻字符距离;将所述第一个字符在所述电子文档中的位置信息和所述相邻字符距离作为所述字符串的定位信息与所述字符串进行关联存储。本发明实施例还公开了电子文档的文字信息处理装置、电子文档的字符输出方法、检索方法及装置。采用本发明,能够有效节省存储字符的定位信息所需的存储空间、提高字符串输出和字符检索的效率。文档编号G06F17/22GK101655835SQ20091009157公开日2010年2月24日申请日期2009年8月26日优先权日2009年8月26日发明者力丁,磊张,毅王,王晓磊申请人:北大方正集团有限公司;北京北大方正技术研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1