CN112861481B - 分页处理的方法、装置、电子设备及计算机可读存储介质 - Google Patents
分页处理的方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112861481B CN112861481B CN202110128468.9A CN202110128468A CN112861481B CN 112861481 B CN112861481 B CN 112861481B CN 202110128468 A CN202110128468 A CN 202110128468A CN 112861481 B CN112861481 B CN 112861481B
- Authority
- CN
- China
- Prior art keywords
- page
- node
- transaction
- paging
- splitting
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 75
- 238000003672 processing method Methods 0.000 title abstract description 5
- 238000000034 method Methods 0.000 claims abstract description 49
- 230000008569 process Effects 0.000 claims description 14
- 230000003068 static effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000007373 indentation Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012216 screening 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
Abstract
本申请涉及一种分页处理的方法、装置、电子设备及计算机可读存储介质,其包括当检测到用户针对富文本编辑器的执行事务时,获取事务类型和事务状态,用户针对富文本编辑器的执行事务包括:用户通过富文本编辑器输入文档内容,和/或,用户通过富文本编辑器调整显示样式,然后基于事务类型和事务状态确定是否满足分页条件,若满足分页条件,则根据获取到的文档页面的属性信息、事务类型和事务状态,执行分页处理。本申请中,当检测到文档满足分页条件时,根据文档页面的属性信息、事务类型和事务状态,从而可以实现对文档进行分页处理。
Description
技术领域
本申请涉及计算机的技术领域,尤其是涉及一种分页处理的方法、装置、电子设备及计算机可读存储介质。
背景技术
富文本编辑器为一种常见的基于浏览器的文档生成方式,不同于文本编辑器,程序员可到网上下载免费的富文本编辑器内嵌于自己的网站或程序里,方便用户编辑文章或信息。
为了提高文档的阅读和编辑体验,基于浏览器的富文本文档编辑器需要对实时输入和发生样式改变的文档结构进行页面布局及分页显示处理。用户可以设定文档的页面大小、边距、方向等属性,同时随时改变文档内容的字体、字号、字间距、行间距、段前段后距离、缩进等设置,这些设置会实时影响文档在浏览器中的展示空间,这就需要富文本编辑器具备实时分页处理的能力,满足用户对浏览器中文档的渲染结果的分页阅读和编辑要求。
因此,富文本编辑器如何对文档进行分页处理成为一个关键问题。
发明内容
本申请目的一是提供一种分页处理的方法、装置、电子设备及计算机可读存储介质,用于解决以上至少一项技术问题。
本申请的上述目的一是通过以下至少一种技术方案得以实现的:
第一方面,提供了一种分页处理的方法,包括:
当检测到用户针对富文本编辑器的执行事务时,获取事务类型和事务状态,所述用户针对富文本编辑器的执行事务包括:用户通过所述富文本编辑器输入文档内容,或者用户通过富文本编辑器调整显示样式;
基于所述事务类型和事务状态确定是否满足分页条件;
若满足分页条件,则根据获取到的文档页面的属性信息、所述事务类型和所述事务状态,执行分页处理。
在一种可能的实现方式中,根据获取到的文档页面的属性信息、所述事务类型和所述事务状态,执行分页处理,包括:
根据所述事务类型和所述事务状态,确定当前事务是否满足第一预设条件;
若所述当前事务满足所述第一预设条件,则返回当前操作位置,并根据当前操作位置执行合并算法;
所述第一预设条件包括:当前事务在删除被拆分后的同一节点的内容。
在另一种可能的实现方式中,所述根据所述事务类型和所述事务状态,确定当前事务是否满足第一预设条件,之后还包括:
若所述当前事务不满足所述第一预设条件,则遍历当前文档中所有分页节点,并根据确定出的分页单元高度阈值,确定分页单元内容所占高度与分页单元高度阈值满足第二预设条件的页面;
返回所述满足第二预设条件的页面对应的页面起始位置;
根据所述页面起始位置执行合并算法;
其中,第二预设条件包括:分页单元内容所占高度大于所述分页单元高度阈值,或者,分页单元内容所占小于所述分页单元高度阈值;
所述分页单元高度阈值为分页单元实际可填充内容的高度。
在另一种可能的实现方式中,确定所述分页单元高度阈值的方式,包括:
根据文档页面属性信息确定所述分页单元高度阈值;
所述文档页面属性信息包括以下至少一项:
页面大小、页边距、页眉高度、页脚高度。
在另一种可能的实现方式中,所述根据所述事务类型和所述事务状态,确定当前事务是否满足第一预设条件,包括:
确定所述当前事务和上一个事务是否在删除当前页面最后一个节点的内容,以及,
根据所述当前页面最后一个节点的内容和下一页中起始位置节点的内容,确定是否为同一节点,以确定当前事务是否满足所述第一预设条件。
在另一种可能的实现方式中,所述根据当前操作位置执行合并算法,包括:
将所述当前操作位置校准为当前操作位置页面的页面起始位置;
根据所述当前操作位置页面的页面起始位置执行合并算法。
在另一种可能的实现方式中,根据页面起始位置执行合并算法,包括:
获取该页面起始位置后的页面节点的末尾位置;
确定每两个相邻的页面节点之间的合并位置信息;
基于所述合并位置信息以及对应的合并深度,执行合并算法。
在另一种可能的实现方式中,若所述该页面起始位置后的页面节点的末尾位置多于两个,
则确定每两个相邻的页面节点之间的合并位置信息,包括:
获取前两个相邻页面节点的合并位置信息,所述前两个页面节点为所述该页面起始位置后的页面节点的末尾位置分别对应的页面节点。
在另一种可能的实现方式中,所述基于所述合并位置信息以及对应的合并深度,执行合并算法,之后还包括:
若合并后的位置处于表格单元格内,则对拆分的单元格进行合并处理;
若合并后的位置不处于表格单元格内,则确定拆分位置以及拆分深度,并执行拆分处理。
在另一种可能的实现方式中,所述执行拆分处理,包括:
确定所述拆分位置是否处于表格单元格中;
若所述拆分位置不处于表格单元格中,则根据拆分位置、拆分深度以及拆分位置节点属性,执行拆分处理;
若所述拆分位置处于表格单元格中,则拆分存在内容超出的表格行。
在另一种可能的实现方式中,所述对拆分的单元格进行合并处理,包括:
若存在两行中相同列的单元格分别对应的标识相同且两行中的单元格数量相同,则对所述两行进行合并处理。
在另一种可能的实现方式中,所述确定拆分位置以及拆分深度,包括:
根据合并后的位置,确定所述合并后的位置所对应的页面节点起始位置;
若所述页面节点起始位置不属于超出页面内容长度的位置,则基于所述页面节点起始位置确定所在的页面内容区域起始位置;
基于所述页面内容区域起始位置,并通过遍历DOM节点以及每个节点的节点长度,确定当前位置节点DOM对象和位置偏移量;
通过所述当前位置节点DOM对象和位置偏移量,并利用getClientRects和getBoundingClientRect确定节点所占浏览器视窗矩形位置区域参数,所述参数包括:上坐标TOP和Left;
根据所述上坐标TOP和Left以及所述分页单元高度阈值,确定当前页面节点末尾位置的位置坐标TOP和Left;
根据所述当前页面末尾位置的位置坐标TOP和Left,递归遍历文档中的所有节点,确定所述前页面节点末尾位置的位置坐标TOP和Left所对应的节点DOM对象和偏移量;
根据所述对应的节点DOM对象和偏移量,遍历文档中各个节点,并通过节点长度类型,确定各个节点在文档中的位置信息以及父节点的开始位置信息;
对所述各个节点在文档中的位置信息以及所述父节点的开始位置信息进行至少两次的校准操作,得到所述拆分位置以及所述拆分深度。
在另一种可能的实现方式中,所述执行拆分处理,包括:
若所述拆分位置位于表格中,且存在待拆分的单元格,则遍历所述待拆分的单元格,获取待拆分的单元格节点信息,并基于所述待拆分的单元格节点信息进行拆分处理;
若所述拆分位置不位于表格中,则根据所述拆分位置和所述拆分深度,拆分当前页节点。
第二方面,提供了一种分页处理的装置,包括:
获取模块,用于当检测到用户针对富文本编辑器的执行事务时,获取事务类型和事务状态,所述用户针对富文本编辑器的执行事务包括:用户通过所述富文本编辑器输入文档内容,或者用户通过富文本编辑器调整显示样式;
第一确定模块,用于基于所述事务类型和事务状态确定是否满足分页条件;
分页处理模块,用于当满足分页条件时,根据获取到的文档页面的属性信息、所述事务类型和所述事务状态,执行分页处理。
在一种可能的实现方式中,所述分页处理模块在根据获取到的文档页面的属性信息、所述事务类型和所述事务状态,执行分页处理时,具体用于:
根据所述事务类型和所述事务状态,确定当前事务是否满足第一预设条件;
当所述当前事务满足所述第一预设条件时,返回当前操作位置,并根据当前操作位置执行合并算法;
所述第一预设条件包括:当前事务在删除被拆分后的同一节点的内容。
在另一种可能的实现方式中,所述分页处理模块,具体还用于:
当所述当前事务不满足所述第一预设条件时,遍历当前文档中所有分页节点,并根据确定出的分页单元高度阈值,确定分页单元内容所占高度与分页单元高度阈值满足第二预设条件的页面;
返回所述满足第二预设条件的页面对应的页面起始位置;
根据所述页面起始位置执行合并算法;
其中,第二预设条件包括:分页单元内容所占高度大于所述分页单元高度阈值,或者,分页单元内容所占小于所述分页单元高度阈值;
所述分页单元高度阈值为分页单元实际可填充内容的高度。
在另一种可能的实现方式中,所述装置还包括:第二确定模块,其中,
所述第二确定模块在确定所述分页单元高度阈值时,具体用于:
根据文档页面属性信息确定所述分页单元高度阈值;
所述文档页面属性信息包括以下至少一项:
页面大小、页边距、页眉高度、页脚高度。
在另一种可能的实现方式中,所述第一确定模块在根据所述事务类型和所述事务状态,确定当前事务是否满足第一预设条件时,具体用于:
确定所述当前事务和上一个事务是否在删除当前页面最后一个节点的内容,以及,
根据所述当前页面最后一个节点的内容和下一页中起始位置节点的内容,确定是否为同一节点,以确定当前事务是否满足所述第一预设条件。
在另一种可能的实现方式中,所述分页处理模块在根据当前操作位置执行合并算法时,具体用于:
将所述当前操作位置校准为当前操作位置页面的页面起始位置;
根据所述当前操作位置页面的页面起始位置执行合并算法。
在另一种可能的实现方式中,所述分页处理模块在根据页面起始位置执行合并算法时,具体用于:
获取该页面起始位置后的页面节点的末尾位置;
确定每两个相邻的页面节点之间的合并位置信息;
基于所述合并位置信息以及对应的合并深度,执行合并算法。
在另一种可能的实现方式中,当所述该页面起始位置后的页面节点的末尾位置多于两个时,
所述分页处理模块在确定每两个相邻的页面节点之间的合并位置信息时,具体用于:
获取前两个相邻页面节点的合并位置信息,所述前两个页面节点为所述该页面起始位置后的页面节点的末尾位置分别对应的页面节点。
在另一种可能的实现方式中,所述分页处理模块在所述基于所述合并位置信息以及对应的合并深度,执行合并算法,之后还用于:
当合并后的位置处于表格单元格内时,对拆分的单元格进行合并处理;
当合并后的位置不处于表格单元格内时,确定拆分位置以及拆分深度,并执行拆分处理。
在另一种可能的实现方式中,所述分页处理模块在执行拆分处理时,具体用于:
确定所述拆分位置是否处于表格单元格中;
当所述拆分位置不处于表格单元格中时,根据拆分位置、拆分深度以及拆分位置节点属性,执行拆分处理;
当所述拆分位置处于表格单元格中时,拆分存在内容超出的表格行。
在另一种可能的实现方式中,所述分页处理模块在对拆分的单元格进行合并处理时,具体用于:
当存在两行中相同列的单元格分别对应的标识相同且两行中的单元格数量相同时,对所述两行进行合并处理。
在另一种可能的实现方式中,所述分页处理模块在确定拆分位置以及拆分深度时,具体用于:
根据合并后的位置,确定所述合并后的位置所对应的页面节点起始位置;
当所述页面节点起始位置不属于超出页面内容长度的位置时,基于所述页面节点起始位置确定所在的页面内容区域起始位置;
基于所述页面内容区域起始位置,并通过遍历DOM节点以及每个节点的节点长度,确定当前位置节点DOM对象和位置偏移量;
通过所述当前位置节点DOM对象和位置偏移量,并利用getClientRects和getBoundingClientRect确定节点所占浏览器视窗矩形位置区域参数,所述参数包括:上坐标TOP和Left;
根据所述上坐标TOP和Left以及所述分页单元高度阈值,确定当前页面节点末尾位置的位置坐标TOP和Left;
根据所述当前页面末尾位置的位置坐标TOP和Left,递归遍历文档中的所有节点,确定所述前页面节点末尾位置的位置坐标TOP和Left所对应的节点DOM对象和偏移量;
根据所述对应的节点DOM对象和偏移量,遍历文档中各个节点,并通过节点长度类型,确定各个节点在文档中的位置信息以及父节点的开始位置信息;
对所述各个节点在文档中的位置信息以及所述父节点的开始位置信息进行至少两次的校准操作,得到所述拆分位置以及所述拆分深度。
在另一种可能的实现方式中,所述分页处理模块在执行拆分处理时,具体用于:
当所述拆分位置位于表格中,且存在待拆分的单元格时,遍历所述待拆分的单元格,获取待拆分的单元格节点信息,并基于所述待拆分的单元格节点信息进行拆分处理;
当所述拆分位置不位于表格中时,根据所述拆分位置和所述拆分深度,拆分当前页节点。
第三方面,提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行第一方面以及第一方面任一可能的实现方式所示的分页处理的方法对应的操作。
第四方面,提供了一种计算机可读存储介质,存储介质存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现第一方面以及第一方面任一可能的实现方式所示的分页处理的方法。
本申请提供了一种分页处理的方法、装置、电子设备及计算机可读存储介质,与现有技术相比,当检测到用户针对富文本编辑器的执行事务时,获取事务类型和事务状态,用户针对富文本编辑器的执行事务包括:用户通过富文本编辑器输入文档内容,和/或,用户通过富文本编辑器调整显示样式,然后基于事务类型和事务状态确定是否满足分页条件,若满足分页条件,则根据获取到的文档页面的属性信息、事务类型和事务状态,执行分页处理,也即在本申请实施例中,当检测到文档满足分页条件时,根据文档页面的属性信息、事务类型和事务状态,从而可以实现对文档进行分页处理。
附图说明
图1为本申请实施例的一种分页处理的方法流程示意图;
图2为本申请实施例的一种分页处理的装置结构示意图;
图3为本申请实施例的一种电子设备的结构示意图。
具体实施方式
以下结合附图对本申请作进一步详细说明。
本具体实施例仅仅是对本申请的解释,其并不是对本申请的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的权利要求范围内都受到专利法的保护。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
目前大多数的富文本编辑器都是基于服务器-客户机(Client-Server,CS)架构的软件,需要在各种类型的终端安装适应终端的客户端软件程序,对终端系统运行环境有很强的依赖性。在本申请实施例中,在基于浏览器的富文本编辑器中解决文档的分页展示问题,程序本身对终端的环境没有依赖,只依赖于运行在终端上的浏览器。在类似的富文本编辑器中,分页处理都是通过虚拟定位输入以及错位的文档对象模型(Document ObjectModel,DOM)渲染得到的分页展示,这种程序处理需要监听输入器中的输入内容以及输入器定位的位置,把输入的内容转移到分页展示的静态DOM结构中。
本申请实施例是通过DOM对象的可编辑属性(contenteditable)对实时输入的内容进行合并和拆分,在实际的输入位置展示和处理输入的内容,不去生成静态的分页展示,而是对编辑器产生的富文本内容根据浏览器的渲染以及设定的页面大小、边距、方向等属性对HTML DOM进行拆分合并实现文档的分页展示效果。
下面结合说明书附图对本申请实施例作进一步详细描述。
本申请实施例提供了一种分页处理的方法,如图1所示,由电子设备执行,包括:
步骤S101、当检测到用户针对富文本编辑器的执行事务时,获取事务类型和事务状态。
其中,用户针对富文本编辑器的执行事务包括:用户通过富文本编辑器输入文档内容,或者用户通过富文本编辑器调整显示样式。
对于本申请实施例,事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。
进一步地,在本申请实施例中,事务类型用于表征用于当前用户针对富文本编辑器的执行事务的类型,也即用于表征当前用户是通过富文本编辑器输入文档内容还是通过富文本编辑器调整文档显示样式;事务状态可以理解为事务执行时附带的标识,该标识用于指示是否执行分页操作。
步骤S102、基于事务类型和事务状态确定是否满足分页条件。
对于本申请实施例,分页条件可以包括:当检测当前用户针对富文本编辑器输入文档内容,和/或,用户通过富文本编辑器调整文档显示样式;以及,事务状态中携带的标识用于执行可以执行分页操作。
步骤S103、若满足分页条件,则根据获取到的文档页面的属性信息、事务类型和事务状态,执行分页处理。
对于本申请实施例,当当前的事务类型和事务状态满足分页条件,则根据当前文档的文档页面的属性信息、事务类型和事务状态执行分页操作。具体执行分页操作的方式详见下述实施例,在此不再赘述。
具体地,在本申请实施例中,文档页面的属性信息具体详见下述实施例。
本申请实施例提供了一种分页处理的方法,与现有技术相比,在本申请实施例中,当检测到用户针对富文本编辑器的执行事务时,获取事务类型和事务状态,用户针对富文本编辑器的执行事务包括:用户通过富文本编辑器输入文档内容,和/或,用户通过富文本编辑器调整显示样式,然后基于事务类型和事务状态确定是否满足分页条件,若满足分页条件,则根据获取到的文档页面的属性信息、事务类型和事务状态,执行分页处理,也即在本申请实施例中,当检测到文档满足分页条件时,根据文档页面的属性信息、事务类型和事务状态,从而可以实现对文档进行分页处理。
进一步地,在本申请实施例中,获取事务类型和事务状态的方式,以及,基于事务类型和事务状态确定是否满足分页条件的方式,可以详见本申请实施例,也可以相关技术所示的方式,在此不再赘述。
具体地,在本申请实施例中,根据获取到的文档页面的属性信息、事务类型和事务状态,执行分页处理,包括:根据事务类型和事务状态,确定当前事务是否满足第一预设条件;若当前事务满足第一预设条件,则返回当前操作位置,并根据当前操作位置执行合并算法。
其中,第一预设条件包括:当前事务在删除被拆分后的同一节点的内容。
具体地,根据事务类型和事务状态,确定当前事务是否满足第一预设条件,包括:确定当前事务和上一个事务是否在删除当前页面最后一个节点的内容,以及,根据当前页面最后一个节点的内容和下一页中起始位置节点的内容,确定是否为同一节点,以确定当前事务是否满足第一预设条件。
具体地,在本申请实施例中,依据事务信息(事务类型和事务状态),先判断该事务和上一次事务是否在删除页面最后一个节点(lastChild)的内容,同时获取到下一页起始位置的节点(firstChild)的内容,根据lastChild的内容和firstChild的内容对比两个节点是否为被分页拆分(split)之后的同一个节点,若当前事务是在删除被拆分后的同一节点内容,则返回当前操作位置。例如,DOM节点中一个P标签节点被拆分在两个页面中,他们的标识一样,当用backspace或delete键删除内容时,就判断是同一个节点的内容内容减少,则返回当前操作位置。在本申请实施例中,确定当前事务和上一个事务是否在删除当前页面最后一个节点的内容,以及,根据当前页面最后一个节点的内容和下一页中起始位置节点的内容,确定是否为同一节点,以确定当前事务是否满足第一预设条件,可以直接触发合并操作,不需要进行其他逻辑判断,从而可以降低其他逻辑判断开销。
进一步地,在本申请实施例中,根据事务类型和事务状态,确定当前事务是否满足第一预设条件,之后还包括:若当前事务不满足第一预设条件,则遍历当前文档中所有分页节点,并根据确定出的分页单元高度阈值,确定分页单元内容所占高度与分页单元高度阈值满足第二预设条件的页面;返回满足第二预设条件的页面对应的页面起始位置;根据页面起始位置执行合并算法。
其中,第二预设条件包括:分页单元内容所占高度大于分页单元高度阈值,或者,分页单元内容所占小于分页单元高度阈值;分页单元高度阈值为分页单元实际可填充内容的高度。在本申请实施例中,分页单元高度阈值为分页单元实际可填充内容的高度。
具体地,确定分页单元高度阈值的方式,包括:根据文档页面属性信息确定分页单元高度阈值。
其中,文档页面属性信息包括以下至少一项:
页面大小、页边距、页眉高度、页脚高度。
对于本申请实施例,依次遍历文档中所有分页节点,对比每一个分页单元内容与分页单元高度阈值,若有分页单元内容超出,就直接标记对比类型(超出或短缺)并返回当前页起始的位置,若有分页单元内容短缺,那么同样也直接标记对比类型并返回当前页起始位置。进一步地,在得到当前页起始位置后,根据当前页起始位置执行合并算法。
具体地,根据当前操作位置执行合并算法,包括:将当前操作位置校准为当前操作位置页面的页面起始位置;根据当前操作位置页面的页面起始位置执行合并算法。在本申请实施例中涉及的当前操作位置可以为上述实施例中返回的位置,当得到上述实施例中返回的当前操作位置之后,基于当前操作位置确定当前页的页面起始位置,并基于得到的当前页的页面起始位置执行合并算法。
本申请实施例的另一种可能的实现方式,根据页面起始位置执行合并算法,包括:获取该页面起始位置后的页面节点的末尾位置;确定每两个相邻的页面节点之间的合并位置信息;基于合并位置信息以及对应的合并深度,执行合并算法。
对于本申请实施例,获取到的页面节点的末尾位置为在获取到该页面起始位置之后所有页节点的末尾位置。在本申请实施例中,文档内容中每一个节点都有自己的长度,DOM树的子节点长度累加就是外层页节点的长度,比如第一个页节点长度是200,那么第二个页节点开始位置就是201,如果第二个节点长度也是200,那么第二个页节点末尾位置就是401。
对于本申请实施例,在获取到该页面起始位置后的所有页面节点的末尾位置,都要把后面所有的页节点合并到返回的位置处。具体合并是依次从后往前把后面所有页节点里面的内容插入到返回的位置处。在本申请实施例中,返回的位置处为当前页面节点的末尾位置。具体地,通过合并的位置和深度可以获取到合并的内容切片,把得到的切片替换到合并的位置,这个操作是依次进行的,比如一共有5页,第2页超出或短缺,依次要做的是合并第5页和第4页,再合并第4页和第3页,然后再合并第3页和第2页。
进一步地,若在上述实施例中得到的页面节点的末尾位置多于两个,为了计算能力和计算速度,可以截取前两个页面节点的末尾位置执行合并算法,具体详见下述实施例。
对于本申请实施例,若该页面起始位置后的页面节点的末尾位置多于两个,则确定每两个相邻的页面节点之间的合并位置信息,包括:获取前两个相邻页面节点的合并位置信息。
其中,前两个页面节点为该页面起始位置后的页面节点的末尾位置分别对应的页面节点。
例如,文档一共5页,若获取到的页面起始位置为第2页的起始位置,则获取到的末尾位置为第2页的末尾位置、第3页的末尾位置、第4页的末尾位置和第5页的末尾位置,则截取第2页的末尾位置和第3页的末尾位置,然后执行合并算法。
具体地,执行合并算法中判断两个页节点合并处的位置信息,得到合并的深度(depth),如果遇到特殊节点,同时设置特殊节点合并后的属性,如分页固定表格头部移除、输入域拆分后的标识移除等,拿到位置和深度之后执行合并算法,对相邻页面节点做合并,执行合并事务;在执行合并算法之后,设定特定标识,确保该事务不会再次触发分页算法。
具体地,基于合并位置信息以及对应的合并深度,执行合并算法,之后还包括:若合并后的位置处于表格单元格内,则对拆分的单元格进行合并处理;若合并后的位置不处于表格单元格内,则确定拆分位置以及拆分深度,并执行拆分处理。在本申请实施例中,合并后判断当前位置是否为表格单元格,如果是则进入表格单元格合并逻辑,对存在拆分的单元格做合并处理。
具体地,对拆分的单元格进行合并处理,包括:若存在两行中相同列的单元格分别对应的标识相同且两行中的单元格数量相同,则对两行进行合并处理。在本申请实施例中,表格单元格合并时,如果存在两行中相同列单元格domid一样的,并且数量与当前行单元格数量一致,则对这两行做合并处理;依次遍历需要合并行中的单元格,拿到单元格中的内容,插入到上一行末尾的位置,遍历完后删除该行完成单元格合并操作。
进一步地,若合并后的位置不处于表格单元格内,则确定拆分位置以及拆分深度,并执行拆分处理。
本申请实施例的另一种可能的实现方式,执行拆分处理,包括:确定拆分位置是否处于表格单元格中;若拆分位置不处于表格单元格中,则根据拆分位置、拆分深度以及拆分位置节点属性,执行拆分处理;若拆分位置处于表格单元格中,则拆分存在内容超出的表格行。
具体地,确定拆分位置以及拆分深度,包括:根据合并后的位置,确定合并后的位置所对应的页面节点起始位置;若页面节点起始位置不属于超出页面内容长度的位置,则基于页面节点起始位置确定所在的页面内容区域起始位置;基于页面内容区域起始位置,并通过遍历DOM节点以及每个节点的节点长度,确定当前位置节点DOM对象和位置偏移量;通过当前位置节点DOM对象和位置偏移量,并利用getClientRects和getBoundingClientRect确定节点所占浏览器视窗矩形位置区域参数,参数包括:上坐标TOP和Left;根据上坐标TOP和Left以及分页单元高度阈值,确定当前页面节点末尾位置的位置坐标TOP和Left;根据当前页面末尾位置的位置坐标TOP和Left,递归遍历文档中的所有节点,确定前页面节点末尾位置的位置坐标TOP和Left所对应的节点DOM对象和偏移量;根据对应的节点DOM对象和偏移量,遍历文档中各个节点,并通过节点长度类型,确定各个节点在文档中的位置信息以及父节点的开始位置信息;对各个节点在文档中的位置信息以及父节点的开始位置信息进行至少两次的校准操作,得到拆分位置以及拆分深度。
对于本申请实施例,对各个节点在文档中的位置信息以及父节点的开始位置信息进行至少两次的校准操作,得到拆分位置以及拆分深度,具体可以包括:判断该位置(各个节点在文档中的位置信息以及父节点的开始位置信息)是否需要拆分或为另起一页的标识,如果需要拆分再对位置做详细校准。当位置在表格中是返回标识和位置,标识需要对表格进行拆分,进入表格拆分逻辑;在本申请实施例中,详细校准中也是通过getClientRects和getBoundingClientRect得到当前节点的矩阵参数,结合之前获得的以页面节点末尾位置的坐标得到节点每一行的矩阵参数,通过对坐标top和left值的比较,确定拆分位置是在上一行结尾还是在当前行起始,拿到拆分的准确位置,然后利用拆分位置进入拆分遍历逻辑,起始遍历位置设置为当前得到的拆分位置;若对当前得到的拆分位置根据位置信息还需要做再一次核准,获取不同类型的节点拆分的具体位置和深度,同时标记特殊节点需要附带的位置信息。当存在节点嵌套时,对节点进行递归遍历,拿到更准确的位置和深度以及位置信息。在本申请实施例中结合文档编辑生成的环境,利用浏览器DOM对象可编辑属性(contenteditable),同时结合DOM对象自身的接口方法(getClientRects、getBoundingClientRect),达到实时编辑和准确确认分页节点位置等信息,完成文档的动态编辑能力和实时分页效果,进一步地提高了富文本编辑器文档实时处理能力和分页性能,为用户在基于浏览器的富文本编辑器中处理文档提供便利,极大的降低了用户文档处理时间和管理成本,为文档在线编辑和分页显示以及分页打印提供更便捷的工具方法。其中,getBoundingClientRect用于判断一个元素的尺寸和位置,并且Element.getBoundingClientRect方法返回一个对象,该对象提供当前元素节点的大小、它相对于视口(viewport)的位置等信息,但是各个浏览器返回的对象包含的属性不相同;getClientRects方法与getBoundingClientRect不同,该方法是一个返回元素的数个矩形区域的类数组对象,每个类数组对象的参数与getBoundingClientRect方法相同,每个矩形都有bottom、height、left、right、top和width六个属性,表示它们相对于视口的四个坐标,以及本身的高度和宽度。
具体地,执行拆分处理,包括:若拆分位置位于表格中,且存在待拆分的单元格,则遍历待拆分的单元格,获取待拆分的单元格节点信息,并基于待拆分的单元格节点信息进行拆分处理;若拆分位置不位于表格中,则根据拆分位置和拆分深度,拆分当前页节点。在本申请实施例中,拆分位置在表格中,当单元格需要拆分,遍历单元格依次获取单元格起始位置、结束位置、需拆分的位置、拆分超出的内容等单元格节点信息,对获得的单元格拆分信息筛查,如果不需要拆分则走正常节点拆分逻辑,如果需要拆分则逐项进行内容处理,删除单元格内拆分位置到末尾的内容,创建新的单元格并附上当前单元格属性及拆分后的内容,组成新的行插入到当前表格,然后在新行位置前面做拆分处理,拆分表格;如果拆分位置不在表格中,则根据获得的拆分位置信息,利用位置和深度拆分当前页节点,并设置拆分后的属性;如果拆分位置的表格需要固定页头,则根据获得的拆分信息(拆分位置和拆分深度),在拆分后的表格起始位置插入固定的表格头。
进一步地,在本申请实施例中,拆分过程中拆分事务同样添加标识,防止再次触发同样的事务;完成该次拆分后,再次把拆分后得到的新位置赋值给起始遍历位置,让遍历继续进行,再次进入拆分算法,直到赋值后的位置不满足拆分条件时跳出当前遍历;这组合并拆分逻辑执行完之后,事务通知分页插件;分页插件如果拿到需要再次合并拆分的标识,则触发一次带有位置标识的可执行分页的空事务,让该事务再次触发分页算法,进行后面页面节点的合并拆分,直到再次进入分页插件,但不满足进入分页算法条件停止。
上述实施例从方法流程的角度介绍一种分页处理的方法,下述实施例从虚拟模块或者虚拟单元的角度介绍了一种分页处理的装置,具体详见下述实施例。
本申请实施例提供一种分页处理的装置,如图2所示,该分页处理的装置20具体可以包括:
获取模块21,用于当检测到用户针对富文本编辑器的执行事务时,获取事务类型和事务状态。
其中,用户针对富文本编辑器的执行事务包括:用户通过富文本编辑器输入文档内容,或者用户通过富文本编辑器调整显示样式。
第一确定模块22,用于基于事务类型和事务状态确定是否满足分页条件。
分页处理模块23,用于当满足分页条件时,根据获取到的文档页面的属性信息、事务类型和事务状态,执行分页处理。
本申请实施例的另一种可能的实现方式,分页处理模块23在根据获取到的文档页面的属性信息、事务类型和事务状态,执行分页处理时,具体用于:
根据事务类型和事务状态,确定当前事务是否满足第一预设条件;
当当前事务满足第一预设条件时,返回当前操作位置,并根据当前操作位置执行合并算法;
其中,第一预设条件包括:当前事务在删除被拆分后的同一节点的内容。
本申请实施例的另一种可能的实现方式,分页处理模块23,具体还用于:
当当前事务不满足第一预设条件时,遍历当前文档中所有分页节点,并根据确定出的分页单元高度阈值,确定分页单元内容所占高度与分页单元高度阈值满足第二预设条件的页面;
返回满足第二预设条件的页面对应的页面起始位置;
根据页面起始位置执行合并算法;
其中,第二预设条件包括:分页单元内容所占高度大于分页单元高度阈值,或者,分页单元内容所占小于分页单元高度阈值;分页单元高度阈值为分页单元实际可填充内容的高度。
本申请实施例的另一种可能的实现方式,装置20还包括:第二确定模块,其中,
第二确定模块在确定分页单元高度阈值时,具体用于:
根据文档页面属性信息确定分页单元高度阈值;
其中,文档页面属性信息包括以下至少一项:
页面大小、页边距、页眉高度、页脚高度。
本申请实施例的另一种可能的实现方式,第一确定模块22在根据事务类型和事务状态,确定当前事务是否满足第一预设条件时,具体用于:
确定当前事务和上一个事务是否在删除当前页面最后一个节点的内容,以及,
根据当前页面最后一个节点的内容和下一页中起始位置节点的内容,确定是否为同一节点,以确定当前事务是否满足第一预设条件。
本申请实施例的另一种可能的实现方式,分页处理模块23在根据当前操作位置执行合并算法时,具体用于:
将当前操作位置校准为当前操作位置页面的页面起始位置;
根据当前操作位置页面的页面起始位置执行合并算法。
本申请实施例的另一种可能的实现方式,分页处理模块23在根据页面起始位置执行合并算法时,具体用于:
获取该页面起始位置后的页面节点的末尾位置;
确定每两个相邻的页面节点之间的合并位置信息;
基于合并位置信息以及对应的合并深度,执行合并算法。
本申请实施例的另一种可能的实现方式,当该页面起始位置后的页面节点的末尾位置多于两个时,分页处理模块23在确定每两个相邻的页面节点之间的合并位置信息时,具体用于:
获取前两个相邻页面节点的合并位置信息,前两个页面节点为该页面起始位置后的页面节点的末尾位置分别对应的页面节点。
本申请实施例的另一种可能的实现方式,分页处理模块23在基于合并位置信息以及对应的合并深度,执行合并算法,之后还用于:
当合并后的位置处于表格单元格内时,对拆分的单元格进行合并处理;
当合并后的位置不处于表格单元格内时,确定拆分位置以及拆分深度,并执行拆分处理。
本申请实施例的另一种可能的实现方式,分页处理模块23在执行拆分处理时,具体用于:
确定拆分位置是否处于表格单元格中;
当拆分位置不处于表格单元格中时,根据拆分位置、拆分深度以及拆分位置节点属性,执行拆分处理;
当拆分位置处于表格单元格中时,拆分存在内容超出的表格行。
本申请实施例的另一种可能的实现方式,分页处理模块23在对拆分的单元格进行合并处理时,具体用于:
当存在两行中相同列的单元格分别对应的标识相同且两行中的单元格数量相同时,对两行进行合并处理。
本申请实施例的另一种可能的实现方式,分页处理模块23在确定拆分位置以及拆分深度时,具体用于:
根据合并后的位置,确定合并后的位置所对应的页面节点起始位置;
当页面节点起始位置不属于超出页面内容长度的位置时,基于页面节点起始位置确定所在的页面内容区域起始位置;
基于页面内容区域起始位置,并通过遍历DOM节点以及每个节点的节点长度,确定当前位置节点DOM对象和位置偏移量;
通过当前位置节点DOM对象和位置偏移量,并利用getClientRects和getBoundingClientRect确定节点所占浏览器视窗矩形位置区域参数,参数包括:上坐标TOP和Left;
根据上坐标TOP和Left以及分页单元高度阈值,确定当前页面节点末尾位置的位置坐标TOP和Left;
根据当前页面末尾位置的位置坐标TOP和Left,递归遍历文档中的所有节点,确定前页面节点末尾位置的位置坐标TOP和Left所对应的节点DOM对象和偏移量;
根据对应的节点DOM对象和偏移量,遍历文档中各个节点,并通过节点长度类型,确定各个节点在文档中的位置信息以及父节点的开始位置信息;
对各个节点在文档中的位置信息以及父节点的开始位置信息进行至少两次的校准操作,得到拆分位置以及拆分深度。
本申请实施例的另一种可能的实现方式,分页处理模块23在执行拆分处理时,具体用于:
当拆分位置位于表格中,且存在待拆分的单元格时,遍历待拆分的单元格,获取待拆分的单元格节点信息,并基于待拆分的单元格节点信息进行拆分处理;
当拆分位置不位于表格中时,根据拆分位置和拆分深度,拆分当前页节点。
对于本申请实施例,第一确定模块22和第二确定模块可以为同一确定模块,也可以为不同的确定模块,在本申请实施例中不做限定。
本申请实施例提供了一种分页处理的装置,与现有技术相比,在本申请实施例中当检测到用户针对富文本编辑器的执行事务时,获取事务类型和事务状态,用户针对富文本编辑器的执行事务包括:用户通过富文本编辑器输入文档内容,和/或,用户通过富文本编辑器调整显示样式,然后基于事务类型和事务状态确定是否满足分页条件,若满足分页条件,则根据获取到的文档页面的属性信息、事务类型和事务状态,执行分页处理,也即在本申请实施例中,当检测到文档满足分页条件时,根据文档页面的属性信息、事务类型和事务状态,从而可以实现对文档进行分页处理。
本申请实施例提供的分页处理的装置适用于上述方法实施例,在此不再赘述。
在上述实施例中分别从方法流程的角度介绍了一种分页处理的方法,以及从虚拟模块的角度介绍了一种分页处理的装置,下述实施例从实体装置的角度介绍了一种电子设备,可以用于执行上述方法实施例所示的分页处理的方法,具体详见下述实施例:
本申请实施例中提供了一种电子设备,如图3所示,图3所示的电子设备300包括:处理器301和存储器303。其中,处理器301和存储器303相连,如通过总线302相连。可选地,电子设备300还可以包括收发器304。需要说明的是,实际应用中收发器304不限于一个,该电子设备300的结构并不构成对本申请实施例的限定。
处理器301可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器301也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线302可包括一通路,在上述组件之间传送信息。总线302可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线302可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器303可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器303用于存储执行本申请方案的应用程序代码,并由处理器301来控制执行。处理器301用于执行存储器303中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。还可以为服务器等。图3示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,在本申请实施例中当检测到用户针对富文本编辑器的执行事务时,获取事务类型和事务状态,用户针对富文本编辑器的执行事务包括:用户通过富文本编辑器输入文档内容,和/或,用户通过富文本编辑器调整显示样式,然后基于事务类型和事务状态确定是否满足分页条件,若满足分页条件,则根据获取到的文档页面的属性信息、事务类型和事务状态,执行分页处理,也即在本申请实施例中,当检测到文档满足分页条件时,根据文档页面的属性信息、事务类型和事务状态,从而可以实现对文档进行分页处理。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (9)
1.一种分页处理的方法,其特征在于,包括:
当检测到用户针对富文本编辑器的执行事务时,获取事务类型和事务状态,所述用户针对富文本编辑器的执行事务包括:用户通过所述富文本编辑器输入文档内容,或者用户通过富文本编辑器调整显示样式;
基于所述事务类型和事务状态确定是否满足分页条件;
若满足分页条件,则根据获取到的文档页面的属性信息、所述事务类型和所述事务状态,执行分页处理;
根据获取到的文档页面的属性信息、所述事务类型和所述事务状态,执行分页处理,包括:
根据所述事务类型和所述事务状态,确定当前事务是否满足第一预设条件;
若所述当前事务满足所述第一预设条件,则返回当前操作位置,并根据当前操作位置执行合并算法;
所述第一预设条件包括:当前事务在删除被拆分后的同一节点的内容;
其中,所述根据所述事务类型和所述事务状态,确定当前事务是否满足第一预设条件,之后还包括:
若所述当前事务不满足所述第一预设条件,则遍历当前文档中所有分页节点,并根据确定出的分页单元高度阈值,确定分页单元内容所占高度与分页单元高度阈值满足第二预设条件的页面;
返回所述满足第二预设条件的页面对应的页面起始位置;
根据所述页面起始位置执行合并算法;
其中,第二预设条件包括:分页单元内容所占高度大于所述分页单元高度阈值,或者,分页单元内容所占小于所述分页单元高度阈值;
所述分页单元高度阈值为分页单元实际可填充内容的高度;
其中,确定所述分页单元高度阈值的方式,包括:
根据所述文档页面的属性信息确定所述分页单元高度阈值;
所述文档页面属性信息包括以下至少一项:
页面大小、页边距、页眉高度、页脚高度。
2.根据权利要求1所述的方法,其特征在于,所述根据所述事务类型和所述事务状态,确定当前事务是否满足第一预设条件,包括:
确定所述当前事务和上一个事务是否在删除当前页面最后一个节点的内容,以及,
根据所述当前页面最后一个节点的内容和下一页中起始位置节点的内容,确定是否为同一节点,以确定当前事务是否满足所述第一预设条件其中,所述根据当前操作位置执行合并算法,包括:
将所述当前操作位置校准为当前操作位置页面的页面起始位置;
根据所述当前操作位置页面的页面起始位置执行合并算法。
3.根据权利要求2所述的方法,其特征在于,根据页面起始位置执行合并算法,包括:
获取该页面起始位置后的页面节点的末尾位置;
确定每两个相邻的页面节点之间的合并位置信息;
基于所述合并位置信息以及对应的合并深度,执行合并算法。
4.根据权利要求3所述的方法,其特征在于,若所述该页面起始位置后的页面节点的末尾位置多于两个,
则确定每两个相邻的页面节点之间的合并位置信息,包括:
获取前两个相邻页面节点的合并位置信息,所述前两个相邻页面节点为所述该页面起始位置后的页面节点的末尾位置分别对应的页面节点。
5.根据权利要求4所述的方法,其特征在于,所述基于所述合并位置信息以及对应的合并深度,执行合并算法,之后还包括:
若合并后的位置处于表格单元格内,则对拆分的单元格进行合并处理;
若合并后的位置不处于表格单元格内,则确定拆分位置以及拆分深度,并执行拆分处理;
其中,所述执行拆分处理,包括:
确定所述拆分位置是否处于表格单元格中;
若所述拆分位置不处于表格单元格中,则根据拆分位置、拆分深度以及拆分位置节点属性,执行拆分处理;
若所述拆分位置处于表格单元格中,则拆分存在内容超出的表格行。
6.根据权利要求5所述的方法,其特征在于,所述对拆分的单元格进行合并处理,包括:
若存在两行中相同列的单元格分别对应的标识相同且两行中的单元格数量相同,则对所述两行进行合并处理。
7.根据权利要求5所述的方法,其特征在于,所述确定拆分位置以及拆分深度,包括:
根据合并后的位置,确定所述合并后的位置所对应的页面节点起始位置;
若所述页面节点起始位置不属于超出页面内容长度的位置,则基于所述页面节点起始位置确定所在的页面内容区域起始位置;
基于所述页面内容区域起始位置,并通过遍历DOM节点以及每个节点的节点长度,确定当前位置节点DOM对象和位置偏移量;
通过所述当前位置节点DOM对象和位置偏移量,并利用getClientRects和getBoundingClientRect确定节点所占浏览器视窗矩形位置区域参数,所述参数包括:上坐标TOP和Left;
根据所述上坐标TOP和Left以及所述分页单元高度阈值,确定当前页面节点末尾位置的位置坐标TOP和Left;
根据所述当前页面末尾位置的位置坐标TOP和Left,递归遍历文档中的所有节点,确定所述前页面节点末尾位置的位置坐标TOP和Left所对应的节点DOM对象和偏移量;
根据所述对应的节点DOM对象和偏移量,遍历文档中各个节点,并通过节点长度类型,确定各个节点在文档中的位置信息以及父节点的开始位置信息;
对所述各个节点在文档中的位置信息以及所述父节点的开始位置信息进行至少两次的校准操作,得到所述拆分位置以及所述拆分深度。
8.根据权利要求7所述的方法,其特征在于,所述执行拆分处理,包括:
若所述拆分位置位于表格中,且存在待拆分的单元格,则遍历所述待拆分的单元格,获取待拆分的单元格节点信息,并基于所述待拆分的单元格节点信息进行拆分处理;
若所述拆分位置不位于表格中,则根据所述拆分位置和所述拆分深度,拆分当前页节点。
9.一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于:执行权利要求1-8任一项所述的分页处理的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110128468.9A CN112861481B (zh) | 2021-01-29 | 2021-01-29 | 分页处理的方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110128468.9A CN112861481B (zh) | 2021-01-29 | 2021-01-29 | 分页处理的方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112861481A CN112861481A (zh) | 2021-05-28 |
CN112861481B true CN112861481B (zh) | 2024-01-30 |
Family
ID=75987025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110128468.9A Active CN112861481B (zh) | 2021-01-29 | 2021-01-29 | 分页处理的方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112861481B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114154458A (zh) * | 2021-10-29 | 2022-03-08 | 盐城金堤科技有限公司 | 格式转换的方法、装置、存储介质和电子设备 |
CN115543238B (zh) * | 2022-11-29 | 2023-03-21 | 明度智云(浙江)科技有限公司 | 一种浏览器页面打印方法、装置、设备及存储介质 |
Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001057719A1 (en) * | 2000-02-01 | 2001-08-09 | Infogin Ltd. | Methods and apparatus for analyzing, processing and formatting network information such as web-pages |
US6732148B1 (en) * | 1999-12-28 | 2004-05-04 | International Business Machines Corporation | System and method for interconnecting secure rooms |
WO2005043318A2 (en) * | 2003-10-22 | 2005-05-12 | Bookfactory, Llc | System, method and computer program product for network resource processing |
JP2006235933A (ja) * | 2005-02-24 | 2006-09-07 | Canon Inc | 画像処理装置及び印刷ジョブ生成装置 |
JP2006263969A (ja) * | 2005-03-22 | 2006-10-05 | Canon Inc | 画像処理装置及び印刷ジョブ生成装置ならびに画像処理システム |
KR101206404B1 (ko) * | 2012-06-28 | 2012-11-29 | (주) 사이냅소프트 | 하이퍼텍스트 생성 언어 변환 장치 및 그 방법 |
KR20140003788A (ko) * | 2012-06-28 | 2014-01-10 | (주) 사이냅소프트 | 하이퍼텍스트 생성 언어 변환 장치 및 그 방법 |
CN104424160A (zh) * | 2013-09-11 | 2015-03-18 | 北大方正集团有限公司 | 文档跳转的处理系统和处理方法 |
CN104462087A (zh) * | 2013-09-13 | 2015-03-25 | 北大方正集团有限公司 | 一种文本文档分页处理方法和系统 |
WO2015062243A1 (zh) * | 2013-10-30 | 2015-05-07 | 小米科技有限责任公司 | 信息展示方法和装置 |
EP2891989A1 (en) * | 2014-01-02 | 2015-07-08 | E-Kiosk S.A. | System and method for converting an electronic document from a paginated format to a non-paginated format |
CN105069023A (zh) * | 2015-07-17 | 2015-11-18 | 孙巍 | 一种在电视上播放网页图文的方法、设备及系统 |
CN107741839A (zh) * | 2016-10-13 | 2018-02-27 | 腾讯科技(深圳)有限公司 | 一种基于文本阅读器的文本显示方法和装置 |
CN108804483A (zh) * | 2017-05-05 | 2018-11-13 | 平安科技(深圳)有限公司 | 单元格页面的渲染方法、服务器和计算机可读存储介质 |
CN109033049A (zh) * | 2018-06-29 | 2018-12-18 | 平安科技(深圳)有限公司 | Ppt文档的生成方法及装置、存储介质、终端 |
CN109074271A (zh) * | 2016-04-01 | 2018-12-21 | 微软技术许可有限责任公司 | 修改的ui元素树的生成 |
CN109992182A (zh) * | 2019-03-28 | 2019-07-09 | 掌阅科技股份有限公司 | 电子书批量翻页方法、电子设备及计算机存储介质 |
CN110096507A (zh) * | 2019-04-25 | 2019-08-06 | 北京博跃科技有限公司 | 一种页面复杂表格渲染方法、系统、终端及介质 |
WO2019214182A1 (zh) * | 2018-05-09 | 2019-11-14 | 天津字节跳动科技有限公司 | 文档格式转换方法和装置 |
CN111259644A (zh) * | 2018-11-30 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 富文本处理方法与编辑器、设备及存储介质 |
CN111414727A (zh) * | 2019-01-07 | 2020-07-14 | 珠海金山办公软件有限公司 | 一种pdf文档页眉页脚的编辑方法、装置及电子设备 |
CN111507073A (zh) * | 2020-04-10 | 2020-08-07 | 甯航 | 一种基于web富文本的论文编辑与智能排版方法及平台 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020091725A1 (en) * | 1998-05-12 | 2002-07-11 | David Skok | Method and apparatus for providing client-based web page content creation and management |
US20040205644A1 (en) * | 2000-12-29 | 2004-10-14 | International Business Machines Corporation | Method and system for allowing in place editing of office documents in a place |
WO2011130235A1 (en) * | 2010-04-12 | 2011-10-20 | Google Inc. | Rich browser-based word processor |
US20150149888A1 (en) * | 2013-11-27 | 2015-05-28 | Moboom Ltd. | Systems and methods for executing aspects of a document |
-
2021
- 2021-01-29 CN CN202110128468.9A patent/CN112861481B/zh active Active
Patent Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6732148B1 (en) * | 1999-12-28 | 2004-05-04 | International Business Machines Corporation | System and method for interconnecting secure rooms |
WO2001057719A1 (en) * | 2000-02-01 | 2001-08-09 | Infogin Ltd. | Methods and apparatus for analyzing, processing and formatting network information such as web-pages |
WO2005043318A2 (en) * | 2003-10-22 | 2005-05-12 | Bookfactory, Llc | System, method and computer program product for network resource processing |
JP2006235933A (ja) * | 2005-02-24 | 2006-09-07 | Canon Inc | 画像処理装置及び印刷ジョブ生成装置 |
JP2006263969A (ja) * | 2005-03-22 | 2006-10-05 | Canon Inc | 画像処理装置及び印刷ジョブ生成装置ならびに画像処理システム |
KR101206404B1 (ko) * | 2012-06-28 | 2012-11-29 | (주) 사이냅소프트 | 하이퍼텍스트 생성 언어 변환 장치 및 그 방법 |
KR20140003788A (ko) * | 2012-06-28 | 2014-01-10 | (주) 사이냅소프트 | 하이퍼텍스트 생성 언어 변환 장치 및 그 방법 |
CN104424160A (zh) * | 2013-09-11 | 2015-03-18 | 北大方正集团有限公司 | 文档跳转的处理系统和处理方法 |
CN104462087A (zh) * | 2013-09-13 | 2015-03-25 | 北大方正集团有限公司 | 一种文本文档分页处理方法和系统 |
WO2015062243A1 (zh) * | 2013-10-30 | 2015-05-07 | 小米科技有限责任公司 | 信息展示方法和装置 |
EP2891989A1 (en) * | 2014-01-02 | 2015-07-08 | E-Kiosk S.A. | System and method for converting an electronic document from a paginated format to a non-paginated format |
CN105069023A (zh) * | 2015-07-17 | 2015-11-18 | 孙巍 | 一种在电视上播放网页图文的方法、设备及系统 |
CN109074271A (zh) * | 2016-04-01 | 2018-12-21 | 微软技术许可有限责任公司 | 修改的ui元素树的生成 |
CN107741839A (zh) * | 2016-10-13 | 2018-02-27 | 腾讯科技(深圳)有限公司 | 一种基于文本阅读器的文本显示方法和装置 |
CN108804483A (zh) * | 2017-05-05 | 2018-11-13 | 平安科技(深圳)有限公司 | 单元格页面的渲染方法、服务器和计算机可读存储介质 |
WO2019214182A1 (zh) * | 2018-05-09 | 2019-11-14 | 天津字节跳动科技有限公司 | 文档格式转换方法和装置 |
CN109033049A (zh) * | 2018-06-29 | 2018-12-18 | 平安科技(深圳)有限公司 | Ppt文档的生成方法及装置、存储介质、终端 |
CN111259644A (zh) * | 2018-11-30 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 富文本处理方法与编辑器、设备及存储介质 |
CN111414727A (zh) * | 2019-01-07 | 2020-07-14 | 珠海金山办公软件有限公司 | 一种pdf文档页眉页脚的编辑方法、装置及电子设备 |
CN109992182A (zh) * | 2019-03-28 | 2019-07-09 | 掌阅科技股份有限公司 | 电子书批量翻页方法、电子设备及计算机存储介质 |
CN110096507A (zh) * | 2019-04-25 | 2019-08-06 | 北京博跃科技有限公司 | 一种页面复杂表格渲染方法、系统、终端及介质 |
CN111507073A (zh) * | 2020-04-10 | 2020-08-07 | 甯航 | 一种基于web富文本的论文编辑与智能排版方法及平台 |
Non-Patent Citations (5)
Title |
---|
一种将XML文档转换为HTML格式文档的算法;彭婉仪;吴家菊;纪斌;;电脑与信息技术(第04期);24-27 * |
富文本编辑(RTE)控件在试题库系统中的应用;李中华;河北理工学院学报(第02期);89-93 * |
彭婉仪 ; 吴家菊 ; 纪斌 ; .一种将XML文档转换为HTML格式文档的算法.电脑与信息技术.2018,(第04期),24-27. * |
文本表格控件设计及应用;邵顺增;《计算机应用与软件》;第30卷(第07期);139-142 * |
李中华.富文本编辑(RTE)控件在试题库系统中的应用.河北理工学院学报.2002,(第02期),89-93. * |
Also Published As
Publication number | Publication date |
---|---|
CN112861481A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112861481B (zh) | 分页处理的方法、装置、电子设备及计算机可读存储介质 | |
US9904936B2 (en) | Method and apparatus for identifying elements of a webpage in different viewports of sizes | |
US20160314104A1 (en) | Methods and systems for efficient and accurate text extraction from unstructured documents | |
WO2020131409A1 (en) | Auto-formatting of a data table | |
WO2020118485A1 (en) | Method of Detecting User Interface Layout Issues for Web Applications | |
US8290925B1 (en) | Locating product references in content pages | |
CN109271598B (zh) | 一种抽取新闻网页内容的方法、装置及存储介质 | |
US11714953B2 (en) | Facilitating dynamic document layout by determining reading order using document content stream cues | |
CN109815243B (zh) | 一种文档界面化修改时的结构化存储方法和装置 | |
CN104899203B (zh) | 一种网页页面的生成方法、装置及终端设备 | |
CN109542299B (zh) | 用于电子书的金句展示方法、电子设备及计算机存储介质 | |
CN112558969A (zh) | 一种网页表单生成方法、装置、设备及介质 | |
CN112287264A (zh) | 一种网页布局方法、装置、电子设备及存储介质 | |
US9594737B2 (en) | Natural language-aided hypertext document authoring | |
CN110378566B (zh) | 信息核对方法、设备、存储介质及装置 | |
US11514241B2 (en) | Method, apparatus, and computer-readable medium for transforming a hierarchical document object model to filter non-rendered elements | |
CN106156095B (zh) | 加载页面中的插件的方法和装置 | |
CN112148869A (zh) | 文本参考信息生成方法、装置、电子设备及存储介质 | |
EP3264282A1 (en) | Method and apparatus for searching cartoon | |
CN112181240B (zh) | 一种信息展示方法及装置 | |
CN112417351B (zh) | 用户视觉轨迹的确定方法、装置、计算机设备及存储介质 | |
CN111125590A (zh) | 一种绘制热力图的方法及装置 | |
EP3942452B1 (en) | Cross-browser techniques for efficient document pagination | |
CN116976286B (zh) | 用于进行文本布局的方法及装置、电子设备、存储介质 | |
US10565084B2 (en) | Detecting transitions |
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 |