一种识别PDF文件中的空格的方法技术

技术编号:10075445 阅读:247 留言:0更新日期:2014-05-24 04:56
本发明专利技术涉及一种识别PDF文件中的空格的方法。该方法包括:步骤1:遍历PDF文件,记录各对相邻字符之间的距离;步骤2:确定各对相邻字符之间的距离中的最小值h;步骤3:用各对相邻字符之间的距离减去h,得到各对相邻字符之间的相对距离;步骤4:依次判断各对相邻字符之间的相对距离是否小于预知的空格宽度,是则该对相邻字符之间的空隙不是空格,否则,该对相邻字符之间的空隙包括空格。本发明专利技术能提高相邻字符之间是否存在空格的判断准确率。

【技术实现步骤摘要】

本专利技术涉及识别PDF文件中的字符的
,特别是涉及一种识别PDF文件中的空格的方法
技术介绍
在将PDF文件转换为其他格式(如WORD、TXT等格式)的文件时,都要对PDF文件中的字符进行识别,尤其是要对相邻字符间的空格进行判断,从而顺利地组词和断句。PDF文件中,相邻字符间空隙的产生有两个原因,一是因为存在空格所以产生空隙,二是因为版面设置了字符间距所以产生空隙。现有的识别PDF文件中的空格的技术,是判断每对相邻字符之间的距离是否小于预知的空格宽度,是则判断该对相邻字符之间不存在空格,否则判断该对相邻字符间存在空格,进而在转换后的文件中在该对相邻字符之间设置空格。现有技术的缺点在于:当PDF文件中的字符间距设置得过大,例如其大于空格宽度时,该技术会将所有只存在字符间距而没有空格的空隙全部判断为存在空格,这样就会造成组词和断句的大量错误,严重影响格式转换的质量。一个简单的示例如图1所示,该图中由两个单词“Character”和“spacing”组成了连贯的“Character spacing”词组,但仅在“Character”最后的“r”字符和“spacing”中的“s”字符之间存在空格(该空隙实际上是一个空格与一个字符间距的叠加),其余的相邻字符之间的空隙全部为字符间距,但是由于该字符间距要大于空格宽度,因而利用现有技术识别后,这个词组将在转换后的文件中变成包括16个字母字符和15个空格的字符串“Characterspacing”,从而造成严重的转换失误。
技术实现思路
本专利技术所要解决的技术问题是提供一种识别PDF文件中的空格的方法,能提高相邻字符之间是否存在空格的判断准确率。本专利技术解决上述技术问题的技术方案如下:一种识别PDF文件中的空格的方法,该方法包括:步骤1:遍历所述PDF文件,记录各对相邻字符之间的距离;步骤2:确定各对相邻字符之间的距离中的最小值h;步骤3:用各对相邻字符之间的距离减去h,得到各对相邻字符之间的相对距离;步骤4:依次判断各对相邻字符之间的相对距离是否小于预知的空格宽度,是则该对相邻字符之间的空隙不是空格,否则,该对相邻字符之间的空隙包括空格。本专利技术的有益效果是:本专利技术通过便利PDF文件,记录各对相邻字符之间的距离,进而确定各对相邻字符之间的距离中的最小值h,将其作为字符间距的标准,这是因为,相邻字符间的空隙只能为一个字符间距组成,或者由一个字符间距与一个以上的空格组成,因而字符间距h是相邻字符间的距离的最小值。本专利技术用各对相邻字符之间的距离减去h,得到各对相邻字符之间的相对距离,该相对距离或者小于空格宽度,这是该对相邻字符之间不存在空格的情形,或者不小于空格宽度,这是该对相邻字符之间存在空格的情形。因此,本专利技术通过依次判断各对相邻字符之间的相对距离是否小于预知的空格宽度,即可剔除相邻字符之间的空隙为字符间距的情形,准确确定各对相邻字符之间的空隙是否为空格,从而大大提高相邻字符之间是否存在空格的判断准确率。在上述技术方案的基础上,本专利技术还可以做如下改进:进一步,在所述步骤4之后,还包括步骤5:将二者之间的空隙包括空格的相邻字符称为包含空格的相邻字符;用各对所述包含空格的相邻字符之间的相对距离除以所述空格宽度,将得到的商值的整数部分作为该对所述包含空格的相邻字符之间的空格的数量。附图说明图1为字符间距过大的PDF文件的示意图;图2为本专利技术提出的识别PDF文件中的空格的方法的流程图。具体实施方式以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。图2为本专利技术提出的识别PDF文件中的空格的方法的流程图。这里,PDF是PortableDocument Format的缩写,意为便携文件格式,是一种电子文件格式,PDF文件指的是采用PDF格式的电子文件。本专利技术中,PDF文件中的字符可以为字母、数字、汉字、空格、标点等一切可以采用的字符形式。如图2所示,该方法包括:步骤201:遍历PDF文件,记录各对相邻字符之间的距离。本步骤中的“遍历”是一种计算机运算形式,指的是沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。遍历的方法以及上述的“树”的概念属于计算机领域的公知常识,在此不做赘述。本步骤中,遍历PDF文件的方法为:对PDF文件中的每个字符都进行一次访问,且仅做一次访问。PDF文件中的每对相邻字符之间都有一定的空隙,空隙的大小因字符间距以及是否存在空格的不同而有一定差异,而在每个PDF文件中,空格宽度都是已知的,因而相邻字符之间的距离(也就是空隙的大小)就仅与字符间距的设置有关。本步骤在进行空格的识别之前,要记录所有相邻字符之间的距离,从而为步骤202确定字符间距做准备。步骤202:确定各对相邻字符之间的距离中的最小值h。相邻字符之间的空隙只有如下两种来源:一是由一个字符间距构成该空隙,二是由一个字符间距与一个以上的空格叠加构成该空隙。因此,在步骤201确定了所有相邻字符之间的距离的基础上,本步骤可以从中找出相邻字符之间的距离的最小值h,并且,h即为该PDF文件中设置的字符间距,也就是说,该PDF文件中,二者之间的距离为h的一对或多对相邻字符,其二者之间的空隙仅由一个字符间距组成,而没有空格的存在。步骤203:用各对相邻字符之间的距离减去h,得到各对相邻字符之间的相对距离。在上述的相邻字符之间的空隙的两种来源的基础上,本步骤用各对相邻字符之间的距离减去h,得到的差值(即各对相邻字符之间的相对距离)或者为零,或者为正整数倍的空格宽度。值得注意的是,考虑到不同种类的字符之间的字符间距可能有较小的差异,上述的差值为零的情形,可以扩展到差值为绝对值接近零且远小于空格宽度的值,上述的差值为整数倍的空格宽度的情形,可以扩展到差值为正整数倍的空格宽度加上或者减去一极小值的情形,该极小值指的是接近零且远小于空格宽度的正值。步骤204:依次判断各对相邻字符之间的相对距离是否小于预知的空格宽度,是则该对相邻字符之间的空隙不是空格,否则,该对相邻字符之间的空隙包括空格。在步骤203的基础上,本步骤判断各对相邻字符之间的相对距离是否小于预知的空格宽度,如果是,则意味着该对相邻字符之间的空隙仅由一个字符间距构成,因而可判断该对相邻字符之间的空隙不是空格,否则,意味着该对相邻字符之间的空隙由一个字符间距与一个以上的空格构成,因而可判断该对相邻字符之间的空隙包括空格,这里的...
一种识别PDF文件中的空格的方法

【技术保护点】

【技术特征摘要】
1.一种识别PDF文件中的空格的方法,其特征在于,该方法包括:
步骤1:遍历所述PDF文件,记录各对相邻字符之间的距离;
步骤2:确定各对相邻字符之间的距离中的最小值h;
步骤3:用各对相邻字符之间的距离减去h,得到各对相邻字符之间的相对距离;
步骤4:依次判断各对相邻字符之间的相对距离是否小于预知的空格宽度,是则该对
相邻字符...

【专利技术属性】
技术研发人员:周美玲
申请(专利权)人:福建福昕软件开发股份有限公司北京分公司
类型:发明
国别省市:

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

1