CN113268959B - 文档处理方法、装置和电子设备 - Google Patents
文档处理方法、装置和电子设备 Download PDFInfo
- Publication number
- CN113268959B CN113268959B CN202110573608.3A CN202110573608A CN113268959B CN 113268959 B CN113268959 B CN 113268959B CN 202110573608 A CN202110573608 A CN 202110573608A CN 113268959 B CN113268959 B CN 113268959B
- Authority
- CN
- China
- Prior art keywords
- document
- target
- sequence
- list
- operations
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 45
- 238000012986 modification Methods 0.000 claims abstract description 35
- 230000004048 modification Effects 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims description 60
- 238000000034 method Methods 0.000 claims description 59
- 230000008569 process Effects 0.000 claims description 16
- 238000012217 deletion Methods 0.000 claims description 15
- 230000037430 deletion Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 11
- 230000015654 memory Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 9
- 238000003780 insertion Methods 0.000 description 9
- 230000037431 insertion Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
本申请提供一种文档处理方法、装置和电子设备,响应于文档比对指令,获取第一文档对应的第一操作序列以及第二文档对应的第二操作序列,第二文档为对第一文档进行修改后的文档;根据第一操作序列和第二操作序列确定目标操作序列,目标操作序列为修改对应的操作序列;根据目标操作序列,获得第一文档和第二文档的比对结果。本方案中,可以根据两版文档修改部分对应的操作序列自动的获取两版文档的比对结果,无需解析文档数据,也无需基于文档中的元素位置计算关联内容,简化了文档比对操作,可以提升文档比对效率。
Description
技术领域
本发明属于计算机信息处理领域,具体涉及一种文档处理方法、装置和电子设备。
背景技术
版式文档排版系统是一类可视化的交互编辑软件,广泛用于书籍、期刊杂志、图文制作等设计、排版、印刷相关领域。版式文档排版系统能按照格式要求迅速并准确地完成文档排版,减少人工排版中较难避免的疏漏之处,极大程度上提高排版效率。
目前的文档排版系统,例如,可扩展标记语言排版系统(extensible markuplanguage,XML)等,均需要利用前期结构化的数据和预先设计好的模板,再通过相应的版式排版软件来实现文档排版。在整个系统流程中,需要手工对稿件通过版式排版软件进行内容修改或者格式样式调整等工作,这就要求在排版过程中能够随时监控修改情况,以实时比对文档修改情况。
现有技术中,在比对文档修改情况时,通过对版式文档中的数据进行解析,然后基于文档中的元素位置,对内容进行序列化处理,再基于序列化的结果计算出关联的内容,从而完成对文档修改情况的比对。但由于版式文档的元素内容通常是非线性的离散存在,需要进行线性化处理和建立关联内容,此过程相对复杂导致比对效率较低。
发明内容
本申请的实施例提供一种文档处理方法、装置和电子设备,用以提升文档比对效率。
本申请的实施例提供一种文档处理方法,包括:响应于文档比对指令,获取第一文档对应的第一操作序列以及第二文档对应的第二操作序列,第二文档为对第一文档进行修改后的文档;根据第一操作序列和第二操作序列确定目标操作序列,目标操作序列为修改对应的操作序列;根据目标操作序列,获得第一文档和第二文档的比对结果。
在一种可能的实现方式中,获取第一文档对应的第一操作序列以及第二文档对应的第二操作序列,包括:获取第一文档的操作信息和第二文档的操作信息;根据第一文档的操作信息中多个操作的操作顺序,获取第一文档对应的第一操作序列;根据第二文档的操作信息中多个操作的操作顺序,获取第二文档对应的第二操作序列。
在一种可能的实现方式中,根据第一操作序列和第二操作序列确定目标操作序列,包括:获取第一操作序列中第一预设位置的操作的序列号,以及第二操作序列中第二预设位置的操作的序列号;根据第一预设位置的操作的序列号以及第二预设位置的操作的序列号,确定目标操作序列。
在一种可能的实现方式中,目标操作序列中包括对对象的操作;获取目标操作序列中对对象的操作对应的第一操作列表;根据每个对象的对象标识,确定第一操作列表中对同一对象进行操作的第一目标列表;针对每个对象,对第一目标列表中的相邻两个操作进行合并处理,获得处理后的第一目标列表;根据合并处理后的第一目标列表,获得第一文档和第二文档的比对结果。
在一种可能的实现方式中,根据合并处理后的第一目标列表,获得第一文档和第二文档的比对结果,包括:确定合并处理后的第一目标列表中相同类型操作的操作顺序;根据合并处理后的第一目标列表中第三预设位置的操作信息,获得第一文档和第二文档的比对结果。
在一种可能的实现方式中,目标操作序列中包括对文本的操作;
根据目标操作序列,获得第一文档和第二文档的比对结果,包括:获取目标操作序列中对文本的操作对应的第二操作列表;根据每个文本所在段落的段落标识,确定对同一段落进行操作的第二目标列表;针对每个段落,对第二目标列表中的相同操作类型的操作进行合并处理,获得处理后的第二目标列表;根据合并处理后的第二目标列表,获得第一文档和第二文档的比对结果。
在一种可能的实现方式中,对第二目标列表中的相同操作类型的操作进行合并处理,获得处理后的第二目标列表,包括:确定第二目标列表中n个操作对应的操作区间和操作类型;确定前n-1个操作中的目标操作的操作区间,目标操作为前n-1个操作中任意一个操作类型的操作;根据第n个操作的操作区间以及目标操作的操作区间,获得处理后的第二目标列表,其中,n为大于等于1的整数。
在一种可能的实现方式中,若第n个操作的操作类型为插入操作,根据第n个操作的操作区间以及目标操作的操作区间,获得处理后的第二目标列表,包括:
若目标操作的操作区间和第n个操作的操作区间不存在交叉,则根据第n个操作的插入字符数重新确定目标操作的操作字符数,根据重新确定的目标操作的操作字符数获得处理后的第二目标列表;或者,若目标操作的操作区间与第n个操作的操作区间存在交叉,则将目标操作拆分为第一操作和第二操作,根据第n个操作的插入字符数,分别确定第一操作和第二操作的操作位置以及操作字符数,根据第一操作和第二操作的操作位置以及操作字符数,获得处理后的第二目标列表。
在一种可能的实现方式中,若第n个操作的操作类型为删除操作,根据第n个操作的操作区间以及目标操作的操作区间,获得处理后的第二目标列表,包括:
若目标操作的操作区间在第n个操作的操作区间之后,则根据第n个操作的删除字符数重新确定目标操作的操作字符数,根据目标操作的操作字符数,获得处理后的第二目标列表;或者,若目标操作的操作区间在第n个操作的操作区间之内,则删除目标操作,获得处理后的第二目标列表;或者,若目标操作的操作区间与第n个操作的操作区间存在交叉,则根据第n个操作的删除位置以及删除字符数,确定目标操作的操作位置以及操作字符数,根据目标操作的操作位置以及操作字符数,获得处理后的第二目标列表。
在一种可能的实现方式中,方法还包括:当n大于等于处理后的第二目标列表中的操作数量时,获取处理后的第二目标列表中的至少一个插入操作;若至少一个插入操作的操作区间存在交叉,则合并至少一个插入操作对应的操作区间。
第二方面,本申请实施例提供一种文档处理装置,包括:
获取模块,用于响应于文档比对指令,获取第一文档对应的第一操作序列以及第二文档对应的第二操作序列,第二文档为对第一文档进行修改后的文档;
确定模块,用于根据第一操作序列和第二操作序列确定目标操作序列,目标操作序列为修改对应的操作序列;
处理模块,用于根据目标操作序列,获得第一文档和第二文档的比对结果。
第三方面,本申请提供一种电子设备,包括:存储器和至少一个处理器,存储器用于存储程序指令,处理器用于调用存储器中的程序指令执行如第一方面的文档处理方法。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序;计算机程序被执行时,实现如第一方面的文档处理方法。
第五方面,本申请提供一种计算机程序产品,包括:计算机程序,该计算机程序被处理器执行时实现如第一方面的文档处理方法。
本申请的实施例提供一种文档处理方法、装置和电子设备,响应于文档比对指令,获取第一文档对应的第一操作序列以及第二文档对应的第二操作序列,第二文档为对第一文档进行修改后的文档;根据第一操作序列和第二操作序列确定目标操作序列,目标操作序列为修改对应的操作序列;根据目标操作序列,获得第一文档和第二文档的比对结果。本方案中,可以根据两版文档修改部分对应的操作序列自动的获取两版文档的比对结果,无需解析文档数据,也无需基于文档中的元素位置计算关联内容,简化了文档比对操作,可以提升文档比对效率。
附图说明
为了更清楚地说明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的应用场景示意图;
图2为本申请一实施例提供的文档处理方法的流程图;
图3为本申请另一实施例提供的文档处理方法的流程图;
图4为本申请又一实施例提供的文档处理方法的流程图;
图5为本申请又一实施例提供的文档处理方法的流程图;
图6(a)为本申请一实施例提供的文档处理方法的原理示意图;
图6(b)为本申请另一实施例提供的文档处理方法的原理示意图;
图7为本申请一实施例提供的文档处理装置的结构示意图;
图8为本申请一实施例提供的电子设备的结构示意图。
通过上述附图,已示出明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制构思的范围,而是通过参考特定实施例为本领域技术人员说明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、的一些方面相一致的装置和方法的例子。
版式文档排版系统是一类可视化的交互编辑软件,广泛用于书籍、期刊杂志、图文制作等设计、排版、印刷相关领域。版式文档排版系统能按照格式要求迅速并准确地完成文档排版,减少人工排版中较难避免的疏漏之处,极大程度上提高排版效率。
目前的文档排版系统,例如,可扩展标记语言排版系统(extensible markuplanguage,XML)等,均需要利用前期结构化的数据和预先设计好的模板,再通过相应的版式排版软件来实现文档排版。在整个系统流程中,需要手工对稿件通过版式编辑软件进行内容修改或者格式样式调整等工作,这就要求在排版过程中能够随时监控修改情况,以实时比对文档修改情况。
现有技术中,在比对文档修改情况时,通过对版式文档中的数据进行解析,然后基于文档中的元素位置,对内容进行序列化处理,再基于序列化的结果计算出关联的内容,从而完成对文档修改情况的比对。然而,由于版式文档的元素内容通常是非线性的离散存在,需要进行线性化处理和建立关联内容,此过程相对复杂导致比对效率较低。
有鉴于此,本申请提供一种文档处理方法、装置和电子设备,根据两版文档修改部分对应的操作序列自动的获取两版文档的比对结果,无需解析文档数据,也无需基于文档中的元素位置计算关联内容,简化了文档比对操作,可以提升文档比对效率。
图1为本申请一实施例提供的文档处理方法的场景示例图。如图1所示,该场景包括:终端设备101、第一文档、第二文档、以及第一文档和第二文档的比对结果。
其中,第二文档是基于第一文档进行修改后得到的文档。
在实际应用中,终端设备101可以为任意类型的终端,比如,可以是机器类通信的用户设备。该终端设备101也可称之为用户设备(user equipment,UE)、移动台(mobilestation,MS)、移动终端(mobile terminal)、终端(terminal)等,例如,终端例可以为台式电脑、笔记本、个人数字助理(Personal Digital Assistant,简称:PDA)、智能手机、平板电脑等设备。本场景以台式电脑为例进行示出。
本场景中,将第一文档和第二文档输入终端设备101,终端设备101会获取对第一文档的操作对应的操作序列,以及第二文档的操作对应的操作序列,其中,第一文档的操作对应的操作序列,以及第二文档的操作对应的操作序列可以为存储在终端设备101本地的,也可以是直接从修改完的第一文档和第二文档中采集的,也可以是在第一文档和第二文档的修改过程中实时采集的,本申请实施例不做具体限定。
进一步的,终端设备101根据第一文档的操作对应的操作序列,以及第二文档的操作对应的操作序列进行比对,可以获得第二文档相对于第一文档的修改部分对应的操作序列。
最后,终端设备101根据修改部分对应的操作序列,获得第一文档和第二文档的比对结果。
作为一种可选方案,在获得比对结果后,可以输出比对结果以供用户直观的查看。对于比对结果的输出方式,本申请实施例不做具体限定,一方面,可以以图像形式输出,例如,在第二文档或者第一文档上显示修改对照内容;另一方面,也可以以文字形式输出,例如,以文字输出第二文档相对于第一文档的修改位置、修改类型及修改内容。
通过本申请实施例提供的方法,可以根据两版文档修改部分对应的操作序列自动的获取两版文档的比对结果,无需解析文档数据,也无需基于文档中的元素位置计算关联内容,简化了文档比对操作,可以提升文档比对效率。
下面以具体地实施例对本申请的实施例的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例的实施例进行描述。
图2为本申请一实施例提供的文档处理方法的流程图。如图2所示,本申请的实施例的执行主体可以为上述的终端设备。如图2所示,本申请实施例的方法包括如下步骤:
S201、响应于文档比对指令,获取第一文档对应的第一操作序列以及第二文档对应的第二操作序列。
其中,第二文档为对第一文档进行修改后的文档。
本申请实施例对于文档对比指令的获取方法不做具体限定,示例性的,可以通过触发相应的文档比对的应用程序来获取文档对比指令。
首先,可以通过如下方式中的至少一种,来获取第一文档的第一操作序列和第二文档对应的第二操作序列。
从终端设备本地第一操作序列和第二操作序列;直接从修改完的第一文档和第二文档中采集;在第一文档和第二文档的修改过程中实时采集的,本申请实施例不做具体限定。
其中,在文档修改过程中实时采集操作序列的具体方案可以为:在对文档进行修改时,采集每次的修改操作的操作信息,从而形成文档的操作序列,其中,操作信息可以包括:操作目标的标识、操作目标的类型、操作类型、操作的编码以及操作所在的文本范围等。
需要说明的是,对于修改操作的采集方法,本申请实施例不做具体限定,示例性的,可以通过构建操作拦截器,从而拦截收集操作信息。
进一步的,将采集到的操作信息按照操作顺序构成操作序列。其中,对于构成操作序列的方法,本申请实施例也不做具体限定,示例性的,可以通过构建操作序列管理器(TraceManager),将拦截到的操作信息按照操作顺序进行存储,以获得当前文档的操作序列。
其中,可以按照操作顺序由前至后的方式构成操作序列,也可以按照操作顺序由后至前的方式构成操作序列,本申请实施例不做具体限定。
本方案中,通过构建操作拦截器,可以准确、快速的拦截到对文档的操作,可以提升文档比对的准确性和效率,另外,通过操作序列管理器对操作进行排序保存,便于后续的文档处理,可以进一步提升文档处理效率。
S202、根据第一操作序列和第二操作序列确定目标操作序列,目标操作序列为修改对应的操作序列。
可以理解的是,由于第二文档为对第一文档进行修改后的文档,也就是说在第一文档的基础上,对第二文档又进行了修改操作,而第一操作序列和第二操作序列均是按照操作的前后顺序进行排列的,通过两个操作序列中的操作序列号来获得修改部分对应的操作序列。
以第一操作序列和第二操作序列均按照操作由前至后的顺序进行排列为例,目标操作序列为第二操作序列与第一操作序列相差部分的操作序列。示例性的,例如,第一操作序列中所有操作的序列号为:1~5,第二操作序列中所有操作的序列号为:1~30,则目标操作序列中操作对应的序列号为:6~30。
S203、根据目标操作序列,获得第一文档和第二文档的比对结果。
对应的,目标操作序列中也包含修改操作对应的操作信息,其中,修改操作对应的操作信息可以包括:修改操作中操作目标的标识、修改操作中操作目标的类型、修改操作的操作类型、修改操作中操作的编码以及操修改作所在的文本范围等。
根据上述操作信息即可获得第一文档和第二文档的比对结果。
作为一种可选方案,在获得第一文档和第二文档的比对结果之后,可以将比对结果展示给用户,以直观的反映两个文档的比对结果。
本申请的实施例提供一种文档处理方法、装置和电子设备,响应于文档比对指令,获取第一文档对应的第一操作序列以及第二文档对应的第二操作序列,第二文档为对第一文档进行修改后的文档;根据第一操作序列和第二操作序列确定目标操作序列,目标操作序列为修改对应的操作序列;根据目标操作序列,获得第一文档和第二文档的比对结果。本方案中,可以根据两版文档修改部分对应的操作序列自动的获取两版文档的比对结果,无需解析文档数据,也无需基于文档中的元素位置计算关联内容,简化了文档比对操作,可以提升文档比对效率。
图3为本申请另一实施例提供的文档处理方法的流程图。在上述实施例的基础上,本实施例对本申请技术方案进行更详细的描述,如图3所示,本申请的实施例提供的文档处理方法可以包括以下步骤:
S301、获取第一文档的操作信息和第二文档的操作信息。
在实际应用中,操作信息可以包括:操作目标的标识、操作目标的类型、操作类型、操作的编码以及操作所在的文本范围等。
需要说明的是,对于修改操作的采集方法,本申请实施例不做具体限定,示例性的,可以通过构建操作拦截器,从而拦截收集操作信息。
S302、根据第一文档的操作信息中多个操作的操作顺序,获取第一文档对应的第一操作序列。
S303、根据第二文档的操作信息中多个操作的操作顺序,获取第二文档对应的第二操作序列。
一种可选方案中,第一文档和第二文档中均包含有多个操作,根据操作信息将多个操作按照操作顺序构成操作序列。其中,对于构成操作序列的方法,本申请实施例也不做具体限定,示例性的,可以通过构建操作序列管理器(TraceManager),将拦截到的操作信息按照操作顺序进行存储,以获得当前文档的操作序列。
其中,可以按照操作顺序由前至后的方式构成操作序列,也可以按照操作顺序由后至前的方式构成操作序列,本申请实施例不做具体限定。
需要说明的是,第一文档和第二文档均可以按照上述方法获得对应的操作序列,步骤S302、S303的操作顺序并不以上述顺序为限制,在实际应用中,可以先执行S302再执行S303,也可以先执行S303再执行S302。
S304、获取第一操作序列中第一预设位置的操作的序列号,以及第二操作序列中第二预设位置的操作的序列号。
可以理解的是,由于第二文档为对第一文档进行修改后的文档,也就是说在第一文档的基础上,对第二文档又进行了修改操作,而第一操作序列和第二操作序列均是按照操作的前后顺序进行排列的。那么,第一操作序列中第一预设位置的操作的序列号为第一操作序列中的末尾操作的序列号,第二操作序列中第二预设位置的操作的序列号为第二操作序列中的末尾操作的序列号。
示例性的,对第一文档进行了5次修改,则第一文档对应的操作序列号为1~5,相应的,第二文档在第一文档的基础上又进行了25次修改,则第二文档对应的操作序列号为1~30。
其中,第一预设位置的操作的序列号可以为5,第二预设位置的操作的序列号为30。
S305、根据第一预设位置的操作的序列号以及第二预设位置的操作的序列号,确定目标操作序列。
进一步的,通过两个操作序列中的预设位置的操作序列号即可获得修改部分对应的操作序列号,仍以上为例,目标操作序列中操作对应的序列号为:6~30,则目标操作序列即为第二文档中序列号为6~30对应的操作序列。
S306、根据目标操作序列,获得第一文档和第二文档的比对结果。
需要说明的是,本申请实施例中步骤S306与图2所示实施例中的步骤S203类似,具体可参考上述实施例,此处不再赘述。
本申请实施例提供的文档处理方法,首先通过获取第一文档的操作信息和第二文档的操作信息,然后根据第一文档的操作信息中多个操作的操作顺序,获取第一文档对应的第一操作序列,获取第一操作序列中第一预设位置的操作的序列号,以及第二操作序列中第二预设位置的操作的序列号,再根据第一预设位置的操作的序列号以及第二预设位置的操作的序列号,确定目标操作序列,最后根据目标操作序列,获得第一文档和第二文档的比对结果。本方案中,通过第一文档、第二文档中操作的序列号,可以准确、快速的定位到第二文档相对于第一文档的修改操作,从而进一步提升本方案中文档处理的效率和准确性。
在实际应用中,对文档的操作目标可以包括:对象类型的操作目标,即,目标操作序列中包括对对象的操作。其中,对象可以包括:图片、表格等。下面结合图4对本申请实施例中对对象的操作时,获得第一文档和第二文档的比对结果的方案进行详细说明。
图4为本申请又一实施例提供的文档处理方法的流程图。如图4所示,本申请的实施例提供的文档处理方法可以包括以下步骤:
S401、响应于文档比对指令,获取第一文档对应的第一操作序列以及第二文档对应的第二操作序列。
第二文档为对第一文档进行修改后的文档;
S402、根据第一操作序列和第二操作序列确定目标操作序列。
其中,目标操作序列为修改对应的操作序列。
需要说明的是,步骤S401~S402与图2所示实施例中的步骤S201~S202的方法和原理类似,具体可参考图2所示的实施例,此处不再赘述。
S403、获取目标操作序列中对对象的操作对应的第一操作列表。
需要说明的是,目标操作序列中包括对多种操作目标的操作,根据目标操作序列中的操作信息,确定目标操作序列中操作目标为对象类型的所有操作,第一操作列表即为操作目标为对象类型的所有操作对应的列表。
示例性的,仍以目标操作序列即为第二文档中序列号为6~30对应的操作序列为例,若在序列号6~30对应的操作中,操作序列号为6~15对应的操作是对图片或者表格进行的修改操作,则第一操作列表包括序列号为6~15对应的操作。
S404、根据每个对象的对象标识,确定第一操作列表中对同一对象进行操作的第一目标列表。
需要说明的是,第一操作列表中包含操作信息,根据操作信息中的操作目标的标识确定对同一对象进行的所有操作,第一目标列表即为对同一对象进行的所有操作对应的列表。
在上述示例的基础上,第一操作列表为6~15对应的操作时,若操作序列号6~10对应的操作均为对同一图片进行的操作,即可确定第一目标列表包括6~10对应的操作。
S405、针对每个对象,对第一目标列表中的相邻两个操作进行合并处理,获得处理后的第一目标列表。
一种可能的实现方式中,可以根据对对进行操作的操作类型,对第一目标列表中的相邻两个操作进行合并处理
具体的,对对象的操作可以包括如下操作类型:插入操作(ADD),例如,在文档中插入图片、表格等对象;删除操作(DELETE),例如,删除文档中的图片、表格等对象;样式应用操作(APPLY-STYLE),例如,对文本内容的字号、字体、颜色等属性进行调整;调整操作(MODIFY),例如,对图片、表格等对象的大小、位置等进行调整。
在实际应用中,可以按照如下表格1的操作目标为对象操作的操作合并规则表,对第一目标列表中的操作进行合并处理。
表1操作目标为对象操作的操作合并规则表
可以理解的是,通过上述规则,若插入操作后面是除了删除操作之外的其他操作,则均合并为插入操作,且当最后一条为删除操作时,删除此删除操作。
示例性的,以第一目标列表包括序列号为6~10对应的操作为例,若序列号6对应的操作为插入操作,序列号7对应的操作为调整操作,则按照序号1中的规则,将两个操作进行合并后,得到序列号6对应的插入操作;
当序列号8对应的操作为删除操作,则根据序号2的规则,将序列号6对应的插入操作与序号8的操作进行合并,得到的仍为序列号6对应的插入操作。
需要说明的是,其他操作类型与上述方案类似,具体可参考上述方案,此处不在赘述。
通过本方案,可以根据预设规则将第一目标列表中的相关操作进行合并,得到的第一文档和第二文档的比对结果中的操作条目较少,可以更直观的得到第一文档和第二文档的比对结果。另外,通过预设的规则对第一目标列表中的相关操作进行合并,可以提升合并效率,最终提升文档处理方法。
S406、根据合并处理后的第一目标列表,获得第一文档和第二文档的比对结果。
具体的,可以通过如下步骤获得第一文档和第二文档的比对结果:
S4061、确定合并处理后的第一目标列表中相同类型操作的操作顺序。
S4062、根据合并处理后的第一目标列表中第三预设位置的操作信息,获得第一文档和第二文档的比对结果。
仍以上述为例,若合并处理后的第一目标列表中包括序列号为6、9、10对应的操作时,其中,当序列号为9、10对应操作的操作类型均为调整操作时,根据操作信息确定序列号为9、10对应操作的操作顺序。
进一步的,保留序列号为9、10中第三预设位置对应的操作,删除其他位置对应的操作,其中,第三预设位置可以为末尾位置或者起始位置,本申请实施例不做具体限定。以第三预设位置为末尾位置为例,则删除序列号为10对象的操作。
更进一步的,根据每个同一对象对应的第一目标列表,得到处理后的第一目标列表,从而根据处理后的第一目标列表获得第一文档和第二文档的比对结果。
本申请实施例提供的文档处理方法,首先响应于文档比对指令,获取第一文档对应的第一操作序列以及第二文档对应的第二操作序列,然后根据第一操作序列和第二操作序列确定目标操作序列,再获取目标操作序列中对对象的操作对应的第一操作列表,根据每个对象的对象标识,确定第一操作列表中对同一对象进行操作的第一目标列表,最后根据合并处理后的第一目标列表,获得第一文档和第二文档的比对结果。本方案中,可以根据预设规则将第一目标列表中的相关操作进行合并,得到的第一文档和第二文档的比对结果中的操作条目较少,可以更直观的得到第一文档和第二文档的比对结果。另外,通过预设的规则对第一目标列表中的相关操作进行合并,可以提升合并效率,最终提升文档处理方法。
在实际应用中,对文档的操作目标还可以包括:文本类型的操作目标,即,目标操作序列中包括对文本的操作。下面结合图5对本申请实施例中对文本类型的操作目标进行操作时,获得第一文档和第二文档的比对结果的方案进行详细说明:
图5为本申请又一实施例提供的文档处理方法的流程图。如图5所示,本申请实施例提供的文档处理方法包括如下步骤:
S501、响应于文档比对指令,获取第一文档对应的第一操作序列以及第二文档对应的第二操作序列。
其中,第二文档为对第一文档进行修改后的文档;
S502、根据第一操作序列和第二操作序列确定目标操作序列。
其中,目标操作序列为修改对应的操作序列。
需要说明的是,步骤S501~S502与图2所示实施例中的步骤S201~S202的方法和原理类似,具体可参考图2所示的实施例,此处不再赘述。
S503、获取目标操作序列中对文本的操作对应的第二操作列表。
需要说明的是,目标操作序列中包括对多种操作目标的操作,根据目标操作序列中的操作信息,确定目标操作序列中操作目标为文本类型的所有操作,第二操作列表即为操作目标为文本类型的所有操作对应的列表。
示例性的,仍以目标操作序列即为第二文档中序列号为6~30对应的操作序列为例,若在序列号6~30对应的操作中,操作序列号为15~30对应的操作是文本进行的修改操作,则第二操作列表包括序列号为15~30对应的操作。
S504、根据每个文本所在段落的段落标识,确定对同一段落进行操作的第二目标列表。
需要说明的是,第二操作列表中包含操作信息,根据操作信息中的操作段落的标识确定对同一段落进行的所有操作,第二目标列表即为对同一段落进行的所有操作对应的列表。
在上述示例的基础上,第二操作列表为15~30对应的操作时,若操作序列号15~25对应的操作均为对同一段落进行的操作,即可确定第二目标列表包括15~25对应的操作。
S505、针对每个段落,对第二目标列表中的相同操作类型的操作进行合并处理,获得处理后的第二目标列表。
一种可能的实现方式中,可以根据对对进行操作的操作类型,对第二目标列表中的相同操作类型的操作进行合并处理
具体的,对文本的操作可以包括如下操作类型:插入操作(ADD),例如,在文档的某个段落或者表格中插入文本;删除操作(DELETE),例如,删除文档的某个段落或者表格的文本;样式应用操作(APPLY-STYLE),例如,对文档某个段落或者表格中的内容进行修订,如字体更换、字号调节和颜色调节等。
下面通过步骤S5051~S5057对步骤S505进行详细说明:
S5051、获取第二目标列表中的第n个操作。
其中,第n个操作为第二目标列表中的任意操作,n为大于等于1的整数。
S5052、判断n是否小于第二目标列表中的操作数量。
S5053、若是,则确定第二目标列表中n个操作对应的操作区间和操作类型。
其中,操作区间可以通过操作位置以及字符数确定。
示例性的,对于插入类型的操作,可以根据操作位置所在的字符与操作的字符数之和得出操作区间。
例如,如下为一个插入操作对应的操作序列:
ADD(index:16,count:1)
其中,index用于表示插入位置所在的字符,count用于表示操作的字符数,则上述操作序列表示在第16个字符处,插入了1个字符。即上述操作的操作区间为(16,17)。
需要说明的是,其他类型操作的操作区间的获得方法和原理与上述方式类似,此处不再赘述。
S5054、确定前n-1个操作中的目标操作的操作区间。
具体的,确定前n-1个操作中任意操作类型的操作为目标操作。
S5055、根据第n个操作的操作区间以及目标操作的操作区间,获得处理后的第二目标列表。
在实际应用中,目标操作类型的可以包括:插入操作、删除操作以及样式应用操作等。
在一种实施方式中,若第n个操作的操作类型为插入操作,本步骤具体可以包括如下两种情况:
1、若目标操作的操作区间和第n个操作的操作区间不存在交叉,则根据第n个操作的插入字符数重新确定目标操作的操作字符数,根据重新确定的目标操作的操作字符数获得处理后的第二目标列表;
其中,根据第n个操作的插入字符数重新确定目标操作的操作字符数,具体可以为:
重新确定目标操作的操作字符数为:第n个操作的插入位置所在的字符数与目标操作的操作字符数之和。
示例性的,以如下两个操作为例:
目标操作:ADD(index:16,count:5)
第n个操作:ADD(index:10,count:2)
其中,目标操作表示在16个字符后,插入了5个字符,第n个操作表示,在目标操作的基础上,在第10个字符后,插入了2个字符。
为方便理解,请参考图6(a),图6(a)为本申请一实施例提供的文档处理方法的原理示意图。如图6(a)所示,以当前段落有20个字符为例,其中,以方形符号表示未经过操作的字符,以圆圈符号表示目标操作中新插入的字符,以三角符号表示第n个操作中插入的字符。
则经过上述两个步骤的操作,可以确定,合并后的两条操作为:在第18个字符处,插入字符数为5,即重新确定的目标操作可以表示为ADD(index:18,count:5)。
进一步的,由于已将第n个操作的操作内容合并至目标操作,可以删除第n个操作,保留重新确定的目标操作。
本方案中,通过将操作区间不存在交叉的操作进行合并,在删除多余的操作,可以减少比对时呈现的操作数量,以更加直观的进行两个文档的比对情况。
2、若目标操作的操作区间与第n个操作的操作区间存在交叉,则将目标操作拆分为第一操作和第二操作,根据第n个操作的插入字符数,分别确定第一操作和第二操作的操作位置以及操作字符数,根据第一操作和第二操作的操作位置以及操作字符数,获得处理后的第二目标列表。
具体的,一方面,第一操作的操作位置所在的字符数不变,第一操作的操作字符数为目标操作的操作字符数与区间交叉数的差值,其中,区间交叉数为目标操作的操作区间的右端点与第n个操作的操作区间的左端点的差值。
另一方面,第二操作的操作位置所在的字符数为第n个操作的操作区间的右端点的值,操作字符数为区间交叉数。
示例性的,以如下两个操作为例:
目标操作:APPLY-STYLE(index:5,count:10)
第n个操作:ADD(index:12,count:8)
其中,目标操作表示在第5个字符后,对10个字符进行了修改,目标操作的操作区间为:(5,15);
第n个操作表示,在目标操作的基础上,在第12个字符后,添加了8个字符,第n个操作的操作区间为(12,20)。
由上述可以得出,上述两个操作的区间交叉数为15与12的差值3。
为方便理解,请参考图6(b),图6(b)为本申请另一实施例提供的文档处理方法的原理示意图。如图6(b)所示,以当前段落有20个字符为例,其中,以方形符号表示未经过操作的字符,以五角星符号表示目标操作中修订的字符,以三角符号表示第n个操作中插入的字符。
则经过上述两个步骤的操作,可以确定,拆分的两个操作为:在第5个字符后修改了7个字符,在第20个字符后修改了3个字符,即第一操作和第二操作可以表示为:
第一操作:APPLY-STYLE(index:5,count:7)
第二操作:APPLY-STYLE(index:20,count:3)
本方案中,通过将操作区间存在交叉的操作进行拆分,可以准确的出修改处,更加直观的进行两个文档的比对。
在另一种实施方式中,若第n个操作的操作类型为删除操作,本步骤具体可以包括以下几种情况:
1、若目标操作的操作区间在第n个操作的操作区间之后,则根据第n个操作的删除字符数重新确定目标操作的操作字符数,根据目标操作的操作字符数,获得处理后的第二目标列表。
具体的,重新确定的目标操作的操作字符数为目标操作的操作位置的字符数与第n个操作的操作字符数的差。
示例性的,以如下两个操作为例:
目标操作:APPLY-STYLE(index:10,count:6)
第n个操作:DELETE(index:2,count:7)
其中,目标操作表示:在第10个字符后,修改了6个字符,目标操作的操作区间为(10,16);第n个操作表示:在第2个字符后,删除了7个字符,第n个操作的操作区间为(2,9),目标操作的操作区间在第n个操作的操作区间之后。
根据上述方法可以得出,重新确定的目标操作的操作字符数为10与7的差值3。
则重新确定的目标操作可以表示为:
APPLY-STYLE(index:3,count:6)
进一步的,删除第n个操作,以减少比对时呈现的操作数量,以更加直观的进行两个文档的比对情况。
2、若目标操作的操作区间在第n个操作的操作区间之内,则删除目标操作,获得处理后的第二目标列表。
示例性的,以如下两个操作为例:
目标操作:APPLY-STYLE(index:10,count:6)
第n个操作:DELETE(index:2,count:17)
其中,目标操作表示:在第10个字符后,修改了6个字符,目标操作的操作区间为(10,16);第n个操作表示:在第2个字符后,删除了17个字符,第n个操作的操作区间为(2,19),目标操作的操作区间在第n个操作的操作区间内。
根据上述方法删除目标操作。
3、若目标操作的操作区间与第n个操作的操作区间存在交叉,则根据第n个操作的删除位置以及删除字符数,重新确定目标操作的操作位置以及操作字符数,根据目标操作的操作位置以及操作字符数,获得处理后的第二目标列表。
在一种可选的方案中,当第n个操作的操作区间位置在前,目标操作的操作区间在后时,根据第n个操作的删除位置以及删除字符数,重新确定目标操作的操作位置以及操作字符数,可以包括:
重新确定的目标操作的操作位置为第n个操作的删除位置,重新确定目标操作的操作字符数为区间交叉数。
示例性的,以如下两个操作为例:
目标操作:APPLY-STYLE(index:8,count:10)
第n个操作:DELETE(index:2,count:12)
其中,目标操作表示:在第8个字符后,修改了10个字符,目标操作的操作区间为(8,18);第n个操作表示:在第2个字符后,删除了12个字符,第n个操作的操作区间为(2,14),目标操作的操作区间与第n个操作的操作区间交叉,且第n个操作的操作区间位置在前,目标操作的操作区间在后,区间交叉数为6个字符数。
根据上述方法,可以得出重新确定的目标操作的操作位置为2,重新确定目标操作的操作字符数为6。
则重新确定的目标操作可以表示为:
APPLY-STYLE(index:2,count:4)
在另一种可选的方案中,当第n个操作的操作区间位置在后,目标操作的操作区间在前时,根据第n个操作的删除位置以及删除字符数,重新确定目标操作的操作位置以及操作字符数,可以包括:
重新确定目标操作的操作位置不变,重新确定目标操作的操作字符数为:目标操作的操作字符与区间交叉数之差。
示例性的,以如下两个操作为例:
目标操作:APPLY-STYLE(index:8,count:10)
第n个操作:DELETE(index:12,count:8)
其中,目标操作表示:在第8个字符后,修改了10个字符,目标操作的操作区间为(8,18);第n个操作表示:在第12个字符后,删除了8个字符,第n个操作的操作区间为(12,20),目标操作的操作区间与第n个操作的操作区间交叉,且第n个操作的操作区间位置在后,目标操作的操作区间在前,区间交叉数为6个字符数。
根据上述方法,可以得出重新确定的目标操作的操作位置为8,重新确定目标操作的操作字符数为:目标操作的操作字符数10与区间交叉数6之差。
则重新确定的目标操作可以表示为:
APPLY-STYLE(index:8count:4)
进一步的,还可以删除第n个操作,以减少比对时呈现的操作数量,以更加直观的进行两个文档的比对情况。
按照上述方式对n累加1,从而对第二目标列表中的每个操作进行处理,以遍历第二目标列表中的每个操作,从而获得处理后的第二目标列表。
S5056、若否,则获取第二目标列表中的至少一个插入操作。
接下来,当n的取值大于处理后的第二目标列表中的操作数量时,说明已经完成对第二目标列表中的每个操作的处理,则获取处理后的第二目标列表中的至少一个插入操作(若没有插入操作则不进行此步骤)。
S5057、若至少一个插入操作的操作区间存在交叉,则合并至少一个插入操作对应的操作区间。
需要说明的是,步骤S5057中合并插入操作的具体方案和步骤S5055中情况1的方法类似,具体可参考上述步骤中的方案,此处不再赘述。
需要说明的是,根据上述步骤遍历第二目标列表中的操作后,由于在合并处理过程中,会产生新的区间,新的区间可能存在交叉的情况,若不进行后续处理,仍会出现操作条数较多的情况,不利于后续对比。通过本步骤,可以进一步优化处理后的第二目标列表,减少操作条数,更直观的展现的比对情况。
S506、根据合并处理后的第二目标列表,获得第一文档和第二文档的比对结果。
本步骤中,根据每个段落进行对应的第二目标列表,得到处理后的第二目标列表,从而根据处理后的第二目标列表获得第一文档和第二文档的比对结果。
可选的,在步骤S5057之后,还可以包括以下步骤:
(1)获取处理后的第二目标列表中,除了至少一个插入操作之外的其他操作。
其中,其他操作包括:样式应用操作等。
(2)针对每个其他操作,若其他操作的操作区间与至少一个插入操作的操作区间存在交叉,则根据至少一个插入操作的操作区间重新确定其他操作的操作区间。
需要说明的是,步骤(2)中的具体方案和步骤S5055中情况2的方法类似,具体可参考上述步骤中的方案,此处不再赘述。
需要说明的是,根据上述步骤遍历第二目标列表中的操作后,由于在处理过程中,会产生新的区间,新的区间可能存在交叉的情况,若不进行后续处理,仍会出现操作条数较多的情况,不利于后续对比。通过本步骤,可以进一步优化处理后的第二目标列表,减少操作条数,更直观的展现的比对情况。
本申请实施例提供的文档处理方法,首先响应于文档比对指令,获取第一文档对应的第一操作序列以及第二文档对应的第二操作序列,根据第一操作序列和第二操作序列确定目标操作序列,获取目标操作序列中对文本的操作对应的第二操作列表,根据每个文本所在段落的段落标识,确定对同一段落进行操作的第二目标列表,针对每个段落,对第二目标列表中的相同操作类型的操作进行合并处理,获得处理后的第二目标列表,根据合并处理后的第二目标列表,获得第一文档和第二文档的比对结果。本方案中,可以将第二目标列表中的相关操作进行合并处理,根据合并处理后的第二目标列表获得比对结果,通过合并得到的第一文档和第二文档的比对结果中的操作条目较少,可以更直观的得到第一文档和第二文档的比对结果。另外,在获得合并处理后的第二目标列表后,进行二次合并,可以进一步减少交叉操作的条数,提升第一文档和第二文档的比对结果的直观性,便于比对。
图7为本申请一实施例提供的文档处理装置的结构示意图。如图7所示,该文档处理装置700包括:获取模块701、确定模块702、处理模块703。
其中,获取模块701,用于响应于文档比对指令,获取第一文档对应的第一操作序列以及第二文档对应的第二操作序列,第二文档为对第一文档进行修改后的文档;
确定模块702,用于根据第一操作序列和第二操作序列确定目标操作序列,目标操作序列为修改对应的操作序列;
处理模块703,用于根据目标操作序列,获得第一文档和第二文档的比对结果。
可以理解的是,本申请实施例所提供的文档处理装置,可用于执行如上述任一方法实施例的技术方案,其实现原理和技术效果类似,具体可参考上述方法实施例,此处不再赘述。
在一种可能的实现方式中,获取模块701具体用于:获取第一文档的操作信息和第二文档的操作信息;根据第一文档的操作信息中多个操作的操作顺序,获取第一文档对应的第一操作序列;根据第二文档的操作信息中多个操作的操作顺序,获取第二文档对应的第二操作序列。
在一种可能的实现方式中,确定模块702具体用于:获取第一操作序列中第一预设位置的操作的序列号,以及第二操作序列中第二预设位置的操作的序列号;根据第一预设位置的操作的序列号以及第二预设位置的操作的序列号,确定目标操作序列。
在一种可能的实现方式中,目标操作序列中包括对对象的操作;处理模块703具体用于:获取目标操作序列中对对象的操作对应的第一操作列表;根据每个对象的对象标识,确定第一操作列表中对同一对象进行操作的第一目标列表;针对每个对象,对第一目标列表中的相邻两个操作进行合并处理,获得处理后的第一目标列表;根据合并处理后的第一目标列表,获得第一文档和第二文档的比对结果。
在一种可能的实现方式中,处理模块703具体用于:确定合并处理后的第一目标列表中相同类型操作的操作顺序;根据合并处理后的第一目标列表中第三预设位置的操作信息,获得第一文档和第二文档的比对结果。
在一种可能的实现方式中,目标操作序列中包括对文本的操作,处理模块703具体用于:获取目标操作序列中对文本的操作对应的第二操作列表;根据每个文本所在段落的段落标识,确定对同一段落进行操作的第二目标列表;针对每个段落,对第二目标列表中的相同操作类型的操作进行合并处理,获得处理后的第二目标列表;根据合并处理后的第二目标列表,获得第一文档和第二文档的比对结果。
在一种可能的实现方式中,处理模块703具体用于:确定第二目标列表中n个操作对应的操作区间和操作类型;确定前n-1个操作中的目标操作的操作区间,目标操作为前n-1个操作中任意一个操作类型的操作;根据第n个操作的操作区间以及目标操作的操作区间,获得处理后的第二目标列表,其中,n为大于等于1的整数。
在一种可能的实现方式中,若第n个操作的操作类型为插入操作,处理模块703具体用于:若目标操作的操作区间和第n个操作的操作区间不存在交叉,则根据第n个操作的插入字符数重新确定目标操作的操作字符数,根据重新确定的目标操作的操作字符数获得处理后的第二目标列表;或者,若目标操作的操作区间与第n个操作的操作区间存在交叉,则将目标操作拆分为第一操作和第二操作,根据第n个操作的插入字符数,分别确定第一操作和第二操作的操作位置以及操作字符数,根据第一操作和第二操作的操作位置以及操作字符数,获得处理后的第二目标列表。
在一种可能的实现方式中,若第n个操作的操作类型为删除操作,处理模块703具体用于:若目标操作的操作区间在第n个操作的操作区间之后,则根据第n个操作的删除字符数重新确定目标操作的操作字符数,根据目标操作的操作字符数,获得处理后的第二目标列表;或者,若目标操作的操作区间在第n个操作的操作区间之内,则删除目标操作,获得处理后的第二目标列表;或者,若目标操作的操作区间与第n个操作的操作区间存在交叉,则根据第n个操作的删除位置以及删除字符数,重新确定目标操作的操作位置以及操作字符数,根据目标操作的操作位置以及操作字符数,获得处理后的第二目标列表。
在一种可能的实现方式中,处理模块703还用于:当n大于等于处理后的第二目标列表中的操作数量时,获取处理后的第二目标列表中的至少一个插入操作;若至少一个插入操作的操作区间存在交叉,则合并至少一个插入操作对应的操作区间。
在一种可能的实现方式中,获取模块701还用于:获取处理后的第二目标列表中,除了至少一个插入操作之外的其他操作。处理模块703还用于:针对每个其他操作,若其他操作的操作区间与至少一个插入操作的操作区间存在交叉,则根据至少一个插入操作的操作区间重新确定其他操作的操作区间。
可以理解的是,本实施例所提供的文档处理装置,可用于执行如上述任一方法实施例的技术方案,其实现原理和技术效果类似,具体可参考上述方法实施例,此处不再赘述。
图8为本申请另一实施例提供的电子设备的结构示意图。如图8所示,本实施例的电子设备800可以是前述方法实施例中提到的计算机(或者可用于计算机的部件)。电子设备800可用于实现上述方法实施例中描述的对应于计算机的方法,具体参见上述方法实施例中的说明。
电子设备800可以包括一个或多个处理器801,该处理器801也可以称为处理单元,可以实现一定的控制或者处理功能。处理器801可以是通用处理器或者专用处理器等。例如可以是基带处理器、或中央处理器。基带处理器可以用于对数据进行处理,中央处理器可以用于对电子设备800进行控制,执行软件程序,处理软件程序的数据。
在一种可能的设计中,处理器801也可以存有指令803或者数据(例如测试参数)。其中,指令803可以被处理器801运行,使得电子设备800执行上述方法实施例中描述的对应于计算机设备或者网络设备的方法。
在又一种可能的设计中,电子设备800可以包括电路,该电路可以实现前述方法实施例中发送或接收或者通信的功能。
在一种可能的实现方式中,电子设备800中可以包括一个或多个存储器802,其上可以存有指令804,该指令可在处理器801上被运行,使得电子设备800执行上述方法实施例中描述的文档处理方法。
在一种可能的实现方式中,存储器802中也可以是存储有数据。处理器801和存储器802可以单独设置,也可以集成在一起。
在一种可能的实现方式中,电子设备800还可以包括收发器805和/或天线806。处理器801可以称为处理单元,对电子设备800进行控制。收发器805可以称为收发单元、收发机、收发电路、或者收发器等,用于实现电子设备800的收发功能。
其中,处理器801和收发器805的具体实现过程可以参见上述各实施例的相关描述,此处不再赘述。
本申请中描述的处理器801和收发器805可实现在集成电路(integratedcircuit,IC)、模拟IC、射频集成电路(radio frequency integrated circuit,RFIC)、混合信号IC、专用集成电路(application specific integrated circuit,ASIC)、印刷电路板(printed circuit board,PCB)、电子设备等上。
本领域技术人员可以理解的是,图8中示出的电子设备的结构并不构成对本电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在此需要说明的是,本申请提供的上述电子设备,用于实现上述方法实施例中描述的方法,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
本申请实施例还提供一种计算机可读存储介质,当该存储介质中的指令由终端设备的处理器执行时,使得处理器能够执行上述方法实施例中的文档处理方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时,实现上述方法实施例中的文档处理方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random AccessMemory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在上述服务器的实施例中,应理解,处理器可以是中央处理单元(英文:CentralProcessing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignal Processor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本领域技术人员在考虑说明书及实践这里公开的方案后,将容易想到本申请的其它实施方案。本申请的实施例旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (13)
1.一种文档处理方法,其特征在于,包括:
响应于文档比对指令,获取第一文档的操作信息和第二文档的操作信息;根据所述第一文档的操作信息中多个操作的操作顺序,获取所述第一文档对应的第一操作序列;根据所述第二文档的操作信息中多个操作的操作顺序,获取所述第二文档对应的第二操作序列,所述第二文档为对所述第一文档进行修改后的文档;
根据所述第一操作序列和所述第二操作序列确定目标操作序列,所述目标操作序列为所述修改对应的操作序列;
根据所述目标操作序列,获得所述第一文档和所述第二文档的比对结果;
所述根据所述第一操作序列和所述第二操作序列确定目标操作序列,包括:
获取所述第一操作序列中第一预设位置的操作的序列号,以及所述第二操作序列中第二预设位置的操作的序列号;
根据所述第一预设位置的操作的序列号以及所述第二预设位置的操作的序列号,确定目标操作序列。
2.根据权利要求1所述的文档处理方法,其特征在于,所述目标操作序列中包括对对象的操作;
所述根据所述目标操作序列,获得所述第一文档和所述第二文档的比对结果,包括:
获取所述目标操作序列中对对象的操作对应的第一操作列表;
根据每个对象的对象标识,确定所述第一操作列表中对同一对象进行操作的第一目标列表;
针对每个对象,对所述第一目标列表中的相邻两个操作进行合并处理,获得处理后的所述第一目标列表;
根据合并处理后的所述第一目标列表,获得所述第一文档和所述第二文档的比对结果。
3.根据权利要求2所述的文档处理方法,其特征在于,所述根据合并处理后的所述第一目标列表,获得所述第一文档和所述第二文档的比对结果,包括:
确定合并处理后的所述第一目标列表中相同类型操作的操作顺序;
根据合并处理后的所述第一目标列表中第三预设位置的操作信息,获得所述第一文档和所述第二文档的比对结果。
4.根据权利要求1所述的文档处理方法,其特征在于,所述目标操作序列中包括对文本的操作;
所述根据所述目标操作序列,获得所述第一文档和所述第二文档的比对结果,包括:
获取所述目标操作序列中对文本的操作对应的第二操作列表;
根据每个文本所在段落的段落标识,确定对同一段落进行操作的第二目标列表;
针对每个段落,对所述第二目标列表中的相同操作类型的操作进行合并处理,获得处理后的所述第二目标列表;
根据合并处理后的所述第二目标列表,获得所述第一文档和所述第二文档的比对结果。
5.根据权利要求4所述的文档处理方法,其特征在于,所述对所述第二目标列表中的相同操作类型的操作进行合并处理,获得处理后的所述第二目标列表,包括:
确定所述第二目标列表中n个操作对应的操作区间和操作类型;
确定前n-1个操作中的目标操作的操作区间,所述目标操作为前n-1个操作中任意一个类型的操作;
根据第n个操作的操作区间以及所述目标操作的操作区间,获得处理后的所述第二目标列表,其中,n为大于等于1的整数。
6.根据权利要求5所述的文档处理方法,其特征在于,若第n个操作的操作类型为插入操作,所述根据第n个操作的操作区间以及所述目标操作的操作区间,获得处理后的所述第二目标列表,包括:
若所述目标操作的操作区间和所述第n个操作的操作区间不存在交叉,则根据所述第n个操作的插入字符数重新确定所述目标操作的操作字符数,根据重新确定的所述目标操作的操作字符数获得处理后的所述第二目标列表;
或者,
若所述目标操作的操作区间与所述第n个操作的操作区间存在交叉,则将所述目标操作拆分为第一操作和第二操作,根据所述第n个操作的插入字符数,分别确定所述第一操作和所述第二操作的操作位置以及操作字符数,根据所述第一操作和所述第二操作的操作位置以及操作字符数,获得处理后的所述第二目标列表。
7.根据权利要求5所述的文档处理方法,其特征在于,若第n个操作的操作类型为删除操作,所述根据第n个操作的操作区间以及所述目标操作的操作区间,获得处理后的所述第二目标列表,包括:
若所述目标操作的操作区间在所述第n个操作的操作区间之后,则根据所述第n个操作的删除字符数重新确定所述目标操作的操作字符数,根据所述目标操作的操作字符数,获得处理后的所述第二目标列表;
或者,
若所述目标操作的操作区间在所述第n个操作的操作区间之内,则删除所述目标操作,获得处理后的所述第二目标列表;
或者,
若所述目标操作的操作区间与所述第n个操作的操作区间存在交叉,则根据所述第n个操作的删除位置以及删除字符数,确定所述目标操作的操作位置以及操作字符数,根据所述目标操作的操作位置以及操作字符数,获得处理后的所述第二目标列表。
8.根据权利要求4至7中任一项所述的文档处理方法,其特征在于,所述方法还包括:
当n大于等于所述处理后的所述第二目标列表中的操作数量时,获取所述处理后的所述第二目标列表中的至少一个插入操作;
若所述至少一个插入操作的操作区间存在交叉,则合并所述至少一个插入操作对应的操作区间。
9.根据权利要求8所述的文档处理方法,其特征在于,所述获取所述处理后的所述第二目标列表中的至少一个插入操作之后,还包括:
获取所述处理后的所述第二目标列表中,除了所述至少一个插入操作之外的其他操作;
针对每个其他操作,若所述其他操作的操作区间与所述至少一个插入操作的操作区间存在交叉,则根据所述至少一个插入操作的操作区间重新确定所述其他操作的操作区间。
10.一种文档处理装置,其特征在于,包括:
获取模块,用于响应于文档比对指令,获取第一文档的操作信息和第二文档的操作信息;根据所述第一文档的操作信息中多个操作的操作顺序,获取所述第一文档对应的第一操作序列;根据所述第二文档的操作信息中多个操作的操作顺序,获取所述第二文档对应的第二操作序列,所述第二文档为对所述第一文档进行修改后的文档;
确定模块,用于根据所述第一操作序列和所述第二操作序列确定目标操作序列,所述目标操作序列为所述修改对应的操作序列;
处理模块,用于根据所述目标操作序列,获得所述第一文档和所述第二文档的比对结果;
所述确定模块,具体用于获取所述第一操作序列中第一预设位置的操作的序列号,以及所述第二操作序列中第二预设位置的操作的序列号;根据所述第一预设位置的操作的序列号以及所述第二预设位置的操作的序列号,确定目标操作序列。
11.一种电子设备,其特征在于,包括:存储器和至少一个处理器,存储器用于存储程序指令,处理器用于调用存储器中的程序指令执行如权利要求1至9中任一项所述的文档处理方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序;所述计算机程序被执行时,实现如权利要求1至9中任一项所述的文档处理方法。
13.一种计算机程序产品,其特征在于,包括:计算机程序,该计算机程序被处理器执行时实现如权利要求1至9中任一项所述的文档处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110573608.3A CN113268959B (zh) | 2021-05-25 | 2021-05-25 | 文档处理方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110573608.3A CN113268959B (zh) | 2021-05-25 | 2021-05-25 | 文档处理方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113268959A CN113268959A (zh) | 2021-08-17 |
CN113268959B true CN113268959B (zh) | 2024-05-03 |
Family
ID=77232750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110573608.3A Active CN113268959B (zh) | 2021-05-25 | 2021-05-25 | 文档处理方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113268959B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485390A (en) * | 1993-11-30 | 1996-01-16 | The United States Of America As Represented By The Secrectary Of The Air Force | Inductive-deductive process design for machined parts |
EP0791886A2 (de) * | 1996-02-26 | 1997-08-27 | Siemens Aktiengesellschaft | Verfahren zum rechnergestützten Abgleich mehrerer, in mindestens einem Rechner gespeicherten Dateikopien einer gesprecherten Datei |
EP2385471A1 (en) * | 2010-05-05 | 2011-11-09 | Palo Alto Research Center Incorporated | Measuring document similarity |
JP2012164193A (ja) * | 2011-02-08 | 2012-08-30 | Nippon Telegr & Teleph Corp <Ntt> | 類似文書判定方法、類似文書判定装置及び類似文書判定プログラム |
CA2738289A1 (en) * | 2011-04-28 | 2012-10-28 | Ibm Canada Limited - Ibm Canada Limitee | Identifying session identification information |
CN106372040A (zh) * | 2016-08-24 | 2017-02-01 | 长园深瑞继保自动化有限公司 | 智能变电站配置文件差异性比较系统 |
CN109710905A (zh) * | 2018-09-30 | 2019-05-03 | 天津字节跳动科技有限公司 | 文档协同编辑方法、装置、存储介质及电子设备 |
CN109740124A (zh) * | 2018-12-25 | 2019-05-10 | 东软集团股份有限公司 | 文档比较的差异输出方法、装置、存储介质及电子设备 |
CN111191436A (zh) * | 2020-01-03 | 2020-05-22 | 北大方正集团有限公司 | 版式文档的比对方法、装置、设备及计算机存储介质 |
CN111222314A (zh) * | 2020-01-03 | 2020-06-02 | 北大方正集团有限公司 | 版式文档的比对方法、装置、设备及存储介质 |
CN112487784A (zh) * | 2020-11-18 | 2021-03-12 | 中信银行股份有限公司 | 一种技术文档管理方法、装置、电子设备和可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3885483B2 (ja) * | 2000-10-30 | 2007-02-21 | 富士通株式会社 | サービス実行方法および装置 |
US7702641B2 (en) * | 2001-06-04 | 2010-04-20 | Oracle America, Inc. | Method and system for comparing and updating file trees |
US9372689B2 (en) * | 2014-05-28 | 2016-06-21 | International Business Machines Corporation | Synchronizing comments in source code with text documents |
-
2021
- 2021-05-25 CN CN202110573608.3A patent/CN113268959B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485390A (en) * | 1993-11-30 | 1996-01-16 | The United States Of America As Represented By The Secrectary Of The Air Force | Inductive-deductive process design for machined parts |
EP0791886A2 (de) * | 1996-02-26 | 1997-08-27 | Siemens Aktiengesellschaft | Verfahren zum rechnergestützten Abgleich mehrerer, in mindestens einem Rechner gespeicherten Dateikopien einer gesprecherten Datei |
EP2385471A1 (en) * | 2010-05-05 | 2011-11-09 | Palo Alto Research Center Incorporated | Measuring document similarity |
JP2012164193A (ja) * | 2011-02-08 | 2012-08-30 | Nippon Telegr & Teleph Corp <Ntt> | 類似文書判定方法、類似文書判定装置及び類似文書判定プログラム |
CA2738289A1 (en) * | 2011-04-28 | 2012-10-28 | Ibm Canada Limited - Ibm Canada Limitee | Identifying session identification information |
CN106372040A (zh) * | 2016-08-24 | 2017-02-01 | 长园深瑞继保自动化有限公司 | 智能变电站配置文件差异性比较系统 |
CN109710905A (zh) * | 2018-09-30 | 2019-05-03 | 天津字节跳动科技有限公司 | 文档协同编辑方法、装置、存储介质及电子设备 |
CN109740124A (zh) * | 2018-12-25 | 2019-05-10 | 东软集团股份有限公司 | 文档比较的差异输出方法、装置、存储介质及电子设备 |
CN111191436A (zh) * | 2020-01-03 | 2020-05-22 | 北大方正集团有限公司 | 版式文档的比对方法、装置、设备及计算机存储介质 |
CN111222314A (zh) * | 2020-01-03 | 2020-06-02 | 北大方正集团有限公司 | 版式文档的比对方法、装置、设备及存储介质 |
CN112487784A (zh) * | 2020-11-18 | 2021-03-12 | 中信银行股份有限公司 | 一种技术文档管理方法、装置、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113268959A (zh) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112055244B (zh) | 图像获取方法、装置、服务器和电子设备 | |
CN113382083B (zh) | 一种网页截图方法和装置 | |
CN112286416A (zh) | 信息显示方法、装置和电子设备 | |
CN107741816A (zh) | 一种图像信息的处理方法、装置及存储介质 | |
US10643022B2 (en) | PDF extraction with text-based key | |
CN112449110B (zh) | 图像处理方法、装置及电子设备 | |
CN107122104B (zh) | 数据显示方法及装置 | |
CN112486366A (zh) | 控件显示方法、装置和电子设备 | |
CN110708423A (zh) | 消息内容展示方法、装置及存储介质 | |
CN112269519B (zh) | 文档处理方法、装置及电子设备 | |
CN113268959B (zh) | 文档处理方法、装置和电子设备 | |
CN106535002B (zh) | 一种桌面启动器模板布局的更新方法及装置 | |
CN112487067A (zh) | 基于数据配置化进行页面展示的方法、装置及存储介质 | |
CN115454365A (zh) | 图片处理方法、装置、电子设备及介质 | |
CN112328149B (zh) | 图片格式的设置方法、装置及电子设备 | |
CN112765946B (zh) | 图表显示方法、装置及电子设备 | |
CN114338954A (zh) | 视频生成电路、方法和电子设备 | |
CN113157184A (zh) | 内容显示方法、装置、电子设备和可读存储介质 | |
CN113703890B (zh) | 显示控制方法、装置、电子设备和存储介质 | |
CN111523288B (zh) | Pdf文档的鸟瞰视图的显示方法及装置 | |
CN111401001B (zh) | TextView线性缩放方法、装置、设备及介质 | |
CN111782119A (zh) | 阅读页内容快速选中的方法、装置和存储介质 | |
WO2021260852A1 (ja) | データ処理装置、データ処理方法、および、データ処理プログラム | |
CN111783409A (zh) | 信息处理方法、信息处理装置及电子设备 | |
CN116107570A (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 |