公开/公告号CN112667438A
专利类型发明专利
公开/公告日2021-04-16
原文格式PDF
申请/专利权人 万兴科技集团股份有限公司;
申请/专利号CN202011551190.8
发明设计人 晏检平;
申请日2020-12-24
分类号G06F11/14(20060101);G06F40/106(20200101);G06F40/109(20200101);G06F40/117(20200101);
代理机构44242 深圳市精英专利事务所;
代理人武志峰
地址 850000 西藏自治区拉萨市柳梧新区东环路以西、1-4路以北、1-3路以南、柳梧大厦以东8栋2单元6层2号
入库时间 2023-06-19 10:38:35
技术领域
本发明实施例涉及文本处理领域,尤其涉及一种文本保存及还原方法、装置、计算机设备及存储介质。
背景技术
版式文档的文本没有结构化的段落信息。
段落是由一行或多行组成,在Windows系统中以回车换行作为段落结束符号,在Linux系统中则是以换行符号作为段落结束符号。
版式文档中每个文本对象都拥有独立的属性,诸如字体、字体大小、颜色、位置信息等,文本对象之间不存在像段落这样的逻辑关系。目前,每次对版式文档进行编辑,保存后再次打开的话,当前的段落结构和上一次编辑时的段落结构可能不一致,导致用户使用体验不佳。
发明内容
本发明实施例提供了一种文本保存及还原方法、装置、计算机设备及存储介质,旨在解决现有技术中版式文档在编辑保存后再次打开时段落结构可能改变的问题。
第一方面,本发明实施例提供了一种文本保存及还原方法,其包括:
标记第一版式文档中所有单词的位置信息,生成每个单词的标记信息;
将所有单词与对应的标记信息进行关联,得到第二版式文档;
读取所述第二版式文档中的标记信息,并根据所述标记信息将对应的单词进行排列组合,还原得到所述第一版式文档。
第二方面,本发明实施例提供了一种文本保存及还原装置,其包括:
标记模块,用于标记第一版式文档中所有单词的位置信息,生成每个单词的标记信息;
关联模块,用于将所有单词与对应的标记信息进行关联,得到第二版式文档;
还原模块,用于读取所述第二版式文档中的标记信息,并根据所述标记信息将对应的单词进行排列组合,还原得到所述第一版式文档。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的文本保存及还原方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的文本保存及还原方法。
本发明实施例提供了一种文本保存及还原方法、装置、计算机设备及存储介质。该方法包括标记第一版式文档中所有单词的位置信息,生成每个单词的标记信息;将所有单词与对应的标记信息进行关联,得到第二版式文档;读取所述第二版式文档中的标记信息,并根据所述标记信息将对应的单词进行排列组合,还原得到所述第一版式文档。该方法标记版式文档保存后所有单词的位置信息,从而达到保存版式文档编辑后的段落结构效果,使得下一次打开版式文档时文档各段落信息保持不变,提升编辑效果,改善用户体验。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的文本保存及还原方法的流程示意图;
图2为本发明实施例提供的文本保存及还原方法的子流程示意图;
图3为本发明实施例提供的文本保存及还原方法的另一子流程示意图;
图4为本发明实施例提供的文本保存及还原方法的另一子流程示意图;
图5为本发明实施例提供的文本保存及还原方法的另一子流程示意图;
图6为本发明实施例提供的文本保存及还原装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1为本发明实施例提供的文本保存及还原方法的流程示意图,该方法包括步骤S110~S130。
步骤S110、标记第一版式文档中所有单词的位置信息,生成每个单词的标记信息;
本实施例中,版式文档至少包括PDF文档、OFD文档。在版式文档编辑结束,标记版式文档中所有单词的位置信息,汇总版式文档中所有单词的位置信息,生成版式文档中的标记信息。单词的位置信息至少包括单词在文本行中的序号、单词类型、所在文本行的序号、所在文本段落的序号以及所在文本块的序号。进一步的,单词的位置信息除了包含所在文本段落的序号之外,还可以包含其他段落信息,例如段落属性,段落属性至少包括段落行间距、对齐方式及特殊格式如缩进等。单词类型至少包括正常、上标及下标。
在一实施例中,如图2所示,步骤S110包括:
步骤S111、读取第一版式文档中的文本块,标记文本块对应的文本块信息;
步骤S112、读取文本块中的文本段落,标记文本段落对应的文本段落信息;
步骤S113、读取文本段落中的文本行,标记文本行对应的文本行信息;
步骤S114、读取文本行中的单词,标记单词对应的单词信息,单词信息至少包括单词的单词类型及单词所在文本行中的位置;
步骤S115、集合文本块信息、文本段落信息、文本行信息及单词信息,得到每一单词对应的标记信息。
本实施例中,在编辑版式文档结束后,保存版式文档时,依次读取第一版式文档中的文本块,标记文本块对应的文本块信息;读取文本块中的文本段落,标记文本段落对应的文本段落信息;读取文本段落中的文本行,标记文本行对应的文本行信息;读取文本行中的单词,标记单词对应的单词信息;最后集合文本块信息、文本段落信息、文本行信息及单词信息,得到每一单词对应的标记信息。其中,文本段落信息可以是该文本段落在所属文本块中的位置,文本行信息可以是该文本行在所属文本段落中的位置,单词信息至少包括单词的单词类型及单词在所属文本行中的位置。
例如,若读取版式文档1中第一个文本块的内容,则标记文本块信息为/WS<>BDC q;读取文本块中第二文本段落的内容,则标记文本段落的位置为/WS<
>BDC q;读取文本段中落第1行的内容,则标记文本行的位置为/WS<>BDC q;读取文本行中第1个单词,则标记单词的位置为/WS<>BDC q,则得到这个单词的标记信息为/WS<>BDC q。在一实施例中,如图3所示,步骤S114包括:
步骤S1141、实时检测当前单词的单词类型是否与前一个单词的单词类型一致;
步骤S11421、若是,则将当前单词对应的标记信息记录在前一个单词对应的标记信息中;
步骤S11422、若否,则单独存储当前单词对应的标记信息。
本实施例中,为了减少标记信息的容量,标记单词信息时,实时检测当前单词的单词类型是否与前一个单词的单词类型一致。若当前单词的单词类型与前一个单词的单词类型一致,则将当前单词对应的标记信息记录在前一个单词对应的标记信息中;若当前单词的单词类型与前一个单词的单词类型不一致,则单独存储当前单词对应的标记信息。
例如,当前单词1的单词类型为正常,若前一个单词0的单词类型也为正常,则将当前单词对应的标记信息记录在单词0的标记信息中;若前一个单词0的单词类型为上标或下标,与单词1的单词类型不同,则单独存储单词1对应的标记信息。
步骤S120、将所有单词与对应的标记信息进行关联,得到第二版式文档;
本实施例中,为了方便在下次打开第一版式文档时能获取第一版式文档中所有单词对应的标记信息,将所有单词与对应的标记信息进行关联处理,得到第二版式文档。
在一实施例中,如图4所示,步骤S120包括:
步骤S121、读取每一单词中的文本对象;
步骤S122、将每一标记信息与对应的文本对象进行关联处理,得到第二版式文档。
本实施例中,为了提高准确度,将单词对应的标记信息与对单词内每个文本对象进行关联,得到第二版式文档。其中,文本对象为PDF中的最小文本单元,一个或多个字符。文本对象的特征是基线相同,文本颜色、字体名称,字体大小都一致。单词由一个或多个字符组合而成,其中的字符可以在不同的文本对象中。
例如,在一版式文档中,单词“Evolving”由“E”“vo”“lving”三个文本对象组合而成,为这三个文本对象关联单词“Evolving”的标记信息。
步骤S130、读取第二版式文档中的标记信息,并根据标记信息将对应的单词进行排列组合,还原得到第一版式文档。
本实施例中,读取第二版式文档中的标记信息,根据标记信息将第二版式文档中的单词,依次排序组合成原文本行、原文本段落及原文本块,还原得到第一版式文档。
在一实施例中,如图5所示,步骤S130包括:
步骤S131、读取第二版式文档中的单词,并获取所有单词对应的标记信息;
步骤S132、根据标记信息,确定同属同一文本行的所有单词,并按对应的标记信息对确定的所有单词进行排列和/或单词类型调整,还原得到原文本行;
步骤S133、确定同属同一文本段的原文本行,并按对应的标记信息对确定的所有原文本行进行排列,得到原文本段落;
步骤S134、确定同属同一文本块的原文本段落,并按对应的标记信息对确定的所有原文本段落进行排列,得到原文本块;
步骤S135、按对应的标记信息对所有原文本块进行排序,还原得到第一版式文档。
本实施例中,根据标记信息进行版式文档还原,具体包括:读取第二版式文档中的单词,并获取所有单词对应的标记信息;根据标记信息,确定同属同一文本行的所有单词,并按对应的标记信息对确定的所有单词进行排列和/或单词类型调整,还原得到原文本行;确定同属同一文本段的原文本行,并按对应的标记信息对确定的所有原文本行进行排列,得到原文本段落;确定同属同一文本块的原文本段落,并按对应的标记信息对确定的所有原文本段落进行排列,得到原文本块;按对应的标记信息对所有原文本块进行排序,还原得到第一版式文档。
例如,读取保存在版式文档1页面的单词,遍历所有单词,统计标记信息,将属于同一文本行的单词按对应的标记信息进行排列和/或单词类型调整,还原得到原文本行;确定属于同一文本段落的原文本行,将同一文本段落的原文本行按标记信息对应的排列顺序进行排列,得到原文本段落;确定属于同一文本块的原文本段落,按标记信息对应的文本段落排列顺序进行排列,得到原文本块;最后按标记信息对应的文本块排列顺序对原文本块进行排序,得到版式文档1最近一次编辑保存之后的文档。
该方法标记版式文档保存后所有单词的位置信息,从而达到保存版式文档编辑后的段落结构效果,使得下一次打开版式文档时文档各段落信息保持不变,提升编辑效果,改善用户体验。
本发明实施例还提供一种文本保存及还原装置,该文本保存及还原装置用于执行前述文本保存及还原方法的任一实施例。具体地,请参阅图6,图6是本发明实施例提供的文本保存及还原装置的示意性框图。该文本保存及还原装置100可以配置于服务器中。
如图6所示,文本保存及还原装置100包括标记模块110、关联模块120、还原模块130。
标记模块110,用于标记第一版式文档中所有单词的位置信息,生成每个单词的标记信息;
关联模块120,用于将所有单词与对应的标记信息进行关联,得到第二版式文档;
还原模块130,用于读取第二版式文档中的标记信息,并根据标记信息将对应的单词进行排列组合,还原得到第一版式文档。
在一实施例中,标记模块110包括:
标记单元,用于读取第一版式文档中的文本块,标记文本块对应的文本块信息;读取文本块中的文本段落,标记文本段落对应的文本段落信息;读取文本段落中的文本行,标记文本行对应的文本行信息;读取文本行中的单词,标记单词对应的单词信息,单词信息至少包括单词的单词类型及单词所在文本行中的位置;
汇总单元,用于集合所述文本块信息、文本段落信息、文本行信息及单词信息,得到每一所述单词对应的标记信息。
在一实施例中,还原模块130包括:
获取单元,用于读取第二版式文档中的单词,并获取所有单词对应的标记信息;
文本行还原单元,用于根据标记信息,确定同属同一文本行的所有单词,并按对应的标记信息对确定的所有单词进行排列和/或单词类型调整,还原得到原文本行;
文本段落还原单元,用于确定同属同一文本段的原文本行,并按对应的标记信息对确定的所有原文本行进行排列,得到原文本段落;
文本块还原单元,用于确定同属同一文本块的原文本段落,并按对应的标记信息对确定的所有原文本段落进行排列,得到原文本块;
文本块排序单元,用于按对应的标记信息对所有原文本块进行排序,还原得到第一版式文档。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上所述的文本保存及还原方法。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如上所述的文本保存及还原方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
机译: 基于语义表达的文本生成方法,基于语义表示,电子设备,非临时计算机可读存储介质和计算机程序的文本生成装置
机译: 文本转换方法和装置,计算机设备和计算机可读存储介质
机译: 用于挖掘实体注意点文本,电子设备,计算机可读存储介质和计算机程序的方法和装置