CN113435166B - 一种加下划线方法和系统、计算机装置、可读存储介质 - Google Patents
一种加下划线方法和系统、计算机装置、可读存储介质 Download PDFInfo
- Publication number
- CN113435166B CN113435166B CN202110643916.9A CN202110643916A CN113435166B CN 113435166 B CN113435166 B CN 113435166B CN 202110643916 A CN202110643916 A CN 202110643916A CN 113435166 B CN113435166 B CN 113435166B
- Authority
- CN
- China
- Prior art keywords
- character
- character object
- coordinates
- objects
- underline
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013507 mapping Methods 0.000 claims abstract description 89
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明涉及一种加下划线方法和系统、计算机装置、可读存储介质。该加下划线方法包括:S1、建立PDF文本信息中各字符对象与字符对象的始、末坐标的映射关系;所述字符对象的始、末坐标与所述字符对象的下划线位置的始、末端点的坐标相对应;S2、获取待加下划线对象,并根据所述待加下划线对象在所述PDF文本信息中搜索对应的字符对象,作为特定字符对象;S3、根据所述特定字符对象与所述映射关系确定所述特定字符对象的始、末坐标;S4、以所述特定字符对象的始、末坐标作为下划线的始、末端点,给所述特定字符对象加下划线;该加下划线方法简单,且准确度高。
Description
技术领域
本发明涉及文件处理技术领域,更具体地说,涉及一种加下划线方法和系统、计算机装置、可读存储介质。
背景技术
现有技术中,实现给PDF文本加下划线的方式有多种,例如,基于PDF解析库直接匹配到相关词组,然后在对应坐标下方画线。该加下划线方法简单易行,但由于加下划线的方式是预先确定的,而中、英文字的宽度不同,因此有可能出现所加的下划线偏离文字的情况。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述不能根据所需加下划线的对象的特性实现精确加下划线的缺陷,提供一种加下划线方法和系统、计算机装置、可读存储介质。
本发明解决其技术问题所采用的技术方案是:构造一种加下划线方法,包括:
S1、建立PDF文本信息中各字符对象与字符对象的始、末坐标的映射关系;所述字符对象的始、末坐标与所述字符对象的下划线位置的始、末端点的坐标相对应;
S2、获取待加下划线对象,并根据所述待加下划线对象在所述PDF文本信息中搜索对应的字符对象,作为特定字符对象;
S3、根据所述特定字符对象与所述映射关系确定所述特定字符对象的始、末坐标;
S4、以所述特定字符对象的始、末坐标作为下划线的始、末端点,给所述特定字符对象加下划线。
优选地,在步骤S1之前还包括:
S0、解析PDF文本,以得到PDF文本信息,所述PDF文本信息中包括至少一个字符对象。
优选地,所述待加下划线对象包括一个或多个字符对象。
优选地,当所述待加下划线对象包括多个字符对象时;
在步骤S3中,根据所述多个字符对象中的首字符对象、末字符对象与所述映射关系确定所述首字符对象的始坐标、所述末字符对象的末坐标;
在步骤S4中,以所述首字符对象的始坐标、所述末字符对象的末坐标作为下划线的始、末端点,给所述多个字符对象加下划线。
优选地,在步骤S3之后还包括:
S30-1、判断所述首字符对象的始坐标与所述末字符对象的末坐标中的Y轴坐标是否相同,若是,说明未发生换行,则执行步骤S4;若否,说明已发生换行,则执行步骤S30-2、S30-3;
S30-2、读取所述多个字符对象中各字符对象的坐标,并自所述末字符对象至所述首字符对象逐个读取各字符对象的Y轴坐标;
S30-3、以Y轴坐标相同的字符对象中的首字符对象的始坐标、末字符对象的末坐标作为当前行的下划线的始、末端点,分段给所述多个字符对象加下划线。
优选地,在步骤S1中,根据各字符对象在所述文本信息中的排序为各字符对象设置索引号,并建立索引号与字符对象、字符对象的始、末坐标的映射关系;
在步骤S3中,根据所述特定字符对象与所述映射关系确定索引号,以确定所述特定字符对象在所述PDF文本信息中的位置,再根据所述索引号与所述映射关系确定所述特定字符对象的始、末坐标。
本发明还构造一种加下划线系统,包括:
建立单元,用于建立PDF文本信息中各字符对象与字符对象的始、末坐标的映射关系;所述字符对象的始、末坐标与所述字符对象的下划线位置的始、末端点的坐标相对应;
搜索单元,用于获取待加下划线对象,并根据所述待加下划线对象在所述PDF文本信息中搜索对应的字符对象,作为特定字符对象;
确定单元,用于根据所述特定字符对象与所述映射关系确定所述特定字符对象的始、末坐标;
第一执行单元,用于以所述特定字符对象的始、末坐标作为下划线的始、末端点,给所述特定字符对象加下划线。
优选地,还包括:
解析单元,用于解析PDF文本,以得到PDF文本信息,所述PDF文本信息中包括至少一个字符对象。
本发明还构造一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现上述任一项所述方法的步骤。
本发明还构造一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
实施本发明的加下划线方法和系统、计算机装置、可读存储介质,具有以下有益效果:
通过建立各字符对象与其始、末坐标的映射关系,当需给待加下划线对象加下划线时,以该待加下划线对象的始、末坐标作为下划线的始、末端点,即可实现给该待加下划线对象加下划线;该加下划线方法简单,且是根据字符对象的始、末坐标确定下划线的端点的,即可根据待加下划线对象的具体情况进行下划线的长度、位置的调节,准确度高。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明的加下划线方法的第一实施例的流程示意图;
图2是本发明的加下划线方法的第二实施例的部分流程示意图;
图3是本发明的加下划线方法的一具体应用中各字符对象在坐标轴上的排列示意图;
图4是本发明的加下划线系统的第一实施例的结构示意图;
图5是本发明的加下划线系统的第二实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1是本发明的加下划线方法的第一实施例的流程示意图,该实施例的加下划线方法可应用于PDF文本的字符对象中,下列以应用于PDF文本的字符对象中为例,对本发明的加下划线方法进行说明。如图1所示,在本实施例中,加下划线方法包括如下步骤:
S1、建立PDF文本信息中各字符对象与字符对象的始、末坐标的映射关系;字符对象的始、末坐标与字符对象的下划线位置的始、末端点的坐标相对应。
可以理解地,PDF文本信息为可用于读取、调用、分析的信息,PDF文本信息中包括至少一个字符对象,本实施例以PDF文本信息中包括多个字符对象为例进行说明。其中,一个字符对象包括一个单独的字符,字符对象包括文字、字母、数字、符号等表现形式,例如,文字“中”、字母“A”、数字“3”、符号“。”等皆表示一个字符对象。
步骤S1之前还包括步骤S0、解析PDF文本,以得到PDF文本信息。可以理解地,PDF文本为打开PDF文件后所得到的文本,本实施例中,以PDF文本包括一页内容为例进行说明。当进行解析时,从上至下对PDF文本进行逐行解析,得到PDF文本信息。当注册文本渲染事件监听功能后,每完成一部分内容的解析都会生成通知内容,例如每完成PDF文本中的一行内容的解析后都会生成通知内容,通知内容中包括PDF文本信息,以供读取、调用、分析。
通过分析通知内容中的PDF文本信息,建立PDF文本信息中每个字符对象与该字符对象的始、末坐标的映射关系。可以理解地,坐标轴可在解析过程中生成,PDF文本信息中的字符对象有序排列在该坐标轴上。
在一些实施例中,在得到一通知内容后,将当前通知内容中的PDF文本信息依序排列在坐标上,并建立各字符对象与其始、末坐标的映射关系,然后在得到另一通知内容后,继续将当前得到的通知内容中的PDF文本信息依序排列在坐标上,并排序在前一PDF文本信息的下方,直至完成所有的字符对象与其始、末坐标的映射关系的建立。在其它一些实施例中,依次得到通知内容中的PDF文本信息,并将完整的PDF文本信息依序排列在坐标轴上后,再建立各字符对象与其始、末坐标的映射关系。
根据各个字符对象在坐标轴上所对应的坐标,建立各字符对象与其坐标的对应关系,并存储在映射表格中。具体地,建立各字符对象与字符对象的始、末坐标的映射关系,其中,字符对象的始、末坐标与该字符对象的下划线位置的始、末端点的坐标相对应。可以理解地,各字符对象都包括始、末坐标,两者是成对出现的。
可以理解地,当一字符对象在PDF文本信息中只出现一次,那么该字符对象与其坐标是一一对应关系,当一字符对象在PDF文本信息中出现多次,那么该字符对象与其坐标是一对多的对应关系。可以理解地,各字符对象是按顺序排列的,各字符对象的坐标是唯一的,是不会发生重复的。
当完成一页的PDF文本的解析后,从映射表格中按顺序读取出各字符对象,合并形成字符对象集,其中,该字符对象集中各字符对象的排列顺序与PDF文本中内容的排序顺序相同。
S2、获取待加下划线对象,并根据待加下划线对象在PDF文本信息中搜索对应的字符对象,作为特定字符对象。
可以理解地,用户可根据需求输入预想加下划线的对象,作为待加下划线对象,例如可通过查找指令进行待加下划线对象的搜索。
当获取到用户输入的待加下划线对象后,在字符对象集中搜索与该待加下划线对象对应的字符对象,并将搜索匹配到的字符对象作为特定字符对象。其中,在搜索时按顺序进行搜索,例如从上至下,从左到右,以防止发生遗漏。
S3、根据特定字符对象与映射关系确定特定字符对象的始、末坐标。
当获取到特定字符对象、并根据映射表格中的映射关系得到与该特定字符对象,也即待加下划线对象对应的坐标后,将该坐标确定为特定字符对象的始、末坐标。
可以理解地,当该特定字符对象在字符对象集中的多处出现时,将对应的多对始、末坐标确定为该特定字符对象的始、末坐标,以对PDF文本中多处上的特定字符对象加下划线。
S4、以特定字符对象的始、末坐标作为下划线的始、末端点,给特定字符对象加下划线。
可以理解地,可同时对多处上的特定字符对象同时加下划线,或逐个按顺序对多处上的特定字符对象分别加下划线,其中,可根据输入控制指令对相同的多个特定字符对象中的部分特定字符对象加下划线。
本实施例的加下划线方法,通过建立每个字符对象与其下划线位置的始、末端点的坐标的映射关系,可精准地对任意一字符对象加下划线。
本发明的加下划线方法的第二实施例,该实施例的加下划线方法包括如下步骤:
S1、建立PDF文本信息中各字符对象与字符对象的始、末坐标的映射关系;字符对象的始、末坐标与字符对象的下划线位置的始、末端点的坐标相对应。
S2、获取待加下划线对象,并根据待加下划线对象在PDF文本信息中搜索对应的字符对象,作为特定字符对象。
S3、根据特定字符对象与映射关系确定特定字符对象的始、末坐标。
S4、以特定字符对象的始、末坐标作为下划线的始、末端点,给特定字符对象加下划线。
本实施例与上述第一实施例的区别在于,在本实施例中,待加下划线对象可包括一个或多个字符对象,由于下划线是在待加下划线对象的下方的两端进行画线得到的,因此包括如下两种情况:
当待加下划线对象包括一个字符对象时,在步骤S3中,该一个字符对象的始、末坐标即为特定字符对象的始、末坐标。
当待加下划线对象包括多个字符对象时,在步骤S3中,根据该多个字符对象中的首字符对象、末字符对象与映射关系确定首字符对象的始坐标、末字符对象的末坐标。具体地,先读取该多个字符对象的首字符对象、末字符对象,再根据该首字符对象,由映射表格中的映射关系得到该首字符对象的始坐标;根据该末字符对象,由映射表格中的映射关系得到该末字符对象的末坐标。
当待加下划线对象包括多个字符对象时,在步骤S4中,以首字符对象的始坐标、末字符对象的末坐标作为下划线的始、末端点,给该多个字符对象加下划线。
当待加下划线对象包括多个字符对象时,进一步地,如图2所示,在步骤S3之后还包括:
S30-1、判断首字符对象的始坐标与末字符对象的末坐标中的Y轴坐标是否相同,若是,说明未发生换行,则执行步骤S4;若否,说明已发生换行,则执行步骤S30-2、S30-3。
可以理解地,当待加下划线对象包括多个字符对象时,需要判断该多个字符对象是否发生换行,从而选择对应的加下划线方式。具体地,步骤S3中,确定该多个字符对象的首字符对象的始坐标、末字符对象的末坐标后,在步骤S330-1中,判断该两坐标中的Y轴坐标是否相同,若是,则说明该多个字符对象的首字符对象、末字符对象位于同一行,即该多个字符对象未发生换行,则以该首字符对象的始坐标、末字符对象的末坐标作为下划线的始、末端点,给该多个字符对象加下划线。
若否,则说明该多个字符对象的首字符对象、末字符对象位于不同行,即该多个字符对象已发生换行,从而执行步骤S30-2、S30-3,针对换行的情况确定相应的加下划线方法。
S30-2、读取多个字符对象中各字符对象的坐标,并自末字符对象至首字符对象逐个读取各字符对象的Y轴坐标。
可以理解地,当判断该多个字符对象发生换行时,判断发生换行的行数,具体地,读取该多个字符对象中各字符对象的坐标,可以理解地,可根据该多个字符对象中各字符对象在映射表格中的映射关系得到各字符对象的坐标。
由于一字符对象的始坐标、末坐标的Y轴坐标是相同的,因此在读取各字符对象对应的坐标时,可读取各字符对象的始坐标和/或末坐标,并从中读取字符对象的Y轴坐标。
其中,在本实施例中,自该多个字符对象中的末字符对象至首字符对象逐个读取各字符对象的Y轴坐标,以判断各字符对象所在的行数,当判断当前字符对象的Y轴坐标发生变动时,则执行分段加下划线处理。在其它一些实施例中,也可自该多个符对象中的首字符对象至末字符对象逐个读取各字符对象的Y轴坐标。
S30-3、以Y轴坐标相同的字符对象中的首字符对象的始坐标、末字符对象的末坐标作为当前行的下划线的始、末端点,分段给多个字符对象加下划线。
可以理解地,字符对象的Y轴坐标相同,则说明这些字符对象位于同一行,则读取这些位于同一行的字符对象中的首字符对象的始坐标、末字符对象的末坐标,以该始坐标、末坐标作为当前行的下划线的始、末端点,给当前行的字符对象加下划线。可以理解地,当该多个字符对象中包括多个Y轴坐标,则重复该加下划线的操作,分段给各行中的字符对象加下划线。
本实施例中,当待加下划线对象发生换行时,通过分别给各行上的字符对象加下划线,有效防止漏加下划线、或下划线偏离字符对象的下划线位置的情况发生。
本发明还提供加下划线方法的第三实施例、第四实施例,该第三实施例包括上述第一实施例的所有步骤,该四实施例包括上述第二实施例的所有步骤,第三实施例与上述第一实施例、第四实施例与上述第二实施例的区别在于,在步骤S1中,根据各字符对象在文本信息中的排序为各字符对象设置索引号,并建立索引号与字符对象、字符对象的始、末坐标的映射关系。
可以理解地,各字符对象在PDF文本信息中是按序排列的,根据排序情况为各字符对象设置索引号,其中,可根据从上至下,从左至右的顺序配置,并建立字符对象与其索引号的对应关系,并将该对应关系存储至映射表格中,从而形成索引号与字符对象、字符对象的始、末坐标的映射关系。其中,索引号可选用连续的数字,或者等差的数字,并可以任何数字开始设置;优选选用连续的数字,并以数字1开始设置。
在步骤S3中,根据特定字符对象与映射关系确定索引号,以确定特定字符对象在PDF文本信息中的位置,再根据索引号与映射关系确定特定字符对象的始、末坐标。
可以理解地,根据映射表格得到该特定字符对象的索引号,从而确定该特定字符对象在PDF文本信息中的位置,并可快速定位到该位置中,再根据该映射关系确定特定字符对象的始、末坐标后,即可进行加下划线的操作。
可以理解地,当待加下划线对象包括多个字符对象时,在PDF文本信息中搜索对应的待加下划线对象的过程中,是通过逐个搜索各字符对象,并判断搜索到的这各个字符对象是否相邻,从而确定完整的待加下划线对象的。本实施例中,通过对各字符对象按序排列,并建立索引号,从而在搜索时可通过索引号判断出该多个字符对象是否相邻,是否组成完整的待加下划线对象,从而加快确定特定字符对象的效率。
可以理解地,本发明中,待加下划线对象、特定字符对象是对相同内容的不同描述;PDF文本、PDF文本信息、字符对象集中包括相同的字符对象内容,且各字符对象的排序顺序相同,只是形式上有所区别。
以下以一具体应用对第四实施例的加下划线方法进行具体说明,在该具体应用中,以PDF文本中包括“一种给PDF文本中指定关键字加下划线的方法”内容,并该内容位于同一页的PDF文本中为例进行说明。
逐行解析PDF文本,当解析完第一行时,得到PDF文本信息“一种给PDF文”,当解析完第二行时,得到PDF文本信息“本中指定关键”,继续解析直至解析完毕。如图3所示,PDF文本信息中的所有字符对象按顺序排列布置在坐标轴上,并位于第一象限中;按顺序建立各字符对象、其索引号以及其矩形坐标三者的映射关系并存储至映射表格中,例如建立字符对象“一”与索引号“1”、始坐标“(0,3)”、末坐标“(1,3)”之间的映射关系。当解析完成并建立所有字符对象的映射关系后,按顺序读取出映射表格中的字符对象并形成字符对象集。
当用户输入的待加下划线对象为“关键字”时,首先在字符对象集中搜索匹配得到字符对象“关”,并从映射表格中得到与“关”对应的索引号“12”,然后匹配到“键”,并得到对应的索引号“13”,最后匹配到“字”,并得到对应的索引号“14”,从而根据各字符对象的索引号快速确定“关键字”在字符对象集中的位置。可以理解地,该PDF文本中只包含一个“关键字”,当匹配到“关”时,即可确定“关键字”的位置,无需再判断各字符对象是否相邻。
当判断“关键字”包括三个字符对象,根据该首字符对象“关”与映射表格中的映射关系,得到“关”的始坐标(4,2),末字符对象“字”的末坐标(1,1),经判断,两者的Y轴坐标不同,则说明该“关键字”已发生换行。
读取字符对象“字”“键”“关”各字符对象的坐标,得到各字符对象的Y轴坐标分别为1、2、2,可得“键”“关”位于同一行,“字”位于另一行,当读取到“键”的Y坐标时,判断其Y坐标发生变化,因此以“字”的始坐标(0,1)、末坐标(1,1)分别作为“字”所在行的下划线的始、末端点,对“字”加下划线;以“关”的始坐标(4,2)、“键”的末坐标(6,2)分别作为“关键”的所在行的下划线的始、末端点,对“关键”加下划线。
在另一具体应用中,当待加下划线对象为“PDF”时,根据上述方法,以“P”的始坐标(3,3)、“F”的末坐标(5,3)分别作为“PDF”的下划线的始、末端点,对“PDF”加下划线。
请参阅图4,图4是本发明的加下划线系统的第一实施例的结构示意图,该加下划线系统10所实现的功能与上述第一实施例的加下划线方法相对应,如图4所示,该加下划线系统10包括:
建立单元101,用于建立PDF文本信息中各字符对象与字符对象的始、末坐标的映射关系;字符对象的始、末坐标与字符对象的下划线位置的始、末端点的坐标相对应。
可以理解地,PDF文本信息为可用于读取、调用、分析的信息,PDF文本信息中包括至少一个字符对象,本实施例以PDF文本信息中包括多个字符对象为例进行说明。其中,一个字符对象包括一个单独的字符,字符对象包括文字、字母、数字、符号等表现形式,例如,文字“中”、字母“A”、数字“3”、符号“。”等皆表示一个字符对象。
建立单元101之前还包括解析单元,用于解析PDF文本,以得到PDF文本信息。可以理解地,PDF文本为打开PDF文件后所得到的文本,本实施例中,以PDF文本包括一页内容为例进行说明。当进行解析时,从上至下对PDF文本进行逐行解析,得到PDF文本信息。当注册文本渲染事件监听功能后,每完成一部分内容的解析都会生成通知内容,例如每完成PDF文本中的一行内容的解析后都会生成通知内容,通知内容中包括PDF文本信息,以供读取、调用、分析。
通过分析通知内容中的PDF文本信息,建立PDF文本信息中每个字符对象与该字符对象的始、末坐标的映射关系。可以理解地,坐标轴可在解析过程中生成,PDF文本信息中的字符对象有序排列在该坐标轴上。
在一些实施例中,在得到一通知内容后,将当前通知内容中的PDF文本信息依序排列在坐标上,并建立各字符对象与其始、末坐标的映射关系,然后在得到另一通知内容后,继续将当前得到的通知内容中的PDF文本信息依序排列在坐标上,并排序在前一PDF文本信息的下方,直至完成所有的字符对象与其始、末坐标的映射关系的建立。在其它一些实施例中,依次得到通知内容中的PDF文本信息,并将完整的PDF文本信息依序排列在坐标轴上后,再建立各字符对象与其始、末坐标的映射关系。
根据各个字符对象在坐标轴上所对应的坐标,建立各字符对象与其坐标的对应关系,并存储在映射表格中。具体地,建立各字符对象与字符对象的始、末坐标的映射关系,其中,字符对象的始、末坐标与该字符对象的下划线位置的始、末端点的坐标相对应。可以理解地,各字符对象都包括始、末坐标,两者是成对出现的。
可以理解地,当一字符对象在PDF文本信息中只出现一次,那么该字符对象与其坐标是一一对应关系,当一字符对象在PDF文本信息中出现多次,那么该字符对象与其坐标是一对多的对应关系。可以理解地,各字符对象是按顺序排列的,各字符对象的坐标是唯一的,是不会发生重复的。
当完成一页的PDF文本的解析后,从映射表格中按顺序读取出各字符对象,合并形成字符对象集,其中,该字符对象集中各字符对象的排列顺序与PDF文本中内容的排序顺序相同。
搜索单元102,用于获取待加下划线对象,并根据待加下划线对象在PDF文本信息中搜索对应的字符对象,作为特定字符对象。
可以理解地,用户可根据需求输入预想加下划线的对象,作为待加下划线对象,例如可通过查找指令进行待加下划线对象的搜索。
当获取到用户输入的待加下划线对象后,在字符对象集中搜索与该待加下划线对象对应的字符对象,并将搜索匹配到的字符对象作为特定字符对象。其中,在搜索时按顺序进行搜索,例如从上至下,从左到右,以防止发生遗漏。
确定单元103,用于根据特定字符对象与映射关系确定特定字符对象的始、末坐标。
当获取到特定字符对象、并根据映射表格中的映射关系得到与该特定字符对象,也即待加下划线对象对应的坐标后,将该坐标确定为特定字符对象的始、末坐标。
可以理解地,当该特定字符对象在字符对象集中的多处出现时,将对应的多对始、末坐标确定为该特定字符对象的始、末坐标,以对PDF文本中多处上的特定字符对象加下划线。
第一执行单元104,用于以特定字符对象的始、末坐标作为下划线的始、末端点,给特定字符对象加下划线。
可以理解地,可同时对多处上的特定字符对象同时加下划线,或逐个按顺序对多处上的特定字符对象分别加下划线,其中,可根据输入控制指令对相同的多个特定字符对象中的部分特定字符对象加下划线。
本实施例的加下划线方法,通过建立每个字符对象与其下划线位置的始、末端点的坐标的映射关系,可精准地对任意一字符对象加下划线。
请参阅图5,图5是本发明的加下划线系统的第二实施例的结构示意图,该加下划线系统10所实现的功能与上述第二实施例的加下划线方法相对应,该实施例的加下划线系统10包括:
建立单元101,用于建立PDF文本信息中各字符对象与字符对象的始、末坐标的映射关系;字符对象的始、末坐标与字符对象的下划线位置的始、末端点的坐标相对应。
搜索单元102,用于获取待加下划线对象,并根据待加下划线对象在PDF文本信息中搜索对应的字符对象,作为特定字符对象。
确定单元103,用于根据特定字符对象与映射关系确定特定字符对象的始、末坐标。
第一执行单元104,用于以特定字符对象的始、末坐标作为下划线的始、末端点,给特定字符对象加下划线。
本实施例与上述第一实施例的区别在于,在本实施例中,待加下划线对象可包括一个或多个字符对象,由于下划线是在待加下划线对象的下方的两端进行画线得到的,因此包括如下两种情况:
当待加下划线对象包括一个字符对象时,在确定单元103中,该一个字符对象的始、末坐标即为特定字符对象的始、末坐标。
当待加下划线对象包括多个字符对象时,在确定单元103中,根据该多个字符对象中的首字符对象、末字符对象与映射关系确定首字符对象的始坐标、末字符对象的末坐标。具体地,先读取该多个字符对象的首字符对象、末字符对象,再根据该首字符对象,由映射表格中的映射关系得到该首字符对象的始坐标;根据该末字符对象,由映射表格中的映射关系得到该末字符对象的末坐标。
当待加下划线对象包括多个字符对象时,在第一执行单元104中,以首字符对象的始坐标、末字符对象的末坐标作为下划线的始、末端点,给该多个字符对象加下划线。
当待加下划线对象包括多个字符对象时,进一步地,在确定单元103之后还包括:
判断单元105,用于判断首字符对象的始坐标与末字符对象的末坐标中的Y轴坐标是否相同,若是,说明未发生换行,则执行第一执行单元104;若否,说明已发生换行,则执行步骤读取单元106、第二执行单元107。
可以理解地,当待加下划线对象包括多个字符对象时,需要判断该多个字符对象是否发生换行,从而选择对应的加下划线方式。具体地,确定单元103中,确定该多个字符对象的首字符对象的始坐标、末字符对象的末坐标后,在判断单元105中,判断该两坐标中的Y轴坐标是否相同,若是,则说明该多个字符对象的首字符对象、末字符对象位于同一行,即该多个字符对象未发生换行,则以该首字符对象的始坐标、末字符对象的末坐标作为下划线的始、末端点,给该多个字符对象加下划线。
若否,则说明该多个字符对象的首字符对象、末字符对象位于不同行,即该多个字符对象已发生换行,从而执行步骤读取单元106、第二执行单元107,针对换行的情况确定相应的加下划线方法。
读取单元106,用于读取多个字符对象中各字符对象的坐标,并自末字符对象至首字符对象逐个读取各字符对象的Y轴坐标。
可以理解地,当判断该多个字符对象发生换行时,判断发生换行的行数,具体地,读取该多个字符对象中各字符对象的坐标,可以理解地,可根据该多个字符对象中各字符对象在映射表格中的映射关系得到各字符对象的坐标。
由于一字符对象的始坐标、末坐标的Y轴坐标是相同的,因此在读取各字符对象对应的坐标时,可读取各字符对象的始坐标和/或末坐标,并从中读取字符对象的Y轴坐标。
其中,在本实施例中,自该多个字符对象中的末字符对象至首字符对象逐个读取各字符对象的Y轴坐标,以判断各字符对象所在的行数,当判断当前字符对象的Y轴坐标发生变动时,则执行分段加下划线处理。在其它一些实施例中,也可自该多个符对象中的首字符对象至末字符对象逐个读取各字符对象的Y轴坐标。
第二执行单元107,用于以Y轴坐标相同的字符对象中的首字符对象的始坐标、末字符对象的末坐标作为当前行的下划线的始、末端点,分段给多个字符对象加下划线。
可以理解地,字符对象的Y轴坐标相同,则说明这些字符对象位于同一行,则读取这些位于同一行的字符对象中的首字符对象的始坐标、末字符对象的末坐标,以该始坐标、末坐标作为当前行的下划线的始、末端点,给当前行的字符对象加下划线。可以理解地,当该多个字符对象中包括多个Y轴坐标,则重复该加下划线的操作,分段给各行中的字符对象加下划线。
本实施例中,当待加下划线对象发生换行时,通过分别给各行上的字符对象加下划线,有效防止漏加下划线、或下划线偏离字符对象的下划线位置的情况发生。
本发明还提供加下划线系统的第三实施例、第四实施例,该第三实施例包括上述第一实施例的所有功能单元,该四实施例包括上述第二实施例的所有功能单元,第三实施例与上述第一实施例、第四实施例与上述第二实施例的区别在于,在建立单元101中,根据各字符对象在文本信息中的排序为各字符对象设置索引号,并建立索引号与字符对象、字符对象的始、末坐标的映射关系。
可以理解地,各字符对象在PDF文本信息中是按序排列的,根据排序情况为各字符对象设置索引号,其中,可根据从上至下,从左至右的顺序配置,并建立字符对象与其索引号的对应关系,并将该对应关系存储至映射表格中,从而形成索引号与字符对象、字符对象的始、末坐标的映射关系。其中,索引号可选用连续的数字,或者等差的数字,并可以任何数字开始设置;优选选用连续的数字,并以数字1开始设置。
在确定单元103中,根据特定字符对象与映射关系确定索引号,以确定特定字符对象在PDF文本信息中的位置,再根据索引号与映射关系确定特定字符对象的始、末坐标。
可以理解地,根据映射表格得到该特定字符对象的索引号,从而确定该特定字符对象在PDF文本信息中的位置,并可快速定位到该位置中,再根据该映射关系确定特定字符对象的始、末坐标后,即可进行加下划线的操作。
可以理解地,当待加下划线对象包括多个字符对象时,在PDF文本信息中搜索对应的待加下划线对象的过程中,是通过逐个搜索各字符对象,并判断搜索到的这各个字符对象是否相邻,从而确定完整的待加下划线对象的。本实施例中,通过对各字符对象按序排列,并建立索引号,从而在搜索时可通过索引号判断出该多个字符对象是否相邻,是否组成完整的待加下划线对象,从而加快确定特定字符对象的效率。
可以理解地,本发明中,待加下划线对象、特定字符对象是对相同内容的不同描述;PDF文本、PDF文本信息、字符对象集中包括相同的字符对象内容,且各字符对象的排序顺序相同,只是形式上有所区别。
本发明的一种计算机装置,计算机装置包括处理器,处理器用于执行存储器中存储的计算机程序时实现上述任一实施例的加下划线方法的步骤。
本发明的一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例的加下划线方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于计算机、手机等终端设备的可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
可以理解的,以上实施例仅表达了本发明的优选实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制;应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,可以对上述技术特点进行自由组合,还可以做出若干变形和改进,这些都属于本发明的保护范围;因此,凡跟本发明权利要求范围所做的等同变换与修饰,均应属于本发明权利要求的涵盖范围。
Claims (8)
1.一种加下划线方法,包括:
S1、根据各字符对象在PDF文本信息中的排序为各字符对象设置索引号,并建立PDF文本信息中各字符对象与索引号、字符对象的始、末坐标的映射关系;所述字符对象的始、末坐标与所述字符对象的下划线位置的始、末端点的坐标相对应;一索引号与一位置上的一字符对象相对应;
S2、获取待加下划线对象,并根据所述待加下划线对象在所述PDF文本信息中搜索对应的字符对象,作为特定字符对象;
S3、根据所述特定字符对象与所述映射关系确定索引号,以确定所述特定字符对象在所述PDF文本信息中的位置,再根据所述索引号与所述映射关系确定所述特定字符对象的始、末坐标;
其中,所述待加下划线对象包括一个或多个字符对象,当所述待加下划线对象包括多个字符对象时,在PDF文本信息中搜索对应的待加下划线对象的过程中,通过逐个搜索各字符对象,并通过索引号判断搜索到的这多个字符对象是否相邻,是否组成完整的待加下划线对象,从而确定完整的待加下划线对象;
S4、以所述特定字符对象的始、末坐标作为下划线的始、末端点,给所述特定字符对象加下划线。
2.根据权利要求1所述的加下划线方法,其特征在于,在步骤S1之前还包括:
S0、解析PDF文本,以得到PDF文本信息,所述PDF文本信息中包括至少一个字符对象。
3.根据权利要求1所述的加下划线方法,其特征在于,当所述待加下划线对象包括多个字符对象时;
在步骤S3中,根据所述多个字符对象中的首字符对象、末字符对象与所述映射关系确定所述首字符对象的始坐标、所述末字符对象的末坐标;
在步骤S4中,以所述首字符对象的始坐标、所述末字符对象的末坐标作为下划线的始、末端点,给所述多个字符对象加下划线。
4.根据权利要求3所述的加下划线方法,其特征在于,在步骤S3之后还包括:
S30-1、判断所述首字符对象的始坐标与所述末字符对象的末坐标中的Y轴坐标是否相同,若是,说明未发生换行,则执行步骤S4;若否,说明已发生换行,则执行步骤S30-2、S30-3;
S30-2、读取所述多个字符对象中各字符对象的坐标,并自所述末字符对象至所述首字符对象逐个读取各字符对象的Y轴坐标;
S30-3、以Y轴坐标相同的字符对象中的首字符对象的始坐标、末字符对象的末坐标作为当前行的下划线的始、末端点,分段给所述多个字符对象加下划线。
5.一种加下划线系统,其特征在于,包括:
建立单元,用于根据各字符对象在PDF文本信息中的排序为各字符对象设置索引号,并建立PDF文本信息中各字符对象与索引号、字符对象的始、末坐标的映射关系;所述字符对象的始、末坐标与所述字符对象的下划线位置的始、末端点的坐标相对应;一索引号与一位置上的一字符对象相对应;
搜索单元,用于获取待加下划线对象,并根据所述待加下划线对象在所述PDF文本信息中搜索对应的字符对象,作为特定字符对象;
确定单元,用于根据所述特定字符对象与所述映射关系确定索引号,以确定所述特定字符对象在所述PDF文本信息中的位置,再根据所述索引号与所述映射关系确定所述特定字符对象的始、末坐标;
其中,所述待加下划线对象包括一个或多个字符对象,当所述待加下划线对象包括多个字符对象时,在PDF文本信息中搜索对应的待加下划线对象的过程中,通过逐个搜索各字符对象,并通过索引号判断搜索到的这多个字符对象是否相邻,是否组成完整的待加下划线对象,从而确定完整的待加下划线对象;
第一执行单元,用于以所述特定字符对象的始、末坐标作为下划线的始、末端点,给所述特定字符对象加下划线。
6.根据权利要求5所述的加下划线系统,其特征在于,还包括:
解析单元,用于解析PDF文本,以得到PDF文本信息,所述PDF文本信息中包括至少一个字符对象。
7.一种计算机装置,其特征在于,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-4中任一项所述方法的步骤。
8.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110643916.9A CN113435166B (zh) | 2021-06-09 | 2021-06-09 | 一种加下划线方法和系统、计算机装置、可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110643916.9A CN113435166B (zh) | 2021-06-09 | 2021-06-09 | 一种加下划线方法和系统、计算机装置、可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113435166A CN113435166A (zh) | 2021-09-24 |
CN113435166B true CN113435166B (zh) | 2024-03-19 |
Family
ID=77755471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110643916.9A Active CN113435166B (zh) | 2021-06-09 | 2021-06-09 | 一种加下划线方法和系统、计算机装置、可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113435166B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4629341A (en) * | 1984-03-30 | 1986-12-16 | Olympia Aktiengesellschaft | Method for controlling printing position on a typewriter for underlining |
CA2164954A1 (en) * | 1993-06-14 | 1995-01-05 | Daniel Egger | Method and apparatus for indexing searching and displaying data |
JPH0959360A (ja) * | 1995-08-25 | 1997-03-04 | Canon Inc | 文書処理装置及び文字列に対する修飾情報の配置方法 |
JPH1074196A (ja) * | 1996-08-30 | 1998-03-17 | Fujitsu Ltd | 編集処理方法及び文書編集装置 |
JP2000322417A (ja) * | 1999-05-06 | 2000-11-24 | Canon Inc | 画像ファイリング装置及び方法及び記憶媒体 |
CN102446274A (zh) * | 2010-09-30 | 2012-05-09 | 汉王科技股份有限公司 | 带有下划线的文本图像预处理方法和装置 |
CN102929900A (zh) * | 2012-01-16 | 2013-02-13 | 中国科学院北京基因组研究所 | 一种字符串匹配的方法及装置 |
CN108132916A (zh) * | 2017-11-30 | 2018-06-08 | 厦门市美亚柏科信息股份有限公司 | 解析pdf表格数据的方法、存储介质 |
JP2019109704A (ja) * | 2017-12-18 | 2019-07-04 | トッパン・フォームズ株式会社 | 文書マークアップ装置、文書マークアップ方法、及びプログラム |
US10922575B1 (en) * | 2019-08-30 | 2021-02-16 | Adobe Inc. | Glyph-aware underlining of text in digital typography |
CN112818080A (zh) * | 2021-02-08 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 搜索方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8290967B2 (en) * | 2007-04-19 | 2012-10-16 | Barnesandnoble.Com Llc | Indexing and search query processing |
CN101593179B (zh) * | 2008-05-26 | 2011-08-10 | 国际商业机器公司 | 文档搜索方法和装置及文档处理器 |
-
2021
- 2021-06-09 CN CN202110643916.9A patent/CN113435166B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4629341A (en) * | 1984-03-30 | 1986-12-16 | Olympia Aktiengesellschaft | Method for controlling printing position on a typewriter for underlining |
CA2164954A1 (en) * | 1993-06-14 | 1995-01-05 | Daniel Egger | Method and apparatus for indexing searching and displaying data |
JPH0959360A (ja) * | 1995-08-25 | 1997-03-04 | Canon Inc | 文書処理装置及び文字列に対する修飾情報の配置方法 |
JPH1074196A (ja) * | 1996-08-30 | 1998-03-17 | Fujitsu Ltd | 編集処理方法及び文書編集装置 |
JP2000322417A (ja) * | 1999-05-06 | 2000-11-24 | Canon Inc | 画像ファイリング装置及び方法及び記憶媒体 |
CN102446274A (zh) * | 2010-09-30 | 2012-05-09 | 汉王科技股份有限公司 | 带有下划线的文本图像预处理方法和装置 |
CN102929900A (zh) * | 2012-01-16 | 2013-02-13 | 中国科学院北京基因组研究所 | 一种字符串匹配的方法及装置 |
CN108132916A (zh) * | 2017-11-30 | 2018-06-08 | 厦门市美亚柏科信息股份有限公司 | 解析pdf表格数据的方法、存储介质 |
JP2019109704A (ja) * | 2017-12-18 | 2019-07-04 | トッパン・フォームズ株式会社 | 文書マークアップ装置、文書マークアップ方法、及びプログラム |
US10922575B1 (en) * | 2019-08-30 | 2021-02-16 | Adobe Inc. | Glyph-aware underlining of text in digital typography |
CN112818080A (zh) * | 2021-02-08 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 搜索方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
一种基于特征编码的Word文档数字水印算法;方旺盛;舒明磊;;科技广场(01);4-6 * |
中文文本图像倒置快速检测算法;曾凡锋;张国锋;陈侃;;计算机工程与设计(09);3512-3516 * |
Also Published As
Publication number | Publication date |
---|---|
CN113435166A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107729445B (zh) | 一种基于html5的大文本阅读定位及显示方法 | |
CN109033244B (zh) | 搜索结果排序方法和装置 | |
US8775457B2 (en) | Efficient string matching state machine | |
CN108536739B (zh) | 元数据敏感信息字段识别方法、装置、设备及存储介质 | |
CN110990010A (zh) | 一种软件界面代码的生成方法及装置 | |
CN109917982B (zh) | 一种语音输入方法、装置、设备及可读存储介质 | |
US11468346B2 (en) | Identifying sequence headings in a document | |
CN109033082B (zh) | 语义模型的学习训练方法、装置及计算机可读存储介质 | |
CN113435166B (zh) | 一种加下划线方法和系统、计算机装置、可读存储介质 | |
CN111240962B (zh) | 测试方法、装置、计算机设备及计算机存储介质 | |
US5978800A (en) | Method of searching data for a given character string | |
JP4470913B2 (ja) | 文字列検索装置およびプログラム | |
CN111602129B (zh) | 针对注释和墨迹的智能搜索 | |
CN116225956A (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
CN110929647A (zh) | 一种文本检测方法、装置、设备及存储介质 | |
CN112699634B (zh) | 电子书的排版处理方法、电子设备及存储介质 | |
CN114492303A (zh) | 电子书的排版处理方法、电子设备及存储介质 | |
CN113435217A (zh) | 语言测试处理方法、装置及电子设备 | |
CN110765079B (zh) | 一种表格信息的搜索方法及装置 | |
CN112380445A (zh) | 数据查询方法、装置、设备和存储介质 | |
CN111368553A (zh) | 智能词云图数据处理方法、装置、设备及存储介质 | |
CN110807322A (zh) | 基于信息熵识别新词的方法、装置、服务器及存储介质 | |
CN113887223B (zh) | 一种字符串匹配方法和相关装置 | |
JP2007179505A (ja) | 検索装置、検索システム、検索方法、検索プログラムおよび記録媒体 | |
CN115099187A (zh) | 一种准确识别文档目录并展示目录的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |