分页处理的方法、装置、电子设备及计算机可读存储介质制造方法及图纸

技术编号:28624299 阅读:22 留言:0更新日期:2021-05-28 16:20
本申请涉及一种分页处理的方法、装置、电子设备及计算机可读存储介质,其包括当检测到用户针对富文本编辑器的执行事务时,获取事务类型和事务状态,用户针对富文本编辑器的执行事务包括:用户通过富文本编辑器输入文档内容,和/或,用户通过富文本编辑器调整显示样式,然后基于事务类型和事务状态确定是否满足分页条件,若满足分页条件,则根据获取到的文档页面的属性信息、事务类型和事务状态,执行分页处理。本申请中,当检测到文档满足分页条件时,根据文档页面的属性信息、事务类型和事务状态,从而可以实现对文档进行分页处理。

【技术实现步骤摘要】
分页处理的方法、装置、电子设备及计算机可读存储介质
本申请涉及计算机的
,尤其是涉及一种分页处理的方法、装置、电子设备及计算机可读存储介质。
技术介绍
富文本编辑器为一种常见的基于浏览器的文档生成方式,不同于文本编辑器,程序员可到网上下载免费的富文本编辑器内嵌于自己的网站或程序里,方便用户编辑文章或信息。为了提高文档的阅读和编辑体验,基于浏览器的富文本文档编辑器需要对实时输入和发生样式改变的文档结构进行页面布局及分页显示处理。用户可以设定文档的页面大小、边距、方向等属性,同时随时改变文档内容的字体、字号、字间距、行间距、段前段后距离、缩进等设置,这些设置会实时影响文档在浏览器中的展示空间,这就需要富文本编辑器具备实时分页处理的能力,满足用户对浏览器中文档的渲染结果的分页阅读和编辑要求。因此,富文本编辑器如何对文档进行分页处理成为一个关键问题。
技术实现思路
本申请目的一是提供一种分页处理的方法、装置、电子设备及计算机可读存储介质,用于解决以上至少一项技术问题。本申请的上述目的一是通过以下至少一种技术方案得以实现的:第一方面,提供了一种分页处理的方法,包括:当检测到用户针对富文本编辑器的执行事务时,获取事务类型和事务状态,所述用户针对富文本编辑器的执行事务包括:用户通过所述富文本编辑器输入文档内容,或者用户通过富文本编辑器调整显示样式;基于所述事务类型和事务状态确定是否满足分页条件;若满足分页条件,则根据获取到的文档页面的属性信息、所述事务类型和所述事务状态,执行分页处理。在一种可能的实现方式中,根据获取到的文档页面的属性信息、所述事务类型和所述事务状态,执行分页处理,包括:根据所述事务类型和所述事务状态,确定当前事务是否满足第一预设条件;若所述当前事务满足所述第一预设条件,则返回当前操作位置,并根据当前操作位置执行合并算法;所述第一预设条件包括:当前事务在删除被拆分后的同一节点的内容。在另一种可能的实现方式中,所述根据所述事务类型和所述事务状态,确定当前事务是否满足第一预设条件,之后还包括:若所述当前事务不满足所述第一预设条件,则遍历当前文档中所有分页节点,并根据确定出的分页单元高度阈值,确定分页单元内容所占高度与分页单元高度阈值满足第二预设条件的页面;返回所述满足第二预设条件的页面对应的页面起始位置;根据所述页面起始位置执行合并算法;其中,第二预设条件包括:分页单元内容所占高度大于所述分页单元高度阈值,或者,分页单元内容所占小于所述分页单元高度阈值;所述分页单元高度阈值为分页单元实际可填充内容的高度。在另一种可能的实现方式中,确定所述分页单元高度阈值的方式,包括:根据文档页面属性信息确定所述分页单元高度阈值;所述文档页面属性信息包括以下至少一项:页面大小、页边距、页眉高度、页脚高度。在另一种可能的实现方式中,所述根据所述事务类型和所述事务状态,确定当前事务是否满足第一预设条件,包括:确定所述当前事务和上一个事务是否在删除当前页面最后一个节点的内容,以及,根据所述当前页面最后一个节点的内容和下一页中起始位置节点的内容,确定是否为同一节点,以确定当前事务是否满足所述第一预设条件。在另一种可能的实现方式中,所述根据当前操作位置执行合并算法,包括:将所述当前操作位置校准为当前操作位置页面的页面起始位置;根据所述当前操作位置页面的页面起始位置执行合并算法。在另一种可能的实现方式中,根据页面起始位置执行合并算法,包括:获取该页面起始位置后的页面节点的末尾位置;确定每两个相邻的页面节点之间的合并位置信息;基于所述合并位置信息以及对应的合并深度,执行合并算法。在另一种可能的实现方式中,若所述该页面起始位置后的页面节点的末尾位置多于两个,则确定每两个相邻的页面节点之间的合并位置信息,包括:获取前两个相邻页面节点的合并位置信息,所述前两个页面节点为所述该页面起始位置后的页面节点的末尾位置分别对应的页面节点。在另一种可能的实现方式中,所述基于所述合并位置信息以及对应的合并深度,执行合并算法,之后还包括:若合并后的位置处于表格单元格内,则对拆分的单元格进行合并处理;若合并后的位置不处于表格单元格内,则确定拆分位置以及拆分深度,并执行拆分处理。在另一种可能的实现方式中,所述执行拆分处理,包括:确定所述拆分位置是否处于表格单元格中;若所述拆分位置不处于表格单元格中,则根据拆分位置、拆分深度以及拆分位置节点属性,执行拆分处理;若所述拆分位置处于表格单元格中,则拆分存在内容超出的表格行。在另一种可能的实现方式中,所述对拆分的单元格进行合并处理,包括:若存在两行中相同列的单元格分别对应的标识相同且两行中的单元格数量相同,则对所述两行进行合并处理。在另一种可能的实现方式中,所述确定拆分位置以及拆分深度,包括:根据合并后的位置,确定所述合并后的位置所对应的页面节点起始位置;若所述页面节点起始位置不属于超出页面内容长度的位置,则基于所述页面节点起始位置确定所在的页面内容区域起始位置;基于所述页面内容区域起始位置,并通过遍历DOM节点以及每个节点的节点长度,确定当前位置节点DOM对象和位置偏移量;通过所述当前位置节点DOM对象和位置偏移量,并利用getClientRects和getBoundingClientRect确定节点所占浏览器视窗矩形位置区域参数,所述参数包括:上坐标TOP和Left;根据所述上坐标TOP和Left以及所述分页单元高度阈值,确定当前页面节点末尾位置的位置坐标TOP和Left;根据所述当前页面末尾位置的位置坐标TOP和Left,递归遍历文档中的所有节点,确定所述前页面节点末尾位置的位置坐标TOP和Left所对应的节点DOM对象和偏移量;根据所述对应的节点DOM对象和偏移量,遍历文档中各个节点,并通过节点长度类型,确定各个节点在文档中的位置信息以及父节点的开始位置信息;对所述各个节点在文档中的位置信息以及所述父节点的开始位置信息进行至少两次的校准操作,得到所述拆分位置以及所述拆分深度。在另一种可能的实现方式中,所述执行拆分处理,包括:若所述拆分位置位于表格中,且存在待拆分的单元格,则遍历所述待拆分的单元格,获取待拆分的单元格节点信息,并基于所述待拆分的单元格节点信息进行拆分处理;若所述拆分位置不位于表格中,则根据所述拆分位置和所述拆分深度,拆分当前页节点。第二方面,提供了一种分页处理的装置,包括:获取模块,用于当检测到用户针对富文本编辑器的执行事务时,获取事务类型和事务状态,所述用户针对富文本编辑器的执行事务包括:用户通过所述富文本编辑器输入文档内容,或者用户通过富文本编辑器调整显示样式;...

【技术保护点】
1.一种分页处理的方法,其特征在于,包括:/n当检测到用户针对富文本编辑器的执行事务时,获取事务类型和事务状态,所述用户针对富文本编辑器的执行事务包括:用户通过所述富文本编辑器输入文档内容,或者用户通过富文本编辑器调整显示样式;/n基于所述事务类型和事务状态确定是否满足分页条件;/n若满足分页条件,则根据获取到的文档页面的属性信息、所述事务类型和所述事务状态,执行分页处理。/n

【技术特征摘要】
1.一种分页处理的方法,其特征在于,包括:
当检测到用户针对富文本编辑器的执行事务时,获取事务类型和事务状态,所述用户针对富文本编辑器的执行事务包括:用户通过所述富文本编辑器输入文档内容,或者用户通过富文本编辑器调整显示样式;
基于所述事务类型和事务状态确定是否满足分页条件;
若满足分页条件,则根据获取到的文档页面的属性信息、所述事务类型和所述事务状态,执行分页处理。


2.根据权利要求1所述的方法,其特征在于,根据获取到的文档页面的属性信息、所述事务类型和所述事务状态,执行分页处理,包括:
根据所述事务类型和所述事务状态,确定当前事务是否满足第一预设条件;
若所述当前事务满足所述第一预设条件,则返回当前操作位置,并根据当前操作位置执行合并算法;
所述第一预设条件包括:当前事务在删除被拆分后的同一节点的内容;
其中,所述根据所述事务类型和所述事务状态,确定当前事务是否满足第一预设条件,之后还包括:
若所述当前事务不满足所述第一预设条件,则遍历当前文档中所有分页节点,并根据确定出的分页单元高度阈值,确定分页单元内容所占高度与分页单元高度阈值满足第二预设条件的页面;
返回所述满足第二预设条件的页面对应的页面起始位置;
根据所述页面起始位置执行合并算法;
其中,第二预设条件包括:分页单元内容所占高度大于所述分页单元高度阈值,或者,分页单元内容所占小于所述分页单元高度阈值;
所述分页单元高度阈值为分页单元实际可填充内容的高度;
其中,确定所述分页单元高度阈值的方式,包括:
根据所述文档页面的属性信息确定所述分页单元高度阈值;
所述文档页面属性信息包括以下至少一项:
页面大小、页边距、页眉高度、页脚高度。


3.根据权利要求2所述的方法,其特征在于,所述根据所述事务类型和所述事务状态,确定当前事务是否满足第一预设条件,包括:
确定所述当前事务和上一个事务是否在删除当前页面最后一个节点的内容,以及,
根据所述当前页面最后一个节点的内容和下一页中起始位置节点的内容,确定是否为同一节点,以确定当前事务是否满足所述第一预设条件其中,所述根据当前操作位置执行合并算法,包括:
将所述当前操作位置校准为当前操作位置页面的页面起始位置;
根据所述当前操作位置页面的页面起始位置执行合并算法。


4.根据权利要求2或3所述的方法,其特征在于,根据页面起始位置执行合并算法,包括:
获取该页面起始位置后的页面节点的末尾位置;
确定每两个相邻的页面节点之间的合并位置信息;
基于所述合并位置信息以及对应的合并深度,执行合并算法。


5.根据权利要求4所述的方法,其特征在于,若所述该页面起始位置后的页面节点的末尾位置多于两个,
则确定每两个相邻的页面节点之间的合并位置信息,包括:
获取前两个相邻页面节点的合并位置信息,所述前两个页面节点为所述该页面起...

【专利技术属性】
技术研发人员:李雄雄孙长龙焦云亮李文娟李文龙侯尚功吕文军
申请(专利权)人:北京尚医智信健康管理有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1