CN101980185B - 去除从双层电子文件中复制的文本中的空格的方法与系统 - Google Patents
去除从双层电子文件中复制的文本中的空格的方法与系统 Download PDFInfo
- Publication number
- CN101980185B CN101980185B CN 201010531159 CN201010531159A CN101980185B CN 101980185 B CN101980185 B CN 101980185B CN 201010531159 CN201010531159 CN 201010531159 CN 201010531159 A CN201010531159 A CN 201010531159A CN 101980185 B CN101980185 B CN 101980185B
- Authority
- CN
- China
- Prior art keywords
- characters
- space
- character
- electronic file
- double
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000010076 replication Effects 0.000 claims description 10
- 238000007689 inspection Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 12
- 230000033458 reproduction Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Document Processing Apparatus (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种去除从双层电子文件中复制的文本中的空格的方法与系统,以解决现有技术中从双层电子文件中复制的文本中存在多余空格的问题。该方法包括:从双层电子文件中复制相邻的两个字符,然后判断所述两个字符是否为空格符;在所述相邻的两个字符都不是空格符的情况下,检查复制得到的所述两个字符之间是否存在空格,若存在空格,则对所述双层电子文件文字层的所述两个字符中的至少一个字符向另一字符的方向拉伸。使用本发明的技术方案,能够避免了多余空格的产生,使复制出的文本不包含多余空格,这样不致于影响用户对复制出的文本的使用。
Description
技术领域
本发明涉及一种去除从双层电子文件中复制的文本中的空格的方法与系统。
背景技术
可移植文档格式(Portable Document Format,PDF)的双层电子文件例如书籍、文件,是有图像层与文字层的PDF文件,图像层上显示原书例如纸书的版面,上面每一个字实际上是一个字形图像;文字层在图像层下面,并不显示出来,文字层中包含文件的电子版文本,通常是使用光学字符识别(Optical Character Recognition,OCR)的方式获得。文字层的文本与图像层的字形图像按字对位,通常字符的左侧为对位基准侧。
由于Acrobat或者Adobe reader在处理文本复制功能时,字符之间的间隔并不是按照一行中是否真实存在空格符来生成复制的数据,而是根据字符的坐标确定字符间距,按照该间距判断字符间是否“需要”空格;即如果两个字在同一行,并且按照Acorbat的判断准则,这两个字之间的水平位置距离较远,这个时候选中本行文本,复制到剪贴板,查看剪贴板的文本,则在水平位置较远的相邻两个字符之间多出了原文没有的空格。这个空格就是由Acrobat或者Adobe reader根据文字位置插入的多余空格。
在插入了多余空格的情况下,字符组成的文本会失去原有的文字意义。图1是根据现有技术的从双层电子文件中复制的文本中存在多余空格以及该文本的原始状态的示意图。如图1所示,文本区域11的文本中包含若干单词,在插入了多余空格的情况下成为文本区域12所示的一个个离散的字母,这样会给使用者带来很多不便,例如影响阅读;又如无法利用计算机检索其中的单词。
现有技术中,从双层电子文件中复制的文本中存在多余空格,对于该问题,目前尚未提出有效解决方案。
发明内容
本发明的主要目的是提供一种去除从双层电子文件中复制的文本中的空格的方法与系统,用以解决现有技术中从双层电子文件中复制的文本中存在多余空格的问题。
为解决上述问题,根据本发明的一个方面,提供了一种去除从双层电子文件中复制的文本中的空格的方法。
本发明的去除从双层电子文件中复制的文本中的空格的方法包括:从双层电子文件中复制相邻的两个字符,然后判断所述两个字符是否为空格符;在所述相邻的两个字符都不是空格符的情况下,检查复制得到的所述两个字符之间是否存在空格,若存在空格,则将所述双层电子文件文字层的所述两个字符中的至少一个字符向另一字符的方向拉伸。
进一步地,从双层电子文件中复制相邻的两个字符之前还包括:从所述双层电子文件的当前页中复制文本块;在所述文本块中的非空格符的字符一侧或两侧出现空格的情况下,在输出的所述文本块中标示出该空格。
进一步地,从双层电子文件中复制相邻的两个字符包括:根据所述双层电子文件的内核数据确定针对相邻两个字符的选择区域;从所述确定的选择区域中复制字符。
进一步地,将所述两个字符中的至少一个字符向另一字符的方向拉伸之后还包括:判断所述两个字符之间是否存在空格,若存在则在输出的这两个字符之间标示出该空格。
进一步地,在输出的这两个字符之间标示出该空格之后,所述方法还包括:将拉伸后的字符再次进行已执行的拉伸的操作。
进一步地,所述双层电子文件的图像层与文字层的对位基准侧是字符第一侧;将所述双层电子文件文字层的所述两个字符中的至少一个字符向另一字符的方向拉伸包括:将所述双层电子文件文字层的所述两个字符中的第一侧字符向第二侧拉伸。
进一步地,在所述相邻的两个字符中的至少一个为空格符的情况下,重复执行从双层电子文件中复制相邻的两个字符及其后的步骤,并且对当前版面中的同一位置的两个字符不重复进行复制。
进一步地,所述双层电子文件为可移植文档格式(PortableDocument Format)的文件。
为解决上述问题,根据本发明的另一方面,提供了一种去除从双层电子文件中复制的文本中的空格的系统。
本发明的去除从双层电子文件中复制的文本中的空格的系统包括:复制模块,用于从双层电子文件中复制相邻的两个字符;判断模块,用于判断所述两个字符是否为空格符;检查模块,用于在所述相邻的两个字符都不是空格符的情况下,检查复制得到的所述两个字符之间是否存在空格;拉伸模块,用于若所述两个字符之间存在空格,则将所述双层电子文件文字层的所述两个字符中的至少一个字符向另一字符的方向拉伸。
进一步地,所述复制模块还用于从所述双层电子文件的当前页中复制文本块;并且所述系统还包括输出模块,用于输出所述文本块以及在所述文本块中的非空格符的字符一侧或两侧出现空格的情况下,在输出的所述文本块中标示出该空格。
进一步地,所述复制模块还用于:根据所述双层电子文件的内核数据确定针对相邻两个字符的选择区域;从所述确定的选择区域中复制字符。
进一步地,所述判断模块还用于在所述拉伸模块完成拉伸操作后,判断所述两个字符之间是否存在空格;所述输出模块还用于在所述拉伸模块完成拉伸操作后,若所述两个字符之间仍存在空格则输出这两个字符并且在输出的这两个字符之间标示出该空格。
进一步地,所述拉伸模块还用于:将所述双层电子文件文字层的所述两个字符中的第一侧字符向第二侧拉伸;其中,所述双层电子文件的图像层与文字层的对位基准侧是字符第一侧。
根据本发明的技术方案,检查复制出的字符中是否存在多余空格,若存在则将字符拉伸,使Acrobat认为拉伸后的字符与相邻字符间的距离无需在复制字符之后插入空格,从而避免了多余空格的产生,使复制出的文本不包含多余空格,这样不致于影响用户对复制出的文本的使用。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术的从双层电子文件中复制的文本中存在多余空格以及该文本的原始状态的示意图;
图2是根据本发明实施例的去除从双层电子文件中复制的文本中的空格的方法的主要步骤的示意图;
图3是根据本发明实施例的检测到多余空格的文本的示意图;
图4是根据本发明实施例的去除多余空格的操作之后的文本的示意图;
图5是根据本发明实施例的去除多余空格之后复制得到的文本的示意图;以及
图6是根据本发明实施例的去除从双层电子文件中复制的文本中的空格的系统的主更模块示意图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
图2是根据本发明实施例的去除从双层电子文件中复制的文本中的空格的方法的主要步骤的示意图。如图2所示,该方法主要包括如下的步骤S21至步骤S24。
步骤S21:从双层电子文件中复制相邻的两个字符。一个字符可以是拼音文字的一个字母,也可以是一个汉字或其他语言的一个单字,也可以是其他字符,包括各种标点符号、技术符号等。在本步骤中,具体可以是先根据双层电子文件的内核数据例如PDF的Touch Up文本,确定针对相邻两个字符的选择区域,再从确定的选择区域中复制字符。
步骤S22:判断复制的两个字符是否为空格符。如果其中至少一个为空格符,则返回步骤S21,这时在执行步骤S21时不重复地复制出另两个字符,即对当前版面中的同一位置的两个字符不重复进行复制;如果这两个字符都不是空格符,则进入步骤S23。
步骤S23:检查复制得到的两个字符之间是否存在空格。在本步骤中,查看复制得到的字符,检查其中是否包含有Acrobat添加的空格。该字符是在根据内核数据建立对应的选择区域中复制得到。如果存在空格,则进入步骤S24;否则返回步骤S21,不重复地复制出另两个字符。
步骤S24:对双层电子文件文字层的所述两个字符中的至少一个字符向另一字符的方向拉伸。文档一般是从左至右书写,因此拉伸的方法一般是增加字符的宽度。本步骤中的拉伸是在双层电子文件的文字层中进行,拉伸的量可以是文字层中字体尺寸衡量单位的某个倍数,也可以是字体宽度的百分比。
在拉伸之后字符间距减小,这样Acrobat就不会判定这两个字符的间距过大,于是认为复制之后二者之间无需插入空格,从而避免了多余空格的产生。
步骤S21之前可以先对文本块进行检查,大致了解该文本块被复制出之后会增加多少空格。为此,可以先从双层电子文件的当前页中复制文本块,在复制出的文本块中的非空格符的字符一侧或两侧出现空格的情况下,在输出的该文本块中标示出该空格。
图3是根据本发明实施例的检测到多余空格的文本的示意图。如图3所示,在图像层中,方框31中包含一块文本,其中使用小方框标示出了多个字母,例如小方框32。在复制出之后,两个小方框32之间会出现多余空格。
步骤S21之后可以是先由用户选定一块文本或指定一页文本,也可以是指定一个或多个双层电子文件。以指定一块文本为例,在步骤S24之后,可以继续处理该块文本的其他部分,即返回步骤S21,并且对于同一位置的两个字符不再次同时复制。可以是两两地复制字符,即每次复制的字符是前次复制的第二个字符及其后的一个字符,例如,在处理一段文本“Welcome to China”时,在一次执行步骤S21时复制了“We”,则在再次执行步骤S21时复制“el”,以后各次执行步骤S21时依次复制“lc”、“co”、“om”......等。
此时如果当指定的文本处理完成,可以输出去除多余空格的结果,如图4所示,图4是根据本发明实施例的去除多余空格的操作之后的文本的示意图。从图4可以看出,在图像层中,方框41中的文本块内存在两种小方框,一种是方框42(图中示出了多个和方框42同样作用的方框,位于单词末尾附近),表示这里有一个正常的空格符;一种是方框43,方框43成对地出现,表示两个方框43之间被插入了一个多余空格。
在输出去除多余空格的结果后,如果方框42的数量较少,用户可以接受,那么可以保存当前的处理结果;否则也可以继续处理,即对拉伸后的字符再次进行拉伸操作。具体可以是返回步骤21重新执行图2所示流程,也可以是在第一次执行该流程之后记录拉伸过的字符然后再次拉伸这些字符。
如果双层电子文件的图像层与文字层的对位基准侧是字符左侧,则对于字符的拉伸操作,可以将该字符向右侧拉伸;反之则向左侧拉伸。当然也可以将字符同时向两侧拉伸,但这样会影响图像层与文字层的对位,如果这种影响能被接受,则可以考虑两侧拉伸。
图5是根据本发明实施例的去除多余空格之后复制得到的文本的示意图。如图5所示,方框51中包含的文本块内进行了多余空格的去除操作,复制出该文本之后,仅存在两处多余空格,如椭圆52和椭圆53所示。对应于图4,去除多余空格之后,椭圆52和椭圆53所示的位置即为相邻两个方框43之间的位置。可以看出仍然存在的多余空格仅会出现在标点附近,这样的空格不会将单词拆开,因此对用户对复制出的文本的使用的影响较小,例如不会影响到用户检索某个单词。
图6是根据本发明实施例的去除从双层电子文件中复制的文本中的空格的系统的主要模块示意图。如图6所示,去除从双层电子文件中复制的文本中的空格的系统60包括复制模块、判断模块、检查模块、拉伸模块。
复制模块用于从双层电子文件中复制相邻的两个字符;判断模块,用于判断所述两个字符是否为空格符;检查模块,用于在所述相邻的两个字符都不是空格符的情况下,检查复制得到的所述两个字符之间是否存在空格;拉伸模块,用于若所述两个字符之间存在空格,则对所述双层电子文件文字层的所述两个字符中的至少一个字符向另一字符的方向拉伸。
复制模块还可用于从所述双层电子文件的当前页中复制文本块;这样,去除从双层电子文件中复制的文本中的空格的系统50还可以包括输出模块,用于输出所述文本块以及在所述文本块中的非空格符的字符一侧或两侧出现空格的情况下,在输出的所述文本块中标示出该空格。
复制模块还可用于根据双层电子文件的内核数据确定针对相邻两个字符的选择区域;从所述确定的选择区域中复制字符。
判断模块还可以用于在拉伸模块完成拉伸操作后,判断所述两个字符之间是否存在空格,这样,所述输出模块还可用于在拉伸模块完成拉伸操作后,若所述两个字符之间仍存在空格则输出这两个字符并且在输出的这两个字符之间标示出该空格。
拉伸模块还可用于将双层电子文件文字层的所述两个字符中的第一侧字符向第二侧拉伸;其中,双层电子文件的图像层与文字层的对位基准侧是字符第一侧。
根据本发明的技术方案,检查复制出的字符中是否存在多余空格,若存在则对字符拉伸,使Acrobat认为拉伸后的字符与相邻字符间的距离无需在复制字符之后插入空格,从而避免了多余空格的产生,使复制出的文本不包含多余空格,这样不致于影响用户对复制出的文本的使用。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种去除从双层电子文件中复制的文本中的空格的方法,其特征在于,包括:
从双层电子文件中复制相邻的两个字符,然后判断所述两个字符是否为空格符;
在所述相邻的两个字符都不是空格符的情况下,检查复制得到的所述两个字符之间是否存在空格,若存在空格,则将所述双层电子文件文字层的所述两个字符中的至少一个字符向另一字符的方向拉伸。
2.根据权利要求1所述的方法,其特征在于,从双层电子文件中复制相邻的两个字符之前还包括:
从所述双层电子文件的当前页中复制文本块;
在所述文本块中的非空格符的字符一侧或两侧出现空格的情况下,在输出的所述文本块中标示出该空格。
3.根据权利要求1所述的方法,其特征在于,从双层电子文件中复制相邻的两个字符包括:
根据所述双层电子文件的内核数据确定针对相邻两个字符的选择区域;
从所述确定的选择区域中复制字符。
4.根据权利要求1所述的方法,其特征在于,将所述两个字符中的至少一个字符向另一字符的方向拉伸之后还包括:
判断所述两个字符之间是否存在空格,若存在则在输出的这两个字符之间标示出该空格。
5.根据权利要求4所述的方法,其特征在于,在输出的这两个字符之间标示出该空格之后,所述方法还包括:将拉伸后的字符再次进行已执行的拉伸的操作。
6.根据权利要求1所述的方法,其特征在于,在所述相邻的两个字符中的至少一个为空格符的情况下,重复执行从双层电子文件中复制相邻的两个字符及其后的步骤,并且对当前版面中的同一位置的两个字符不再次同时复制。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述双层电子文件为可移植文档格式的文件。
8.一种去除从双层电子文件中复制的文本中的空格的系统,其特征在于,包括:
复制模块,用于从双层电子文件中复制相邻的两个字符;
判断模块,用于判断所述两个字符是否为空格符;
检查模块,用于在所述相邻的两个字符都不是空格符的情况下,检查复制得到的所述两个字符之间是否存在空格;
拉伸模块,用于若所述两个字符之间存在空格,则将所述双层电子文件文字层的所述两个字符中的至少一个字符向另一字符的方向拉伸。
9.根据权利要求8所述的系统,其特征在于,
所述复制模块还用于从所述双层电子文件的当前页中复制文本块;
并且所述系统还包括输出模块,用于输出所述文本块以及在所述文本块中的非空格符的字符一侧或两侧出现空格的情况下,在输出的所述文本块中标示出该空格。
10.根据权利要求8所述的系统,其特征在于,所述复制模块还用于:根据所述双层电子文件的内核数据确定针对相邻两个字符的选择区域;从所述确定的选择区域中复制字符。
11.根据权利要求8所述的系统,其特征在于,
所述判断模块还用于在所述拉伸模块完成拉伸操作后,
判断所述两个字符之间是否存在空格;
所述输出模块还用于在所述拉伸模块完成拉伸操作后,
若所述两个字符之间仍存在空格则输出这两个字符并且在输出的这两个字符之间标示出该空格。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010531159 CN101980185B (zh) | 2010-10-29 | 2010-10-29 | 去除从双层电子文件中复制的文本中的空格的方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010531159 CN101980185B (zh) | 2010-10-29 | 2010-10-29 | 去除从双层电子文件中复制的文本中的空格的方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101980185A CN101980185A (zh) | 2011-02-23 |
CN101980185B true CN101980185B (zh) | 2013-03-27 |
Family
ID=43600687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010531159 Expired - Fee Related CN101980185B (zh) | 2010-10-29 | 2010-10-29 | 去除从双层电子文件中复制的文本中的空格的方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101980185B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176957B (zh) * | 2011-12-21 | 2016-08-03 | 北大方正集团有限公司 | 文件的处理方法和装置 |
CN103810148B (zh) * | 2012-11-14 | 2016-12-21 | 福建福昕软件开发股份有限公司 | 一种识别pdf文件中的空格的方法 |
CN104516868B (zh) * | 2013-09-30 | 2018-03-06 | 北大方正集团有限公司 | 一种版面空格的流式还原方法与系统 |
CN106649213B (zh) * | 2016-09-22 | 2019-08-20 | 深圳万兴信息科技股份有限公司 | 一种文档中空格识别方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4803643A (en) * | 1987-08-10 | 1989-02-07 | Oclc Online Computer Library Center Incorporated | System and method for creating memory-retained, formatted pages of text, tabulation, and graphic data |
CN1936884A (zh) * | 2006-10-13 | 2007-03-28 | 北京北大方正电子有限公司 | 一种不同排版顺序的文种混合排版的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1167027C (zh) * | 2001-08-03 | 2004-09-15 | 富士通株式会社 | 格式文档中的信息的抽取装置及抽取方法 |
-
2010
- 2010-10-29 CN CN 201010531159 patent/CN101980185B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4803643A (en) * | 1987-08-10 | 1989-02-07 | Oclc Online Computer Library Center Incorporated | System and method for creating memory-retained, formatted pages of text, tabulation, and graphic data |
CN1936884A (zh) * | 2006-10-13 | 2007-03-28 | 北京北大方正电子有限公司 | 一种不同排版顺序的文种混合排版的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101980185A (zh) | 2011-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Drobac et al. | Optical character recognition with neural networks and post-correction with finite state methods | |
Raghavan et al. | Authorship attribution using probabilistic context-free grammars | |
US8719702B2 (en) | Document organizing based on page numbers | |
US9141607B1 (en) | Determining optical character recognition parameters | |
EP0629972A2 (en) | Method and apparatus for embedding identification codes in printed documents | |
US7797622B2 (en) | Versatile page number detector | |
CN105912514B (zh) | 基于指纹特征的文本复制检测系统及方法 | |
CN101443790A (zh) | 数字图像中的非回流内容的有效处理 | |
CN101980185B (zh) | 去除从双层电子文件中复制的文本中的空格的方法与系统 | |
JPH0798765A (ja) | 方向検出方法および画像解析装置 | |
CN101326518B (zh) | 用于墨水笔记的手写体识别的方法和装置 | |
JP2004240968A5 (zh) | ||
US9613005B2 (en) | Method and apparatus for bidirectional typesetting | |
CN102346560A (zh) | 一种输入法中调整候选词顺序的方法及装置 | |
Basri et al. | Automatic spell checker for Malay blog | |
Pino et al. | A Baybayin word recognition system | |
Bi et al. | Khmer word segmentation based on bi-directional maximal matching for plaintext and microsoft word document | |
CN103176956A (zh) | 用于提取文档结构的方法和装置 | |
CN102521217B (zh) | 一种藏文排版方法及其系统 | |
JP5928733B2 (ja) | 文字列からなるテストデータを自動的に生成する方法及び文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する方法、並びに、それらのコンピュータ及びコンピュータ・プログラム | |
JP7200530B2 (ja) | 情報処理装置および情報処理プログラム | |
Chaudhuri | Towards Indian language spell-checker design | |
CA3022045C (en) | Braille editting method using error output function, recording medium storing program for executing same, and computer program stored in recording medium for executing same | |
US9507548B2 (en) | Method and apparatus for print job with reduced memory footprint size | |
CN115410207B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130327 Termination date: 20141029 |
|
EXPY | Termination of patent right or utility model |