CN117688917A - 版式文档中表格的编辑方法、装置、电子设备及存储介质 - Google Patents
版式文档中表格的编辑方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117688917A CN117688917A CN202311701808.8A CN202311701808A CN117688917A CN 117688917 A CN117688917 A CN 117688917A CN 202311701808 A CN202311701808 A CN 202311701808A CN 117688917 A CN117688917 A CN 117688917A
- Authority
- CN
- China
- Prior art keywords
- target cell
- cell object
- target
- editing
- layout document
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000003860 storage Methods 0.000 title claims abstract description 9
- 230000000694 effects Effects 0.000 claims description 41
- 230000001960 triggered effect Effects 0.000 claims description 17
- 238000003780 insertion Methods 0.000 claims description 10
- 230000037431 insertion Effects 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 14
- 230000008707 rearrangement Effects 0.000 description 9
- 238000009877 rendering Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000005520 cutting process Methods 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000004040 coloring Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本申请涉及一种版本文档中表格的编辑方法、装置、电子设备及存储介质,所述方法包括:识别出版式文档中包含的表格内容;根据所述表格内容构建表格对象,其中,所述表格对象包括至少一个单元格对象,每个所述单元格对象对应所述表格内容中的一个单元格,且关联所述单元格中的多个版式文档元素;响应于针对所述表格内容的编辑操作,确定待编辑的目标单元格对象,根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素。由此可以实现直接在版式文档中对表格进行编辑。
Description
技术领域
本申请涉及文档处理领域,尤其涉及一种版式文档中表格的编辑方法、装置、电子设备及存储介质。
背景技术
版式文档格式是指版面呈现效果固定的电子文档格式,如.pdf、.ofd等文档格式。版式文档的呈现效果与设备无关,使得版式文档在各种设备上阅读、打印或印刷时,其版面的呈现结果都是一致的。因此,版式文档主要应用于成文后文件的发布、传播和存档等场景。
在应用中,表格也常见于版式文档中,然而,与word、excle等格式的文档不同的是,word、excle等格式的文档中的表格是一种真实存在的数据组织结构,而版式文档中的表格仅仅是一种虚拟的结构,在版式文档中是通过将表格线元素、文本元素以及其他元素(如图片元素、背景元素等)在版式页面上进行排版从而呈现出表格的样式。
正由于版式文档中的表格仅仅是一种虚拟的结构,因此,无法将现有技术中对word、excle等格式的文档中的表格进行编辑的方法复用在版式文档的表格编辑中。
发明内容
本申请提供了一种版式文档中表格的编辑方法、装置、电子设备及存储介质,以解决现有技术中无法直接在版式文档中进行表格编辑的技术问题。
第一方面,本申请提供了一种版本文档中表格的编辑方法,所述方法包括:
识别出版式文档中包含的表格内容;
根据所述表格内容构建表格对象,其中,所述表格对象包括至少一个单元格对象,每个所述单元格对象对应所述表格内容中的一个单元格,且关联所述单元格中的多个版式文档元素;
响应于针对所述表格内容的编辑操作,确定待编辑的目标单元格对象,根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素。
在一可能的实施方式中,所述编辑操作为表格移动操作;所述确定待编辑的目标单元格对象,包括:
将每个所述单元格对象均确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述表格移动操作确定所述表格内容的目标偏移方向和目标偏移量;
根据所述目标偏移方向和所述目标偏移量修改所述目标单元格对象的外接矩形框在所述版本文档中的坐标信息,以及修改所述目标单元格关联的每个所述版式文档元素的外接矩形框在所述版式文档中的坐标信息。
在一可能的实施方式中,所述编辑操作为表格删除操作;所述确定待编辑的目标单元格对象,包括:
将每个所述单元格对象均确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述表格删除操作删除所述目标单元格对象以及所述目标单元格对象关联的每个所述版式文档元素。
在一可能的实施方式中,所述编辑操作为表格缩放操作;所述确定待编辑的目标单元格对象,包括:
将每个所述单元格对象均确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述表格缩放操作确定所述表格内容在第一方向上的第一缩放比例和第二方向上的第二缩放比例;
根据所述第一缩放比例和所述第二缩放比例修改所述目标单元格对象的外接矩形框在所述版式文档中的坐标信息和尺寸;
将所述目标单元格对象关联的每个所述版式文档元素在所述目标单元格对象的外接矩形框范围内进行重新排版。
在一可能的实施方式中,所述编辑操作为插入行操作;所述确定待编辑的目标单元格对象,包括:
将所述插入行操作在所述表格内容中触发的行确定为基准行;
将所述基准行以及所述基准行之后的所有行中的单元格对象确定为待编辑的目标单元格对象;或者,将所述基准行之后的所有行中的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据待插入的行数n以及所述基准行的行高增大所述目标单元格对象的外接矩形框在所述版式文档中的第二方向上的坐标信息,以及增大所述目标单元格关联的每个所述版式文档元素的外接矩形框在所述版式文档中的第二方向上的坐标信息;
所述方法还包括:
根据所述插入行操作创建n个行容器,其中,所述行容器中包括m个单元格对象,所述m为所述基准行中的列数;
将所述n个行容器插入至所述基准行的上方或下方。
在一可能的实施方式中,所述编辑操作为插入列操作;所述确定待编辑的目标单元格对象,包括:
将所述插入列操作在所述表格内容中触发的列确定为基准列;
将所述基准列以及所述基准列右侧的所有列中的单元格对象确定为待编辑的目标单元格对象,或者,将所述基准列右侧的所有列中的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据待插入的列数s以及所述基准列的列宽增大所述目标单元格对象的外接矩形框在所述版式文档中的第一方向上的坐标信息,以及增大所述目标单元格关联的每个所述版式文档元素的外接矩形框在所述版式文档中第一方向上的坐标信息;
所述方法还包括:
根据所述插入行操作创建s个列容器,其中,所述列容器中包括t个单元格对象,所述t为所述基准列中的行数;
将所述s个列容器插入至所述基准列的左侧或右侧。
在一可能的实施方式中,所述编辑操作为删除行操作,所述确定待编辑的目标单元格对象,包括:
将所述删除行操作所选中的行确定为待删除的目标行;
将所述目标行中的单元格对象,以及所述目标行之后的所有行中的单元格对象均确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述删除行操作删除第一目标单元格对象以及所述第一目标单元格对象关联的每个所述版式文档元素,其中,所述第一目标单元格对象为所述目标行中的目标单元格对象。
根据所述目标行的行高之和减小第二目标单元格对象的外接矩形框在所述版式文档中的第二方向上的坐标信息,以及减小所述第二目标单元格对象关联的每个所述版式文档元素的外接矩形框在所述版式文档中的第二方向上的坐标信息,其中,所述第二目标单元格对象为所述目标行之后的所有行中的目标单元格对象。
在一可能的实施方式中,所述编辑操作为删除列操作,所述确定待编辑的目标单元格对象,包括:
将所述删除列操作所选中的列确定为待删除的目标列;
将所述目标列中的单元格对象,以及所述目标列右侧的所有列中的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述删除列操作删除第三目标单元格对象以及所述第三目标单元格对象关联的每个所述版式文档元素,其中,所述第三目标单元格对象为所述目标列中的目标单元格对象。
根据所述目标列的列宽之和减小第四目标单元格对象的外接矩形框在所述版式文档中的第一方向上的坐标信息,以及减小所述第四目标单元格对象关联的每个所述版式文档元素的外接矩形框在所述版式文档中的第一方向上的坐标信息,其中,所述第四目标单元格对象为所述目标列右侧的所有列中的目标单元格对象。
在一可能的实施方式中,所述编辑操作为调整行高操作,所述确定待编辑的目标单元格对象,包括:
将所述调整行高操作所选中的行确定为待调整的目标行;
将所述目标行中的单元格对象,以及所述目标行下方的所有行中的单元格对象确定为目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述调整行高操作修改第五目标单元格对象的外接矩形框的高度,以及修改所述第五目标单元格对象关联的边框元素的外接矩形框,其中,所述第五目标单元格对象为所述目标行中的目标单元格对象;
根据所述调整行高操作修改第六目标单元格对象的外接矩形框在所述版式文档中第二方向上的坐标信息,以及修改所述第六目标单元格对象关联的每个版式文档元素的外接矩形框在所述版式文档中第二方向上的坐标信息,其中,所述第六目标单元格对象为所述目标行之后的所有行中的目标单元格对象;
将所述第五目标单元格对象关联的至少一个所述版式文档元素在所述第五目标单元格对象的外接矩形框范围内进行重新排版。
在一可能的实施方式中,所述编辑操作为调整列宽操作,所述确定待编辑的目标单元格对象,包括:
将所述调整列宽操作所选中的列确定为待调整的目标列;
将所述目标列中的单元格对象,以及所述目标列右侧的所有列中的单元格对象确定为目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述调整列宽操作修改第七目标单元格对象的外接矩形框的宽度,以及修改所述第七目标单元格对象关联的边框元素的外接矩形框,其中,所述第七目标单元格对象为所述目标列中的目标单元格对象;
根据所述调整列宽操作修改第八目标单元格对象的外接矩形框在所述版式文档中第一方向上的坐标信息,以及修改所述第八目标单元格对象关联的每个版式文档元素的外接矩形框在所述版式文档中第一方向上的坐标信息,其中,所述第八目标单元格对象为所述目标列右侧的所有列中的目标单元格对象;
将所述第七目标单元格对象关联的至少一个所述版式文档元素在所述第七目标单元格对象的外接矩形框范围内进行重新排版。
在一可能的实施方式中,所述编辑操作为设置单元格背景操作,所述确定待编辑的目标单元格对象,包括:
将所述设置单元格背景操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述设置单元格背景操作创建背景元素,其中,所述背景元素的外接矩形框的尺寸与所述目标单元格对象的外接矩形框的尺寸相同,且所述背景元素以设定颜色填充;
将所述背景元素与所述目标单元格对象关联,并将所述背景元素置于所述目标单元格对象关联的其他版式文档元素的底层。
在一可能的实施方式中,所述编辑操作为选中单元格操作,所述确定待编辑的目标单元格对象,包括:
将所述选中单元格操作所触发的单元格对应的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述选中单元格操作创建选中效果元素,其中,所述选中效果元素的外接矩形框与所述目标单元格对象的外接矩形框重叠,或者所述选中效果元素的外接矩形框嵌套所述目标单元格对象的外接矩形框;
将所述选中效果元素与所述目标单元格对象关联。
在一可能的实施方式中,所述编辑操作为设置单元格对齐方式操作,所述确定待编辑的目标单元格对象,包括:
将所述设置单元格对齐方式操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述设置单元格对齐方式操作,将所述目标单元格对象关联的至少一个版式文档元素在所述目标单元格的外接矩形框范围内进行排版。
在一可能的实施方式中,所述编辑操作为清空单元格内容操作,所述确定待编辑的目标单元格对象,包括:
将所述清空单元格内容操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述清空单元格内容操作删除所述目标单元格对象关联的、除边框元素以外的其他版式文档元素。
在一可能的实施方式中,所述编辑操作为插入单元格内容操作,所述确定待编辑的目标单元格对象,包括:
将所述插入单元格内容操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述插入单元格内容操作创建相应的内容元素;
将所述内容元素与所述目标单元格对象关联,并将所述内容元素在所述目标单元格的外接矩形框范围内进行排版。
在一可能的实施方式中,所述编辑操作为表格复制粘贴操作,所述确定待编辑的目标单元格对象,包括:
将所述表格复制粘贴操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述表格复制粘贴操作,为所述目标单元格对象及其关联的每个所述版式文档元素创建对应的副本;
将所述目标单元格对象的副本以及关联的每个所述版式文档元素的副本写入所述表格复制粘贴操作所对应的目标位置处。
在一可能的实施方式中,所述编辑操作为表格剪切粘贴操作,所述确定待编辑的目标单元格对象,包括:
将所述表格剪切粘贴操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述表格剪切粘贴操作,为所述目标单元格对象及其关联的每个所述版式文档元素创建对应的副本,并删除所述目标单元格对象以及所述目标单元格对象关联的每个所述版式文档元素;
将所述目标单元格对象的副本以及关联的每个所述版式文档元素的副本写入所述表格剪切粘贴操作所对应的目标位置处。
在一可能的实施方式中,所述根据所述表格内容构建表格对象,包括:
将所述表格内容中的每个表格线元素分别向端点两侧延伸,得到每两个相交的表格线元素的交点;
根据多个所述交点确定所述表格内容中每个单元格的边框元素集合;
针对每个所述单元格执行以下处理:
针对所述单元格创建单元格对象;
将所述边框元素集合,以及所述表格内容中外接矩形框落入所述单元格对象的外接矩形框范围内的版式文档元素与所述单元格对象进行关联。
在一可能的实施方式中,所述根据多个所述交点确定所述表格内容中每个单元格的边框元素集合,包括:
根据每相邻的两个所述交点创建一个边框元素;
将落在同一个单元格对象的外接矩形框上的边框元素归入所述单元格对象所对应单元格的边框元素集合;
将未被归入任一所述边框元素集合的所述边框元素的显示属性设置为隐式显示。
第二方面,本申请提供了一种版本文档中表格的编辑装置,所述装置包括:
表格识别模块,用于识别出版式文档中包含的表格内容;
表格对象构建模块,用于根据所述表格内容构建表格对象,其中,所述表格对象包括多个单元格对象,每个所述单元格对象对应所述表格内容中的一个单元格,且关联所述单元格中的多个版式文档元素;
表格编辑模块,用于响应于针对所述表格内容的编辑操作,确定待编辑的目标单元格对象,根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素。
在一可能的实施方式中,所述编辑操作为表格移动操作;所述表格编辑模块,包括:
目标单元格对象确定单元,用于将每个所述单元格对象均确定为待编辑的目标单元格对象;
第一编辑参数确定单元,用于根据所述表格移动操作确定所述表格内容的目标偏移方向和目标偏移量;
第一编辑单元,用于根据所述目标偏移方向和所述目标偏移量修改所述目标单元格对象的外接矩形框在所述版本文档中的坐标信息,以及修改所述目标单元格关联的每个所述版式文档元素的外接矩形框在所述版式文档中的坐标信息。
在一可能的实施方式中,所述编辑操作为表格删除操作;所述表格编辑模块,包括:
目标单元格对象确定单元,用于将每个所述单元格对象均确定为待编辑的目标单元格对象;
第二编辑单元,用于根据所述表格删除操作删除所述目标单元格对象以及所述目标单元格对象关联的每个所述版式文档元素。
在一可能的实施方式中,所述编辑操作为表格缩放操作;所述表格编辑模块,包括:
目标单元格对象确定单元,用于将每个所述单元格对象均确定为待编辑的目标单元格对象;
第三编辑参数确定单元,用于根据所述表格缩放操作确定所述表格内容在第一方向上的第一缩放比例和第二方向上的第二缩放比例;根据所述第一缩放比例和所述第二缩放比例修改所述目标单元格对象的外接矩形框在所述版式文档中的坐标信息和尺寸;
第三编辑单元,用于将所述目标单元格对象关联的每个所述版式文档元素在所述目标单元格对象的外接矩形框范围内进行重新排版。
在一可能的实施方式中,所述编辑操作为插入行操作;所述表格编辑模块,包括:
目标单元格对象确定单元,用于将所述插入行操作在所述表格内容中触发的行确定为基准行;将所述基准行以及所述基准行之后的所有行中的单元格对象确定为待编辑的目标单元格对象;或者,将所述基准行之后的所有行中的单元格对象确定为待编辑的目标单元格对象;
第四编辑参数确定单元,用于根据待插入的行数n以及所述基准行的行高增大所述目标单元格对象的外接矩形框在所述版式文档中的第二方向上的坐标信息,以及增大所述目标单元格关联的每个所述版式文档元素的外接矩形框在所述版式文档中的第二方向上的坐标信息;
第四编辑单元,用于根据所述插入行操作创建n个行容器,其中,所述行容器中包括m个单元格对象,所述m为所述基准行中的列数;
将所述n个行容器插入至所述基准行的上方或下方。
在一可能的实施方式中,所述编辑操作为插入列操作;所述表格编辑模块,包括:
目标单元格对象确定单元,用于将所述插入列操作在所述表格内容中触发的列确定为基准列;将所述基准列以及所述基准列右侧的所有列中的单元格对象确定为待编辑的目标单元格对象,或者,将所述基准列右侧的所有列中的单元格对象确定为待编辑的目标单元格对象;
第五编辑参数确定单元,用于根据待插入的列数s以及所述基准列的列宽增大所述目标单元格对象的外接矩形框在所述版式文档中的第一方向上的坐标信息,以及增大所述目标单元格关联的每个所述版式文档元素的外接矩形框在所述版式文档中第一方向上的坐标信息;
第五编辑单元,用于根据所述插入行操作创建s个列容器,其中,所述列容器中包括t个单元格对象,所述t为所述基准列中的行数;
将所述s个列容器插入至所述基准列的左侧或右侧。
在一可能的实施方式中,所述编辑操作为删除行操作,所述表格编辑模块,包括:
目标单元格对象确定单元,用于将所述删除行操作所选中的行确定为待删除的目标行;将所述目标行中的单元格对象,以及所述目标行之后的所有行中的单元格对象均确定为待编辑的目标单元格对象;
第六编辑单元,用于根据所述删除行操作删除第一目标单元格对象以及所述第一目标单元格对象关联的每个所述版式文档元素,其中,所述第一目标单元格对象为所述目标行中的目标单元格对象;
根据所述目标行的行高之和减小第二目标单元格对象的外接矩形框在所述版式文档中的第二方向上的坐标信息,以及减小所述第二目标单元格对象关联的每个所述版式文档元素的外接矩形框在所述版式文档中的第二方向上的坐标信息,其中,所述第二目标单元格对象为所述目标行之后的所有行中的目标单元格对象。
在一可能的实施方式中,所述编辑操作为删除列操作,所述表格编辑模块,包括:
目标单元格对象确定单元,用于将所述删除列操作所选中的列确定为待删除的目标列;将所述目标列中的单元格对象,以及所述目标列右侧的所有列中的单元格对象确定为待编辑的目标单元格对象;
第七编辑单元,用于根据所述删除列操作删除第三目标单元格对象以及所述第三目标单元格对象关联的每个所述版式文档元素,其中,所述第三目标单元格对象为所述目标列中的目标单元格对象;
根据所述目标列的列宽之和减小第四目标单元格对象的外接矩形框在所述版式文档中的第一方向上的坐标信息,以及减小所述第四目标单元格对象关联的每个所述版式文档元素的外接矩形框在所述版式文档中的第一方向上的坐标信息,其中,所述第四目标单元格对象为所述目标列右侧的所有列中的目标单元格对象。
在一可能的实施方式中,所述编辑操作为调整行高操作,所述表格编辑模块,包括:
目标单元格对象确定单元,用于将所述调整行高操作所选中的行确定为待调整的目标行;将所述目标行中的单元格对象,以及所述目标行下方的所有行中的单元格对象确定为目标单元格对象;
第八编辑单元,用于根据所述调整行高操作修改第五目标单元格对象的外接矩形框的高度,以及修改所述第五目标单元格对象关联的边框元素的外接矩形框,其中,所述第五目标单元格对象为所述目标行中的目标单元格对象;
根据所述调整行高操作修改第六目标单元格对象的外接矩形框在所述版式文档中第二方向上的坐标信息,以及修改所述第六目标单元格对象关联的每个版式文档元素的外接矩形框在所述版式文档中第二方向上的坐标信息,其中,所述第六目标单元格对象为所述目标行之后的所有行中的目标单元格对象;
将所述第五目标单元格对象关联的至少一个所述版式文档元素在所述第五目标单元格对象的外接矩形框范围内进行重新排版。
在一可能的实施方式中,所述编辑操作为调整列宽操作,所述表格编辑模块,包括:
目标单元格对象确定单元,用于将所述调整列宽操作所选中的列确定为待调整的目标列;将所述目标列中的单元格对象,以及所述目标列右侧的所有列中的单元格对象确定为目标单元格对象;
第九编辑单元,用于根据所述调整列宽操作修改第七目标单元格对象的外接矩形框的宽度,以及修改所述第七目标单元格对象关联的边框元素的外接矩形框,其中,所述第七目标单元格对象为所述目标列中的目标单元格对象;
根据所述调整列宽操作修改第八目标单元格对象的外接矩形框在所述版式文档中第一方向上的坐标信息,以及修改所述第八目标单元格对象关联的每个版式文档元素的外接矩形框在所述版式文档中第一方向上的坐标信息,其中,所述第八目标单元格对象为所述目标列右侧的所有列中的目标单元格对象;
将所述第七目标单元格对象关联的至少一个所述版式文档元素在所述第七目标单元格对象的外接矩形框范围内进行重新排版。
在一可能的实施方式中,所述编辑操作为设置单元格背景操作,所述表格编辑模块,包括:
目标单元格对象确定单元,用于将所述设置单元格背景操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
第十编辑单元,用于根据所述设置单元格背景操作创建背景元素,其中,所述背景元素的外接矩形框的尺寸与所述目标单元格对象的外接矩形框的尺寸相同,且所述背景元素以设定颜色填充;
将所述背景元素与所述目标单元格对象关联,并将所述背景元素置于所述目标单元格对象关联的其他版式文档元素的底层。
在一可能的实施方式中,所述编辑操作为选中单元格操作,所述表格编辑模块,包括:
目标单元格对象确定单元,用于将所述选中单元格操作所触发的单元格对应的单元格对象确定为待编辑的目标单元格对象;
第十一编辑单元,用于根据所述选中单元格操作创建选中效果元素,其中,所述选中效果元素的外接矩形框与所述目标单元格对象的外接矩形框重叠,或者所述选中效果元素的外接矩形框嵌套所述目标单元格对象的外接矩形框;
将所述选中效果元素与所述目标单元格对象关联。
在一可能的实施方式中,所述编辑操作为设置单元格对齐方式操作,所述表格编辑模块,包括:
目标单元格对象确定单元,用于将所述设置单元格对齐方式操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
第十二编辑单元,用于根据所述设置单元格对齐方式操作,将所述目标单元格对象关联的至少一个版式文档元素在所述目标单元格的外接矩形框范围内进行排版。
在一可能的实施方式中,所述编辑操作为清空单元格内容操作,所述表格编辑模块,包括:
目标单元格对象确定单元,用于将所述清空单元格内容操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
第十三编辑单元,用于根据所述清空单元格内容操作删除所述目标单元格对象关联的、除边框元素以外的其他版式文档元素。
在一可能的实施方式中,所述编辑操作为插入单元格内容操作,所述表格编辑模块,包括:
目标单元格对象确定单元,用于将所述插入单元格内容操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
第十四编辑单元,用于根据所述插入单元格内容操作创建相应的内容元素;
将所述内容元素与所述目标单元格对象关联,并将所述内容元素在所述目标单元格的外接矩形框范围内进行排版。
在一可能的实施方式中,所述编辑操作为表格复制粘贴操作,所述表格编辑模块,包括:
目标单元格对象确定单元,用于将所述表格复制粘贴操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
第十五编辑单元,用于根据所述表格复制粘贴操作,为所述目标单元格对象及其关联的每个所述版式文档元素创建对应的副本;
将所述目标单元格对象的副本以及关联的每个所述版式文档元素的副本写入所述表格复制粘贴操作所对应的目标位置处。
在一可能的实施方式中,所述编辑操作为表格剪切粘贴操作,所述表格编辑模块,包括:
目标单元格对象确定单元,用于将所述表格剪切粘贴操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
第十六编辑单元,用于根据所述表格剪切粘贴操作,为所述目标单元格对象及其关联的每个所述版式文档元素创建对应的副本,并删除所述目标单元格对象以及所述目标单元格对象关联的每个所述版式文档元素;
将所述目标单元格对象的副本以及关联的每个所述版式文档元素的副本写入所述表格剪切粘贴操作所对应的目标位置处。
在一可能的实施方式中,所述表格对象构建模块,包括:
边框元素构建单元,用于将所述表格内容中的每个表格线元素分别向端点两侧延伸,得到每两个相交的表格线元素的交点;根据多个所述交点确定所述表格内容中每个单元格的边框元素集合;
单元格对象创建单元,用于针对每个所述单元格执行以下处理:针对所述单元格创建单元格对象;
封装单元,用于将所述边框元素集合,以及所述表格内容中外接矩形框落入所述单元格对象的外接矩形框范围内的版式文档元素与所述单元格对象进行关联。
在一可能的实施方式中,所述边框元素构建单元,具体用于:
根据每相邻的两个所述交点创建一个边框元素;
将落在同一个单元格对象的外接矩形框上的边框元素归入所述单元格对象所对应单元格的边框元素集合;
将未被归入任一所述边框元素集合的所述边框元素的显示属性设置为隐式显示。
第三方面,本申请提供了一种电子设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的版本文档中表格的编辑程序,以实现第一方面中任一项所述的版本文档中表格的编辑方法。
第四方面,本申请提供了一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面中任一项所述的版本文档中表格的编辑方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,通过识别出版式文档中包含的表格内容,根据表格内容构建表格对象,其中,表格对象包括至少一个单元格对象,每个单元格对象对应表格内容中的一个单元格,且关联单元格中的多个版式文档元素,响应于针对表格内容的编辑操作,确定待编辑的目标单元格对象,根据编辑操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素,实现了将版式文档中的表格内容转换成一个表格对象,进而将对版式文档中表格内容的编辑操作转换成对表格对象中单元格对象所关联的版式文档元素的编辑操作,从而实现了对版式文档中的表格内容进行编辑。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本申请实施例提供的一种版本文档中表格的编辑方法的实施例流程图;
图2为版式文档中表格内容的一种示例;
图3为本申请实施例提供的另一种版本文档中表格的编辑方法的实施例流程图;
图4和图5为重建表格线过程的示例图;
图6为根据表格缩放操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素的实施例流程图;
图7为根据插入行操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素的实施例流程图;
图8为根据插入列操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素的实施例流程图;
图9为根据调整行高操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素的实施例流程图;
图10为根据调整列宽操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素的实施例流程图;
图11为根据设置单元格背景操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素的实施例流程图;
图12为本申请实施例提供的一种版本文档中表格的编辑装置的实施例框图;
图13为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。
为了解决现有技术中无法直接在版式文档中进行表格编辑的技术问题,本申请提供了一种版式文档中表格的编辑方法,能实现直接在版式文档进行表格编辑。
图1为本申请实施例提供的一种版本文档中表格的编辑方法的实施例流程图。如图1所示,该方法包括以下步骤:
步骤101、识别出版式文档中包含的表格内容。
参见图2,为版式文档中表格内容的一种示例。
在版式文档中,表格仅仅是一种虚拟的结构,实际上是通过将表格线元素、文本元素以及其他元素(如图片元素、背景元素等)在版式页面上进行排版从而呈现出表格的样式。
在一实施例中,识别出版式文档中包含的表格内容的具体实现包括:识别出版式文档中的表格线元素,然后获取包含所有表格线元素的最小矩形框,将版式文档中位于该最小矩形框区域中的所有元素确定为表格内容。由此可见,版式文档中的表格内容至少包括表格线元素,还可以包括其他版式文档元素,如文本元素、图片元素、矢量图元素等,其中,文本元素对应表格中的文本内容,,图片元素对应表格中的图片内容,矢量图元素对应单元格中的背景填充、文本内容的背景等。
步骤102、根据表格内容构建表格对象,其中,表格对象包括至少一个单元格对象,每个单元格对象对应表格内容中的一个单元格,且关联单元格中的多个版式文档元素。
版式文档中的表格内容可以包括一个或多个单元格,本申请实施例对版式文档的表格内容中包含的单元格数量不做限制。
本申请实施例提供的技术方案的实现思路是:将版式文档的表格内容中的每个单元格分别封装成一个单元格对象,并且,每个单元格对象关联其对应的单元格中的多个版式文档元素。这里所说的单元格对象关联的版式文档元素至少包括组成该单元格的表格线元素,还可以包括组成该单元格中单元格内容的其他版式文档元素,如文本元素、图片元素、矢量图元素等。之后,将每个单元格对应的单元格对象及关联的版式文档元素封装成一个表格对象。在此基础上,将对版式文档中表格内容的编辑操作转换成对单元格对象及其关联的版式文档元素的编辑操作,从而能够实现对版式文档中的表格内容进行编辑。
这里需要说明的是,上述单元格对象和表格对象均符合版式文档标准。这里所说的符合版式文档标准是指:对象的组织结构和对象中包含的版式文档元素符合当前主流版式文档格式规范,例如OFD标准、PDF1.7标准、UOF标准等,使得文档编辑器能够识别单元格对象和表格对象。
至于是如何根据表格内容构建表格对象的,在下文中通过图3所示实施例做出解释说明,这里先不详述。
步骤103、响应于针对表格内容的编辑操作,确定待编辑的目标单元格对象,根据编辑操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素。
基于步骤102中的描述,本申请实施例中将对版式文档中表格内容的编辑操作转换成对单元格对象及其关联的版式文档元素的编辑操作,那么在本步骤103中,响应于针对表格内容的编辑操作,确定待编辑的单元格对象(为描述方便,以下称为目标单元格对象),然后根据编辑操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素。
上述针对表格内容的编辑操作包括但不限于:表格移动操作、表格删除操作、表格缩放操作、插入行/列操作、删除行/列操作、调整行高/列宽操作、设置单元格背景操作、选中单元格操作、设置单元格对齐方式操作、清空单元格内容操作、编辑单元格内容操作、表格复制粘贴操作、表格剪切粘贴操作、单元格合并拆分操作、边框属性设置操作、单元格边距设置操作等。
由此可见,本申请实施例提供的技术方案能够覆盖目前常见的表格编辑操作,因此,本申请实施例提供的技术方案具有比较广泛的适用范围。
本申请实施例提供的技术方案,通过识别出版式文档中包含的表格内容,根据表格内容构建表格对象,其中,表格对象包括至少一个单元格对象,每个单元格对象对应表格内容中的一个单元格,且关联单元格中的多个版式文档元素,响应于针对表格内容的编辑操作,确定待编辑的目标单元格对象,根据编辑操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素,实现了将版式文档中的表格内容封装成一个表格对象,进而将对版式文档中表格内容的编辑操作转换成对表格对象中单元格对象及其关联的版式文档元素的编辑操作,从而实现了对版式文档中的表格内容进行编辑,并且,在该技术方案中,可以在版式文档中直接编辑表格而无需将版式文档转换为其他格式的文档,操作简便,用户体验友好。
图3为本申请实施例提供的另一种版本文档中表格的编辑方法的实施例流程图。图3所示流程在图1所示流程的基础上,描述如何根据表格内容构建表格对象。如图3所示,该方法包括以下步骤:
步骤301、将表格内容中的每个表格线元素分别向端点两侧延伸,得到每两个相交的表格线元素的交点。
版式文档中的表格是一种虚拟结构,表格的边框并不一定按照每个单元格的长宽来生成,原因在于:版式文档的现行标准还没有表格,版式文档中的表格大多是由其它文档转换而来,而转换软件并不一定会按照表格结构来写入版式文档,因此就有可能导致出现多个单元格共用一条边框或者一个单元格的一条边框是由多个线段构成的情况,以及存在多条线段重叠的情况。在这些情况下,将无法正常的编辑表格。基于此,本申请实施例的技术方案中将表格的边框按照单元格的大小进行一次重建。
具体的,首先识别出版式文档中的表格线元素,然后如图4所示,将表格内容中的每个表格线元素分别向端点两侧延伸,例如,将水平方向的表格线元素向左右两侧延伸,将竖直方向的表格线元素向上下两侧延伸,得到每两个相交的表格线元素的交点(图4中每一个圈出的位置即为一个交点)。至于是如何识别出版式文档中的表格线元素的,本领域技术人员可以参见现有技术中的相关说明,这里不再详述。
步骤302、根据多个交点确定表格内容中每个单元格的边框元素集合。
上述边框元素对应单元格的边框,也即表格线。可以理解的是,一个单元格具有4个边框,分别是上侧边框、下侧边框、左侧边框以及右侧边框,因此,一个单元格的边框元素集合中包括4个边框元素,分别记为上侧边框元素、下侧边框元素、左侧边框元素以及右侧边框元素。
结合图4来看,连接每相邻的两个交点可以形成一条边框,这里的相邻包括上下相邻、左右相邻,其中,连接上下相邻的两个交点可以形成一条竖直边框,连接左右相邻的两个交点可以形成一条水平边框。基于此,可以根据每相邻的两个交点创建一个边框元素。其中,作为一个可选的实现方式,创建Path类型(矢量类型)的边框元素。根据Path类型元素的属性可以得知,在创建Path类型的边框元素时,至少需要确定路径起点、路径终点以及外接矩形框,对此,对于左右相邻的两个交点,将位于左侧的交点确定为边框元素的路径起点,将位于右侧的交点确定为边框元素的路径终点。对于上下相邻的两个交点,将位于上方的交点确定为边框元素的路径起点,将位于下方的交点确定为边框元素的路径终点。根据原边框的宽度属性确定每个Path类型的边框元素的外接矩形框。此外,还可以根据原边框的颜色属性确定每个Path类型的边框元素的颜色。例如,参见图5,图5中的左图为此时重建出的表格线的示例。
进一步的,参见图2可以发现,在实际应用中存在表格内容中包含合并单元格的情况,这里所说的合并单元格是指该单元格由两个或两个以上的单元格合并而成,例如,图2中包括三个合并单元格,分别是单元格21、单元格22以及单元格23。
这里再结合图5中的左图可以发现,重建出的有些表格线是需要隐藏的,如落入合并单元格内部的表格线。对此,在一实施例中,在图5中左图的基础上,将落在同一个单元格对象的外接矩形框上的边框元素归入该单元格对象所对应单元格的边框元素集合。而落在单元格内部的边框元素则未被归入单元格的边框元素集合,这些边框元素也就是需要隐藏的边框元素,因此,将未被归入任一边框元素集合的边框元素的显示属性设置为隐式显示,此时的表格线重建效果参见图5中的右图所示。
步骤303、针对每个单元格执行以下处理:针对单元格创建单元格对象,将边框元素集合,以及表格内容中外接矩形框落入单元格对象的外接矩形框范围内的版式文档元素与单元格对象进行关联。
创建单元格对象是指:创建一个自定义的对象,并为该对象定义对象属性,使得该对象能够表征一个单元格。上述单元格对象的对象属性例如包括单元格的行列坐标、外接矩形框坐标以及外接矩形框的宽度和高度等。举例来说,为表格中位于第1行第2列的单元格创建一个单元格对象,该单元格对象的属性包括该单元格的行列坐标(1,2),外接矩形框坐标(a,b),外接矩形框的宽度为w,高度为h。其中,外接矩形框坐标是指外接矩形框的左上顶点的坐标。
表格内容中外接矩形框落入单元格对象的外接矩形框范围内的版式文档元素对应单元格中的内容。
图3所示流程实现了将版式文档中的表格内容封装为一个表格对象,并且实现了对其中表格线的重建,使得后续可以对表格中的表格线进行编辑。
以下通过不同的实施例分别描述对于不同的表格编辑操作,如何实现对版式文档中的表格进行编辑:
(1)表格移动操作
在编辑操作为表格移动操作的情况下,由于需要将表格内容整体进行移动,因此将表格内容中的每个单元格对象均确定为待编辑的目标单元格对象,然后根据表格移动操作改变每个目标单元格对象及目标单元格对象关联的至少一个版式文档元素在版式文档中的位置。这里,可以将表格内容在其所在的版式文档页面中进行移动,也可以将表格内容移动到同一版式文档中的其他的版式文档页面。
由于单元格对象及版式文档元素在版式文档中的位置表现为单元格对象及版式文档元素各自的外接矩形框在版式文档中的坐标信息,因此,根据表格移动操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素的具体实现包括:根据表格移动操作确定表格内容的目标偏移方向和目标偏移量,根据目标偏移方向和目标偏移量修改目标单元格对象的外接矩形框在版式文档中的坐标信息,以及修改目标单元格关联的每个版式文档元素的外接矩形框在版式文档中的坐标信息。
具体来说,用户想要移动版式文档中的表格内容时,可以先选中表格内容,然后按下鼠标左键并拖动鼠标,或者是按下键盘上的一个或几个方向键来设置表格内容的目标偏移方向和目标偏移量。例如,表格内容的目标偏移方向和目标偏移量表示表格内容在水平方向上向右移动x,在竖直方向上向下移动y。那么,根据目标偏移方向和目标偏移量,将表格内容中的每个单元格对象及关联的每个版式文档元素的外接矩形框在水平方向上的坐标信息向右偏移x,在竖直方向上的坐标信息向下偏移y。之后,重新渲染版式文档页面,即可显示出将表格内容在水平方向上向右移动x,在竖直方向上向下移动y的效果。
此外,当需要撤销本次表格移动操作时,可以将表格内容中的每个单元格对象及关联的每个版式文档元素的外接矩形框在水平方向上的坐标信息向左偏移x,在竖直方向上的坐标信息向上偏移y。之后,重新渲染版式文档页面,即可显出表格内容移回原位的效果,从而实现撤销本次表格移动操作。
(2)表格删除操作
在编辑操作为表格删除操作的情况下,由于需要将表格内容整体进行删除,因此将表格内容中的每个单元格对象均确定为待编辑的目标单元格对象。相应的,根据表格删除操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素的具体实现包括:根据表格删除操作删除目标单元格对象以及目标单元格对象关联的每个版式文档元素。
之后,重新渲染版式文档页面,即可显示出删除表格内容的效果。
此外,当需要撤销本次表格删除操作时,将前述删除的目标单元格对象恢复并将目标单元格对象关联的版式文档元素重新写入版式文档即可。
(3)编辑操作为表格缩放操作
在编辑操作为表格缩放操作的情况下,由于需要将表格内容整体进行缩放处理,因此将每个单元格对象均确定为待编辑的目标单元格对象。
在一实施例中,参见图6,为根据表格缩放操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素的实施例流程图。如图6所示,包括以下步骤:
步骤601、根据表格缩放操作确定表格内容在第一方向上的第一缩放比例和第二方向上的第二缩放比例。
可选的,用户可以通过鼠标拖动表格边框或者通过文本框输入方式来触发上述表格缩放操作,通过表格缩放操作,可以对表格内容从整体上进行缩放处理。
其中,第一缩放比例scaleX=缩放后表格宽度/缩放前表格宽度;
第二缩放比例scaleY=缩放后表格高度/缩放前表格高度。
步骤602、根据第一缩放比例和第二缩放比例修改目标单元格对象的外接矩形框在版式文档中的坐标信息和尺寸。
为便于描述,在这里设表格包括N行和M列,设每行需要缩放高度为Hn,其中n取值范围为1到N,设每列需要缩放宽度为Wm,其中m取值范围为1到M。
对于Hn和Wm的计算,分以下四种情况:
情况一、scaleX>1并且scaleY>1;在此情况下,表格宽度变大,高度也变大。
Hn=第n行缩放前的高度*(scaleY-1);
Wm=第m列缩放前的宽度*(scaleX-1)。
情况二、scaleX>1并且scaleY<1;在此情况下,表格宽度变大,高度变小。
Wm=第m列缩放前的宽度*(scaleX-1);
Hn的计算方法如下:
第一步,计算每行可缩放高度RowCanScaleHn,以及所有行可缩放高度之和SumRowCanScaleH:
其中,RowCanScaleHn的计算方式为:遍历第n行中的所有单元格,计算每个单元格内容上下留白区域高度CellBlankHm:
CellBlankHm=单元格高度-单元格所有内容元素最大外接矩形框高度-单元格上边框厚度/2-单元格下边框厚度/2。
然后,RowCanScaleHn取每个单元格对应的CellBlankHm中的最小值。
第二步,计算每行应缩放高度RowNeedScaleHn,以及所有行应缩放高度之和SumRowNeedScaleH:
RowNeedScaleHn=第n行缩放前的高度*(1-scaleY);
如果SumRowCanScaleH≤SumRowNeedScaleH,则说明没有足够的剩余高度可供缩放或者可缩放高度刚好可供缩放,此时:
Hn=RowCanScaleHn。
如果SumRowCanScaleH>SumRowNeedScaleH,则说明有足够的剩余高度可供缩放,但是不一定每个单元格对应的RowCanScaleHn都是大于等于RowNeedScaleHn的,所以需要继续计算每行的实际缩放高度RowRealScaleHn,RowRealScaleHn的计算方法如下:
设剩余待缩放高度Hr=0,则对于每一行:
如果RowNeedScaleHn≥RowCanScaleHn,则RowRealScaleHn=RowCanScaleHn。也即当前行可缩放高度不够,那么实际缩放高度即为可缩放高度。
如果RowNeedScaleHn小于RowCanScaleHn,则RowRealScaleHn=RowNeedScaleHn。也即当前行可缩放高度足够,那么实际缩放高度即为应缩放高度。
再之后,执行以下处理:
Hr=Hr+(RowNeedScaleHn-RowCanScaleHn);
RowCanScaleHn=RowCanScaleHn-RowNeedScaleHn,也即,RowCanScaleHn记录当前行剩余可缩放高度。
如此计算出每一行的实际缩放高度RowRealScaleHn,并得到新的可缩放高度RowCanScaleHn,以及剩余未分配高度之和Hr。
再之后,分配剩余的Hr
第一步:计算所有行RowCanScaleHn的非0最小值Hmin;
第二步:统计所有RowCanScaleHn非0的行数RowSum;
第三步:如果Hmin*RowSum≥Hr,则Hmin=Hr/RowSum;
第四步:对于每一行,如果RowCanScaleHn≥Hmin,则:
RowCanScaleHn=RowCanScaleHn-Hmin;
RowRealScaleHn=RowRealScaleHn+Hmin;
第五步:使Hr减去Hmin,如果Hr=0,则停止分配,否则,返回第一步。
最后,得到每行实际缩放高度RowRealScaleHn,此时Hn=RowRealScaleHn,计算结束。
情况三、scaleX<1并且scaleY>1;在此情况下,表格宽度变小,高度变大。
Hn=第n行缩放前的高度*(scaleY-1);
Wm的计算方式同情况二中Hn的计算方式。
情况四、scaleX<1并且scaleY<1;在此情况下,表格宽度变小,高度变小。
Hn和Wm的计算方式同上述情况一。
在计算出上述Hn和Wm之后,则可以据此修改目标单元格对象的外接矩形框在版式文档中的坐标信息和尺寸。
步骤603、将目标单元格对象关联的每个版式文档元素在目标单元格对象的外接矩形框范围内进行重新排版。
在一实施例中,单元格中内容的重新排版如下:
设单元格可排版区域上下左右坐标分别为T,B,L,R,则单元格可排版区域宽度W=R-L,高度H=T-B。
第一步,遍历单元格内容元素,依次取得每一个内容元素En;
第二步,按照从左到右,从上到下原则依次将对象放置在单元格范围内,如第一个元素E0的x坐标为L,y坐标为T-E0的高度;
第三步,如果对象宽度Wn大于W,则将对象按照W进行缩放,非文本对象进行宽高等比缩放;
第四步,每放置一个对象后,计算当前对象右侧r至R的距离Wr,如果Wr大于等于下一个对象的宽度We,并且当前对象的高度Hn大于等于下一个对象的高度He,则将下一个对象放在当前对象之后,此时下一个对象的x坐标为r,y坐标和当前对象相同。否则将下一个对象放在当前对象之下。此时下一个对象的x坐标为L,y坐标为此时单元格内所有对象的y坐标最小值减去下一个对象的高度。
如果相邻两个元素均为文本对象,则按照上下方式排列。
如果当前对象为非文本对象而下一个对象为文本对象,若满足Wr*Hn大于等于下一个文本对象外接矩形的面积,则将下一个文本对象宽度缩放为Wr,并排列至当前对象的右边。
第五步,所有对象放置完毕后,计算此时单元格内所有元素最小y坐标Ymin。如果Ymin<B,则将此单元格所在行底部向下缩放B-Ymin。也即行高增加B-Ymin。
第六步,按照此单元格的水平对齐方式(左对齐,右对齐,水平居中对齐)和垂直对齐方式(顶部对齐,底部对齐,垂直居中对齐)对单元格内容整体进行排版。
(4)插入行操作
在编辑操作为插入行操作的情况下,由于需要移动表格内容中的部分行,因此将表格内容中部分行中的单元格对象确定为目标单元格对象。具体来说,用户想要在表格内容中插入一行或几行时,可以先在表格内容中选中一行,然后执行插入行操作,例如点击鼠标右键,触发显示表格内容编辑菜单,然后触发该菜单中的插入行图标,以执行插入行操作。这里,用户还可以选择在选中的行的上方或者下方插入行。在用户选择在选中的行的上方插入行时,需要将选中的行以及该行之后的所有行都向下移动,因此,在用户选择在选中的行的上方插入行时,将插入行操作在表格内容中触发的行(也即选中的行)确定为基准行,将基准行以及基准行之后的所有行中的单元格对象确定为待编辑的目标单元格对象。在用户选择在选中的行的下方插入行时,需要将选中的行之后的所有行都向下移动,因此,在用户选择在选中的行的下方插入行时,将插入行操作在表格内容中触发的行(也即选中的行)确定为基准行,将基准行之后的所有行中的单元格对象确定为待编辑的目标单元格对象。
在一实施例中,参见图7,为根据插入行操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素的实施例流程图。如图7所示,包括以下步骤:
步骤701、根据待插入的行数n以及基准行的行高增大目标单元格对象的外接矩形框在版式文档中的第二方向上的坐标信息,以及增大目标单元格关联的每个版式文档元素的外接矩形框在版式文档中的第二方向上的坐标信息。
由上述描述可见,在用户触发插入行操作时,需要将目标单元格对象以及关联的每个版式文档元素向下移动,这也就意味着需要增大目标单元格对象以及关联的每个版式文档元素的外接矩形框在版式文档中的第二方向(这里的第二方向指竖直方向)上的坐标信息。
这里,在增大上述外接矩形框在版式文档中的第二方向上的坐标信息时,根据待插入的行数n以及基准行的行高来增大。例如,在用户选择在基准行的下方或上方插入n行时,将目标单元格对象的外接矩形框以及目标单元格对象关联的每个版式文档元素的外接矩形框在版式文档中的第二方向上的坐标信息增大n*h,h为基准行的行高,从而实现将目标单元格对象以及关联的每个版式文档元素向下移动。
步骤702、根据插入行操作创建n个行容器,其中,行容器中包括m个单元格对象,m为基准行中的列数。
上述行容器是一种以行形式存储单元格对象及其关联的边框元素集合的组织结构。
在一实施例中,新插入行的列数可以同基准行的列数一致。
步骤703、将n个行容器插入至基准行的上方或下方。
其中,在用户选择在基准行的下方插入n行时,将n个行容器插入至基准行的下方,在用户选择在基准行的上方插入n行时,将n个行容器插入至基准行的上方。
之后,重新渲染版式文档页面即可显示插入行效果。
(5)插入列操作
在编辑操作为插入列操作的情况下,由于需要移动表格内容中的部分列,因此将表格内容中部分列中的单元格对象确定为目标单元格对象。具体来说,用户想要在表格内容中插入一列或几列时,可以先在表格内容中选中一列,然后执行插入列操作,例如点击鼠标右键,触发显示表格内容编辑菜单,然后触发该菜单中的插入列图标,以执行插入列操作。这里,用户可以选择在选中的列的左侧或者右侧插入列。在用户选择在选中的列的左侧插入列时,需要将选中的列以及该列右侧的所有列都向右移动,因此,在用户选择在选中的列的左侧插入列时,将插入列操作在表格内容中触发的列(也即选中的列)确定为基准列,将基准列及基准列右侧的所有列中的单元格对象确定为待编辑的目标单元格对象。在用户选择在选中的列的右侧插入列时,需要将选中的列右侧的所有列都向右移动,因此,在用户选择在选中的列的右侧插入列时,将插入列操作在表格内容中触发的列(也即选中的列)确定为基准列,将基准列右侧的所有列中的单元格对象确定为待编辑的目标单元格对象。
在一实施例中,参见图8,为根据插入列操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素的实施例流程图。如图8所示,包括以下步骤:
步骤801、根据待插入的列数s以及基准列的列宽增大目标单元格对象的外接矩形框在版式文档中的第一方向上的坐标信息,以及增大目标单元格关联的每个版式文档元素的外接矩形框在版式文档中第一方向上的坐标信息。
由上述描述可见,在用户触发插入列操作时,需要将目标单元格对象以及关联的每个版式文档元素向右移动,这也就意味着需要增大目标单元格对象的外接矩形框以及关联的每个版式文档元素的外接矩形框在版式文档中的第一方向(这里的第一方向指水平方向)上的坐标信息。
这里,在增大上述外接矩形框在版式文档中的第一方向上的坐标信息时,根据待插入的列数s以及基准列的列宽来增大。具体的,在用户选择在基准列的左侧或右侧插入s列时,将目标单元格对象的外接矩形框以及目标单元格对象关联的每个版式文档元素的外接矩形框在版式文档中的第一方向上的坐标信息增大s*w,w为基准行的列宽。从而实现将目标单元格对象以及关联的每个版式文档元素向右移动。
步骤802、根据插入行操作创建s个列容器,其中,列容器中包括t个单元格对象,t为基准列中的行数。
上述列容器是一种以列形式存储单元格对象及其关联的版式文档元素的组织结构。
在一实施例中,新插入列的行数可以同基准列的行数一致。
步骤803、将s个列容器插入至基准列的左侧或右侧。
其中,在用户选择在基准列的左侧插入s列时,将s个列容器插入至基准行的左侧,在用户选择在基准列的右侧插入s列时,将s个列容器插入至基准行的右侧。
之后,重新渲染版式文档页面即可显示插入列效果。
(6)删除行操作
在编辑操作为删除行操作的情况下,由于不仅需要删除一行或几行,还涉及到改变一些行在版式文档页面中的位置,因此,将删除行操作所选中的行确定为待删除的目标行,将目标行中的单元格对象,以及目标行之后的所有行中的单元格对象均确定为待编辑的目标单元格对象。
在一实施例中,根据删除行操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素的具体实现包括:根据删除行操作删除第一目标单元格对象以及第一目标单元格对象关联的每个版式文档元素,其中,第一目标单元格对象为目标行中的目标单元格对象。
由于在删除行之后,该行之后的所有行都需要向上移动,这也就意味着需要减小第二目标单元格对象的外接矩形框在版式文档中的第二方向上的坐标信息,以及减小第二目标单元格对象关联的每个版式文档元素的外接矩形框在版式文档中的第二方向上的坐标信息,以实现将目标行之后的所有行中的单元格对象以及单元格对象关联的每个版式文档元素向上移动。
这里,在减小第二目标单元格对象的外接矩形框以及第二目标单元格对象关联的每个版式文档元素的外接矩形框在第二方向上的坐标信息时,根据目标行的行高之和来减小。即减小的值为目标行的行高之和。
举例来说,表格内容中包括5行,用户选择将第2行和第3行删除,那么,在删除第2行和第3行中单元格对象及关联的每个版式文档元素的同时,还需要将第4行和第5行中单元格对象的外接矩形框以及关联的每个版式文档元素的外接矩形框在竖直方向上的坐标信息进行减小处理,使得第4行和第5行上移至第1行的下方并与第1行相接,从而实现删除第2行和第3行的效果。
这里再说明一点,如果第一目标单元格对象出现跨行,需要先将此单元格对象按行拆分为多个单元格对象,且只删除目标行中的单元格对象,如果删除后剩余被拆分单元格对象个数大于1,则将剩余被拆分单元格对象合并为一个单元格对象。
(7)删除列操作
在编辑操作为删除列操作的情况下,由于不仅需要删除一列或几列,还涉及到改变一些列在版式文档页面中的位置,因此,将删除列操作所选中的列确定为待删除的目标列,将目标列中的单元格对象,以及目标列右侧的所有列中的单元格对象确定为待编辑的目标单元格对象。
在一实施例中,根据删除列操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素的具体实现包括:根据删除列操作删除第三目标单元格对象以及第三目标单元格对象关联的每个版式文档元素,其中,第三目标单元格对象为目标列中的目标单元格对象。
根据目标列的列宽之和减小第四目标单元格对象的外接矩形框在版式文档中的第一方向上的坐标信息,以及减小第四目标单元格对象关联的每个版式文档元素的外接矩形框在版式文档中的第一方向上的坐标信息,其中,第四目标单元格对象为目标列右侧的所有列中的目标单元格对象。
由于在删除列之后,该列右侧的所有列都需要向左移动,这也就以为着需要减小第四目标单元格对象的外接矩形框在版式文档中的第一方向上的坐标信息,以及减小第四目标单元格对象关联的每个版式文档元素的外接矩形框在版式文档中的第一方向上的坐标信息,以实现将目标列右侧的所有列中的单元格对象以及单元格对象关联的每个版式文档元素向左移动。
这里,在减小上述外接矩形框在第一方向上的坐标信息时,根据目标列的列宽之和来减小,即减小的值为目标列的列宽之和。
举例来说,表格内容中包括5列,用户选择将第2列和第3列删除,那么,在删除第2列和第3列中单元格对象及关联的每个版式文档元素的同时,还需要将第4列和第5列中单元格对象的外接矩形框以及关联的每个版式文档元素的外接矩形框在水平方向上的坐标信息进行减小处理,使得第4列和第5列左移至第1列的右方并与第1列相接,从而实现删除第2列和第3列的效果。
这里再说明一点,如果第三目标单元格对象出现跨列,需要先将此单元格对象按列拆分为多个单元格对象,且只删除目标列中的单元格对象,如果删除后剩余被拆分单元格对象个数大于1,则将剩余被拆分单元格对象合并为一个单元格对象。
(8)调整行高操作
在编辑操作为调整行高操作的情况下,由于不仅涉及调整选中行的行高,还需要改变选中行下方所有行在版式文档页面中的位置,因此,在编辑操作为调整行高操作的情况下,将调整行高操作所选中的行确定为待调整的目标行,将目标行中的单元格对象,以及目标行下方的所有行中的单元格对象确定为目标单元格对象。这里,选中行可以是表格内容中的所有行,也可以是表格内容中的部分行。调整选中行的行高包括增大选中行的行高、减小选中行的行高。
在一实施例中,参见图9,为根据调整行高操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素的实施例流程图。如图9所示,包括以下步骤:
步骤901、根据调整行高操作修改第五目标单元格对象的外接矩形框的高度,以及修改第五目标单元格对象关联的边框元素的外接矩形框,其中,第五目标单元格对象为目标行中的目标单元格对象。
可选的,用户可以通过鼠标拖动表格边框或者通过文本框输入方式来触发上述调整行高操作,通过调整行高操作,可以设置表格或表格中部分行的行高。
其中,在调整行高操作指示增大行高的情况下,上述所说的修改第五目标单元格对象的外接矩形框的高度是指增大外接矩形框的高度,上述所说的修改第五目标单元格对象关联的边框元素的外接矩形框包括:增大左侧边框元素和右侧边框元素的外接矩形框的高度,以及将下侧边框元素的外接矩形框在竖直方向上的坐标信息进行增大处理,从而实现增大行高的效果。在调整行高操作指示减小行高的情况下,上述所说的修改第五目标单元格对象的外接矩形框的高度是指减小外接矩形框的高度,上述所说的修改第五目标单元格对象关联的边框元素的外接矩形框包括:减小左侧边框元素和右侧边框元素的外接矩形框的高度,以及将下侧边框元素的外接矩形框在竖直方向上的坐标信息进行减小处理,从而实现减小行高的效果。
举例来说,假设需要将表格内容中的某一行的行高增加x,则需要将该行中每个单元格对象的左侧边框元素和右侧边框元素的路径终点向下平移x,使得该行中每个单元格对象的左侧边框元素和右侧边框元素的高度增大x,以及将每个单元格对象的下侧边框元素向下平移x。
假设需要将表格内容中的某一行的行高减小x,则需要将该行中每个单元格对象的左侧边框元素和右侧边框元素的路径终点向上平移x,使得该行中每个单元格对象的左侧边框元素和右侧边框元素的高度减小x,以及将每个单元格对象的下侧边框元素向上平移x。
步骤902、根据调整行高操作修改第六目标单元格对象的外接矩形框在版式文档中第二方向上的坐标信息,以及修改第六目标单元格对象关联的每个版式文档元素的外接矩形框在版式文档中第二方向上的坐标信息,其中,第六目标单元格对象为目标行之后的所有行中的目标单元格对象。
由上述描述可知,在调整表格内容中部分行的行高时,还需要改变该部分行下方所有行在版式文档页面中的位置,例如,在增大部分行的行高时,该部分行下方的所有行需要下移,在减小部分行的行高时,该部分行下方的所有行需要上移。进一步的,在将表格内容中的行进行下移时,意味着增大该行中的单元格对象的外接矩形框以及该单元格对象关联的每个版式文档元素的外接矩形框在竖直方向上的坐标信息。在将表格内容中的行进行上移时,意味着减小该行中的单元格对象的外接矩形框以及该单元格对象关联的每个版式文档元素的外接矩形框在竖直方向上的坐标信息。其中,上述所涉及的外接矩形框在竖直方向上坐标信息的减小值为上述部分行行高的减小值之和,类似的,上述所涉及的外接矩形框在竖直方向上坐标信息的增大值为上述部分行行高的增大值之和。
步骤903、将第五目标单元格对象关联的至少一个版式文档元素在第五目标单元格对象的外接矩形框范围内进行重新排版。
上述所说的至少一个版式文档元素包括第五目标单元格对象所对应的单元格中的内容,如文本元素、图片元素等。
在一实施例中,在将第五目标单元格对象关联的至少一个版式文档元素在第五目标单元格对象的外接矩形框范围内进行重新排版时,可以按照第五目标单元格对象所对应的单元格的对齐方式来进行重新排版,例如,若对齐方式为居中对齐,那么重新排版后的版式文档元素在第五目标单元格对象所对应的单元格内仍为居中对齐。
进一步的,在增大行高的情况下,可以同步增大单元格中的内容对应的版式文档元素的尺寸,包括但不限于增大单元格中背景元素的外接矩形框的高度、增大单元格中文本元素的外接矩形框的高度等。在这里,假设需要将表格内容中某一行的行高增加a,那么可以将该行中的每个单元格中背景元素的外接矩形框的高度也增加a,使得背景元素依然能够呈现填充满整个单元格的效果。可选的,也可以将该行中的每个单元格中其他元素的外接矩形框的高度也增加a或者增加一个小于a的值,提升版式文档中表格的美观性。
在减小行高的情况下,可以同步减小单元格中的内容对应的版式文档元素的尺寸,包括但不限于减小单元格中背景元素的外接矩形框的高度、减小单元格中文本元素的外接矩形框的高度等。在这里,假设需要将表格内容中某一行的行高减小b,那么可以将该行中的每个单元格中背景元素的外接矩形框的高度也减小b,避免背景元素溢出单元格的边界范围。可选的,也可以将该行中的每个单元格中其他元素的外接矩形框的高度也减小b或者减小一个大于b的值,避免减小行高之后单元格中的内容溢出单元格的边界范围,提升版式文档中表格的美观性。
至于其他的重新排版过程可参见上述图6所示实施例中的相关描述,这里不再赘述。
(9)调整列宽操作
在编辑操作为调整列宽操作的情况下,由于不仅涉及调整选中列的列宽,还需要改变选中列右侧所有列在版式文档中页面的位置,因此,在编辑操作为调整列宽操作的情况下,将调整列宽操作所选中的列确定为待调整的目标列,将目标列中的单元格对象,以及目标列右侧的所有列中的单元格对象确定为目标单元格对象。这里,选中列可以是表格内容中的所有列,也可以是表格内容中的部分列。调整选中列的列宽包括增大选中列的列宽、减小选中列的列宽。
在一实施例中,参见图10,为根据调整列宽操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素的实施例流程图。如图10所示,包括以下步骤:
步骤1001、根据调整列宽操作修改第七目标单元格对象的外接矩形框的宽度,以及修改第七目标单元格对象关联的边框元素的外接矩形框,其中,第七目标单元格对象为目标列中的目标单元格对象。
可选的,用户可以通过鼠标拖动表格边框或者通过文本框输入方式来触发上述调整列宽高操作,通过调整列宽操作,可以设置表格或表格中部分列的列宽。
其中,在调整列宽操作指示增大列宽的情况下,上述所说的修改第七目标单元格对象的外接矩形框的高度是指增大外接矩形框的宽度,上述所说的修改第七目标单元格对象关联的边框元素的外接矩形框包括:增大上侧边框元素和下侧边框元素的外接矩形框的宽度,以及将右侧边框元素的外接矩形框在水平方向上的坐标信息进行增大处理,从而实现增大列宽的效果。
举例来说,假设需要将表格内容中的某一列的列宽增加x,则需要将列中每个单元格对象的上侧边框元素和下侧边框元素的路径终点向右平移x,使得该列中每个单元格对象的上侧边框元素和下侧边框元素的宽度增大x。
在调整列宽操作指示减小列宽的情况下,上述所说的修改第七目标单元格对象的外接矩形框的宽度是指减小外接矩形框的宽度,上述所说的修改第七目标单元格对象关联的边框元素的外接矩形框包括:减小上侧边框元素和下侧边框元素的外接矩形框的宽度,以及将右侧边框元素的外接矩形框在水平方向上的坐标信息进行减小处理,从而实现减小列宽的效果。
在一实施例中,通过以下方式确定第七目标单元格对象的可减小列宽w:
针对每个第七目标单元格对象,按照如下公式分别计算出w1和w2:
第七目标单元格对象的实际可缩放列宽w1=第七目标单元格对象的外接矩形框的宽度-单元格中的最大文字宽度-左(右)侧边框元素的外接矩形框的宽度/2;
第七目标单元格对象的最大可缩放列宽w2=第七目标单元格对象的外接矩形框的宽度-单元格最小宽度(预设值)-左(右)侧边框元素的外接矩形框的宽度/2;
wi=min(w1,w2),wi取值w1和w2中的较小值,i取值为1至s,s为第七目标单元格对象的个数,也即表格内容的行数;
w=min(wi,a),w取值wi以及a中的较小值,a为用户所设置的需要减小的列宽值。
在该实施例中,通过第七目标单元格对象所关联的单元格内容来自适应设置第七目标单元格对象能够减小的列宽值,可以避免减小的列宽值过大而导致列宽减小后的第七目标单元格对象无法容纳原有的单元格内容。
步骤1002、根据调整列宽操作修改第八目标单元格对象的外接矩形框在版式文档中第一方向上的坐标信息,以及修改第八目标单元格对象关联的每个版式文档元素的外接矩形框在版式文档中第一方向上的坐标信息,其中,第八目标单元格对象为目标列右侧的所有列中的目标单元格对象。
由上述描述可知,在调整表格内容中部分列的列宽时,还需要改变该部分列右侧所有列在版式文档页面中的位置,例如,在增大部分列的列宽时,该部分列右侧的所有列需要右移,在减小部分列的列宽时,该部分列右侧的所有列需要左移。进一步的,在将表格内容中的列进行右移时,意味着增大该行中的单元格对象的外接矩形框以及该单元格对象关联的每个版式文档元素的外接矩形框在水平方向上的坐标信息。在将表格内容中的列进行左移时,意味着减小该行中的单元格对象的外接矩形框以及该单元格对象关联的每个版式文档元素的外接矩形框在水平方向上的坐标信息。其中,上述所涉及的外接矩形框在水平方向上坐标信息的减小值为上述部分列列宽的减小值之和,类似的,上述所涉及的外接矩形框在水平方向上坐标信息的增大值为上述部分列列宽的增大值之和。
步骤1003、将第七目标单元格对象关联的至少一个版式文档元素在第七目标单元格对象的外接矩形框范围内进行重新排版。
上述所说的至少一个版式文档元素包括第七目标单元格对象所对应的单元格中的内容,如文本元素、图片元素、Path元素以及shading(渐变)元素等。其中,文本元素对应单元格中的文本内容,图片元素对应单元格中的图片内容,Path元素可以对应单元格中的背景,shading(渐变)元素可以对应单元格内容中的着色信息。
在一实施例中,在将第七目标单元格对象关联的至少一个版式文档元素在第七目标单元格对象的外接矩形框范围内进行重新排版时,可以按照第七目标单元格对象所对应的单元格的对齐方式来进行重新排版,例如,若对齐方式为居中对齐,那么重新排版后的版式文档元素在第七目标单元格对象所对应的单元格内仍为居中对齐。
进一步的,在增大列宽的情况下,可以同步增大单元格中的内容对应的版式文档元素的尺寸,包括但不限于增大单元格中背景元素的外接矩形框的宽度、增大单元格中文本元素的外接矩形框的宽度等。在这里,假设需要将表格内容中某一列的列宽增加a,那么可以将该列中的每个单元格中背景元素的外接矩形框的宽度也增加a,使得背景元素依然能够呈现填充满整个单元格的效果。可选的,也可以将该列中的每个单元格中其他元素的外接矩形框的宽度也增加a或者增加一个小于a的值,提升版式文档中表格的美观性。
在减小列宽的情况下,可以同步减小单元格中的内容对应的版式文档元素的尺寸,包括但不限于减小单元格中背景元素的外接矩形框的宽度、减小单元格中文本元素的外接矩形框的宽度等。在这里,假设需要将表格内容中某一列的列宽减小b,那么可以将该列中的每个单元格中背景元素的外接矩形框的宽度也减小b,避免背景元素溢出单元格的边界范围。可选的,也可以将该列中的每个单元格中其他元素的外接矩形框的宽度也减小b或者减小一个大于b的值,避免减小列宽之后单元格中的内容溢出单元格的边界范围,提升版式文档中表格的美观性。
至于其他的重新排版过程可参见上述图6所示实施例中的相关描述,这里不再赘述。
(10)设置单元格背景操作。
在编辑操作为设置单元格背景操作的情况下,将设置单元格背景操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象。
在一实施例中,参见图11,为根据设置单元格背景操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素的实施例流程图。如图11所示,包括以下步骤:
步骤1101、根据设置单元格背景操作创建背景元素,其中,背景元素的外接矩形框的尺寸与目标单元格对象的外接矩形框的尺寸相同,且背景元素以设定颜色填充。
步骤1102、将背景元素与目标单元格对象关联,并将背景元素置于目标单元格对象关联的其他版式文档元素的底层。
上述设置单元格背景操作例如为设置单元格背景高亮。此时,背景元素以设定的高亮颜色填充。
上述背景元素可以是Path类型的元素。
此外,取消单元格背景时可通过将背景元素删除来实现。
(11)选中单元格操作
在编辑操作为选中单元格操作的情况下,将选中单元格操作所触发的单元格对应的单元格对象确定为待编辑的目标单元格对象。这里的选中单元格可以包括一个或多个。
在一实施例中,根据单元格选中操作编辑目标单元格对象及目标单元格对象关联的至少一个版式文档元素的具体实现包括:根据选中单元格操作创建选中效果元素,其中,选中效果元素的外接矩形框与目标单元格对象的外接矩形框重叠,或者选中效果元素的外接矩形框嵌套目标单元格对象的外接矩形框,将选中效果元素与目标单元格对象关联。
通常情况下,单元格被选中时其边框外接矩形区域被透明色填充,如浅灰色,以实现选中效果。因此,选中效果元素的外接矩形框与目标单元格对象的外接矩形框重叠,或者选中效果元素的外接矩形框嵌套目标单元格对象的外接矩形框。
(12)编辑操作为设置单元格对齐方式操作
在编辑操作为设置单元格对齐方式操作的情况下,将设置单元格对齐方式操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象。这里的选中单元格可以是一个或多个。
在一实施例中,根据单元格对齐方式操作编辑目标单元格对象关联的至少一个版式文档元素的具体实现包括:根据设置单元格对齐方式操作,将目标单元格对象关联的至少一个版式文档元素在目标单元格的外接矩形框范围内进行排版。
其中,单元格对齐方式操作用于设置单元格中内容的对齐方式,并且,通常情况下包括水平方向上的对齐方式和竖直方向上的对齐方式。进一步的,水平方向上的对齐方式包括左对齐、右对齐、居中对齐、两端对齐等,竖直方向上的对齐方式包括上对齐、下对齐、居中对齐等。单元格中的内容在不同的对齐方式下将呈现出不同的排版效果。在版式文档中,单元格中的内容通常包括下述一项或几项元素:文本元素、Path元素、图片元素以及shading(渐变)元素等。
据此,在编辑操作为设置单元格对齐方式操作的情况下,根据设置单元格对齐方式操作,将目标单元格对象关联的至少一个版式文档元素在目标单元格的外接矩形框范围内进行排版。
举例来说,在编辑操作指示设置单元格对齐方式为水平方向上左对齐的情况下,将目标单元格对象关联的版式文档元素的外接矩形框设置为水平方向上左对齐。
(13)清空单元格内容操作
在编辑操作为清空单元格内容操作的情况下,将清空单元格内容操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象。这里的选中单元格可以是一个或多个。
在一实施例中,根据清空单元格内容操作编辑目标单元格对象关联的至少一个版式文档元素的具体实现包括:根据清空单元格内容操作删除目标单元格对象关联的、除边框元素以外的其他版式文档元素。
之后重新渲染版式文档页面即显示清空单元格内容效果。
此外,当需求撤销本次清空单元格内容操作的情况下,将删除的版式文档元素重新写入版式文档并关联到相应的单元格对象即可。
(14)编辑操作为插入单元格内容操作
在编辑操作为插入单元格内容操作的情况下,将插入单元格内容操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象。
在一实施例中,根据插入单元格内容操作编辑目标单元格对象关联的至少一个版式文档元素的具体实现包括:根据插入单元格内容操作创建相应的内容元素;将内容元素与目标单元格对象关联,并将内容元素在目标单元格的外接矩形框范围内进行排版。
上述内容元素可以是文本元素、Path元素、图片元素以及shading(渐变)元素等。
上述将内容元素在目标单元格的外接矩形框范围内进行排版可以是按照目标单元格的单元格对齐方式进行排版。
(15)编辑操作为表格复制粘贴操作
在编辑操作为表格复制粘贴操作的情况下,将表格复制粘贴操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象。这里,选中的单元格可以是完整的表格内容,也可以是表格内容中的部分单元格。
在一实施例中,根据表格复制粘贴操作编辑目标单元格对象关联的至少一个版式文档元素的具体实现包括:根据表格复制粘贴操作,为目标单元格对象及其关联的每个版式文档元素创建对应的副本,将目标单元格对象的副本以及关联的每个版式文档元素的副本写入表格复制粘贴操作所对应的目标位置处。也可以将目标单元格对象及其关联的每个版式文档元素转化为剪切板数据格式写入系统剪切板,以达到跨文档类型粘贴目的。
(16)编辑操作为表格剪切粘贴操作
在编辑操作为表格剪切粘贴操作的情况下,将表格剪切粘贴操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象。这里,选中的单元格可以是完整的表格内容,也可以是表格内容中的部分单元格。
在一实施例中,根据表格剪切粘贴操作编辑目标单元格对象关联的至少一个版式文档元素的具体实现包括:根据表格剪切粘贴操作,为目标单元格对象及其关联的每个版式文档元素创建对应的副本,并删除目标单元格对象以及目标单元格对象关联的每个版式文档元素,将目标单元格对象的副本以及关联的每个版式文档元素的副本写入表格剪切粘贴操作所对应的目标位置处。也可以将目标单元格对象及其关联的每个版式文档元素转化为剪切板数据格式写入系统剪切板,以达到跨文档类型粘贴目的。
以上通过不同的实施例描述了一些表格编辑操作在版式文档中的具体实现,对于其他未展开说明的表格编辑操作也可应用与上述实施例相同的技术构思,通过编辑单元格对象和/或关联的版式文档元素的属性来实现表格的编辑。这里不再一一赘述。
图12为本申请实施例提供的一种版本文档中表格的编辑装置的实施例框图。如图12所示,该装置包括:
表格识别模块1201,用于识别出版式文档中包含的表格内容;
表格对象构建模块1202,用于根据所述表格内容构建表格对象,其中,所述表格对象包括多个单元格对象,每个所述单元格对象对应所述表格内容中的一个单元格,且关联所述单元格中的多个版式文档元素;
表格编辑模块1203,用于响应于针对所述表格内容的编辑操作,确定待编辑的目标单元格对象,根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素。
在一可能的实施方式中,所述编辑操作为表格移动操作;所述表格编辑模块1203,包括:
目标单元格对象确定单元,用于将每个所述单元格对象均确定为待编辑的目标单元格对象;
第一编辑参数确定单元,用于根据所述表格移动操作确定所述表格内容的目标偏移方向和目标偏移量;
第一编辑单元,用于根据所述目标偏移方向和所述目标偏移量修改所述目标单元格对象的外接矩形框在所述版本文档中的坐标信息,以及修改所述目标单元格关联的每个所述版式文档元素的外接矩形框在所述版式文档中的坐标信息。
在一可能的实施方式中,所述编辑操作为表格删除操作;所述表格编辑模块1203,包括:
目标单元格对象确定单元,用于将每个所述单元格对象均确定为待编辑的目标单元格对象;
第二编辑单元,用于根据所述表格删除操作删除所述目标单元格对象以及所述目标单元格对象关联的每个所述版式文档元素。
在一可能的实施方式中,所述编辑操作为表格缩放操作;所述表格编辑模块,包括:
目标单元格对象确定单元,用于将每个所述单元格对象均确定为待编辑的目标单元格对象;
第三编辑参数确定单元,用于根据所述表格缩放操作确定所述表格内容在第一方向上的第一缩放比例和第二方向上的第二缩放比例;根据所述第一缩放比例和所述第二缩放比例修改所述目标单元格对象的外接矩形框在所述版式文档中的坐标信息和尺寸;
第三编辑单元,用于将所述目标单元格对象关联的每个所述版式文档元素在所述目标单元格对象的外接矩形框范围内进行重新排版。
在一可能的实施方式中,所述编辑操作为插入行操作;所述表格编辑模块1203,包括:
目标单元格对象确定单元,用于将所述插入行操作在所述表格内容中触发的行确定为基准行;将所述基准行以及所述基准行之后的所有行中的单元格对象确定为待编辑的目标单元格对象;或者,将所述基准行之后的所有行中的单元格对象确定为待编辑的目标单元格对象;
第四编辑参数确定单元,用于根据待插入的行数n以及所述基准行的行高增大所述目标单元格对象的外接矩形框在所述版式文档中的第二方向上的坐标信息,以及增大所述目标单元格关联的每个所述版式文档元素的外接矩形框在所述版式文档中的第二方向上的坐标信息;
第四编辑单元,用于根据所述插入行操作创建n个行容器,其中,所述行容器中包括m个单元格对象,所述m为所述基准行中的列数;
将所述n个行容器插入至所述基准行的上方或下方。
在一可能的实施方式中,所述编辑操作为插入列操作;所述表格编辑模块1203,包括:
目标单元格对象确定单元,用于将所述插入列操作在所述表格内容中触发的列确定为基准列;将所述基准列以及所述基准列右侧的所有列中的单元格对象确定为待编辑的目标单元格对象,或者,将所述基准列右侧的所有列中的单元格对象确定为待编辑的目标单元格对象;
第五编辑参数确定单元,用于根据待插入的列数s以及所述基准列的列宽增大所述目标单元格对象的外接矩形框在所述版式文档中的第一方向上的坐标信息,以及增大所述目标单元格关联的每个所述版式文档元素的外接矩形框在所述版式文档中第一方向上的坐标信息;
第五编辑单元,用于根据所述插入行操作创建s个列容器,其中,所述列容器中包括t个单元格对象,所述t为所述基准列中的行数;
将所述s个列容器插入至所述基准列的左侧或右侧。
在一可能的实施方式中,所述编辑操作为删除行操作,所述表格编辑模块,包括:
目标单元格对象确定单元,用于将所述删除行操作所选中的行确定为待删除的目标行;将所述目标行中的单元格对象,以及所述目标行之后的所有行中的单元格对象均确定为待编辑的目标单元格对象;
第六编辑单元,用于根据所述删除行操作删除第一目标单元格对象以及所述第一目标单元格对象关联的每个所述版式文档元素,其中,所述第一目标单元格对象为所述目标行中的目标单元格对象;
根据所述目标行的行高之和减小第二目标单元格对象的外接矩形框在所述版式文档中的第二方向上的坐标信息,以及减小所述第二目标单元格对象关联的每个所述版式文档元素的外接矩形框在所述版式文档中的第二方向上的坐标信息,其中,所述第二目标单元格对象为所述目标行之后的所有行中的目标单元格对象。
在一可能的实施方式中,所述编辑操作为删除列操作,所述表格编辑模块1203,包括:
目标单元格对象确定单元,用于将所述删除列操作所选中的列确定为待删除的目标列;将所述目标列中的单元格对象,以及所述目标列右侧的所有列中的单元格对象确定为待编辑的目标单元格对象;
第七编辑单元,用于根据所述删除列操作删除第一目标单元格对象以及所述第一目标单元格对象关联的每个所述版式文档元素,其中,所述第一目标单元格对象为所述目标列中的目标单元格对象;
根据所述目标列的列宽之和减小第二目标单元格对象的外接矩形框在所述版式文档中的第一方向上的坐标信息,以及减小所述第二目标单元格对象关联的每个所述版式文档元素的外接矩形框在所述版式文档中的第一方向上的坐标信息,其中,所述第二目标单元格对象为所述目标列右侧的所有列中的目标单元格对象。
在一可能的实施方式中,所述编辑操作为调整行高操作,所述表格编辑模块1203,包括:
目标单元格对象确定单元,用于将所述调整行高操作所选中的行确定为待调整的目标行;将所述目标行中的单元格对象,以及所述目标行下方的所有行中的单元格对象确定为目标单元格对象;
第八编辑单元,用于根据所述调整行高操作修改第五目标单元格对象的外接矩形框的高度,以及修改所述第五目标单元格对象关联的边框元素的外接矩形框,其中,所述第五目标单元格对象为所述目标行中的目标单元格对象;
根据所述调整行高操作修改第六目标单元格对象的外接矩形框在所述版式文档中第二方向上的坐标信息,以及修改所述第六目标单元格对象关联的每个版式文档元素的外接矩形框在所述版式文档中第二方向上的坐标信息,其中,所述第六目标单元格对象为所述目标行之后的所有行中的目标单元格对象;
将所述第五目标单元格对象关联的至少一个所述版式文档元素在所述第五目标单元格对象的外接矩形框范围内进行重新排版。
在一可能的实施方式中,所述编辑操作为调整列宽操作,所述表格编辑模块1203,包括:
目标单元格对象确定单元,用于将所述调整列宽操作所选中的列确定为待调整的目标列;将所述目标列中的单元格对象,以及所述目标列右侧的所有列中的单元格对象确定为目标单元格对象;
第九编辑单元,用于根据所述调整列宽操作修改第七目标单元格对象的外接矩形框的宽度,以及修改所述第七目标单元格对象关联的边框元素的外接矩形框,其中,所述第七目标单元格对象为所述目标列中的目标单元格对象;
根据所述调整列宽操作修改第八目标单元格对象的外接矩形框在所述版式文档中第一方向上的坐标信息,以及修改所述第八目标单元格对象关联的每个版式文档元素的外接矩形框在所述版式文档中第一方向上的坐标信息,其中,所述第八目标单元格对象为所述目标列右侧的所有列中的目标单元格对象;
将所述第七目标单元格对象关联的每个所述版式文档元素在所述第七目标单元格对象的外接矩形框范围内进行重新排版。
在一可能的实施方式中,所述编辑操作为设置单元格背景操作,所述表格编辑模块1203,包括:
目标单元格对象确定单元,用于将所述设置单元格背景操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
第十编辑单元,用于根据所述设置单元格背景操作创建背景元素,其中,所述背景元素的外接矩形框的尺寸与所述目标单元格对象的外接矩形框的尺寸相同,且所述背景元素以设定颜色填充;
将所述背景元素与所述目标单元格对象关联,并将所述背景元素置于所述目标单元格对象关联的其他版式文档元素的底层。
在一可能的实施方式中,所述编辑操作为选中单元格操作,所述表格编辑模块,包括:
目标单元格对象确定单元,用于将所述选中单元格操作所触发的单元格对应的单元格对象确定为待编辑的目标单元格对象;
第十一编辑单元,用于根据所述选中单元格操作创建选中效果元素,其中,所述选中效果元素的外接矩形框与所述目标单元格对象的外接矩形框重叠,或者所述选中效果元素的外接矩形框嵌套所述目标单元格对象的外接矩形框;
将所述选中效果元素与所述目标单元格对象关联。
在一可能的实施方式中,所述编辑操作为设置单元格对齐方式操作,所述表格编辑模块1203,包括:
目标单元格对象确定单元,用于将所述设置单元格对齐方式操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
第十二编辑单元,用于根据所述设置单元格对齐方式操作,将所述目标单元格对象关联的至少一个版式文档元素在所述目标单元格的外接矩形框范围内进行排版。
在一可能的实施方式中,所述编辑操作为清空单元格内容操作,所述表格编辑模块1203,包括:
目标单元格对象确定单元,用于将所述清空单元格内容操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
第十三编辑单元,用于根据所述清空单元格内容操作删除所述目标单元格对象关联的、除边框元素以外的其他版式文档元素。
在一可能的实施方式中,所述编辑操作为插入单元格内容操作,所述表格编辑模块,包括:
目标单元格对象确定单元,用于将所述插入单元格内容操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
第十四编辑单元,用于根据所述插入单元格内容操作创建相应的内容元素;
将所述内容元素与所述目标单元格对象关联,并将所述内容元素在所述目标单元格的外接矩形框范围内进行排版。
在一可能的实施方式中,所述编辑操作为表格复制粘贴操作,所述表格编辑模块1203,包括:
目标单元格对象确定单元,用于将所述表格复制粘贴操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
第十五编辑单元,用于根据所述表格复制粘贴操作,为所述目标单元格对象及其关联的每个所述版式文档元素创建对应的副本;
将所述目标单元格对象的副本以及关联的每个所述版式文档元素的副本写入所述表格复制粘贴操作所对应的目标位置处。
在一可能的实施方式中,所述编辑操作为表格剪切粘贴操作,所述表格编辑模块1203,包括:
目标单元格对象确定单元,用于将所述表格剪切粘贴操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
第十六编辑单元,用于根据所述表格剪切粘贴操作,为所述目标单元格对象及其关联的每个所述版式文档元素创建对应的副本,并删除所述目标单元格对象以及所述目标单元格对象关联的每个所述版式文档元素;
将所述目标单元格对象的副本以及关联的每个所述版式文档元素的副本写入所述表格剪切粘贴操作所对应的目标位置处。
在一可能的实施方式中,所述表格对象构建模块1202,包括:
边框元素构建单元,用于将所述表格内容中的每个表格线元素分别向端点两侧延伸,得到每两个相交的表格线元素的交点;根据多个所述交点确定所述表格内容中每个单元格的边框元素集合;
单元格对象创建单元,用于针对每个所述单元格执行以下处理:针对所述单元格创建单元格对象;
封装单元,用于将所述边框元素集合,以及所述表格内容中外接矩形框落入所述单元格对象的外接矩形框范围内的版式文档元素与所述单元格对象进行关联。
在一可能的实施方式中,所述边框元素构建单元,具体用于:
根据每相邻的两个所述交点创建一个边框元素;
将落在同一个单元格对象的外接矩形框上的边框元素归入所述单元格对象所对应单元格的边框元素集合;
将未被归入任一所述边框元素集合的所述边框元素的显示属性设置为隐式显示。
如图13所示,本申请实施例提供了一种电子设备,包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信,
存储器113,用于存放计算机程序;
在本申请一个实施例中,处理器111,用于执行存储器113上所存放的程序时,实现前述任意一个方法实施例提供的版式文档中表格的编辑方法,包括:
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的版式文档中表格的编辑方法的步骤。
识别出版式文档中包含的表格内容;
根据所述表格内容构建表格对象,其中,所述表格对象包括至少一个单元格对象,每个所述单元格对象对应所述表格内容中的一个单元格,且关联所述单元格中的多个版式文档元素;
响应于针对所述表格内容的编辑操作,确定待编辑的目标单元格对象,根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个”以及“所述”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在,但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们的组合。文中描述的方法步骤、过程、以及操作不解释为必须要求它们以所描述或说明的特定顺序执行,除非明确指出执行顺序。还应当理解,可以使用另外或者替代的步骤。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (22)
1.一种版本文档中表格的编辑方法,其特征在于,所述方法包括:
识别出版式文档中包含的表格内容;
根据所述表格内容构建表格对象,其中,所述表格对象包括至少一个单元格对象,每个所述单元格对象对应所述表格内容中的一个单元格,且关联所述单元格中的多个版式文档元素;
响应于针对所述表格内容的编辑操作,确定待编辑的目标单元格对象,根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素。
2.根据权利要求1所述的方法,其特征在于,所述编辑操作为表格移动操作;所述确定待编辑的目标单元格对象,包括:
将每个所述单元格对象均确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述表格移动操作确定所述表格内容的目标偏移方向和目标偏移量;
根据所述目标偏移方向和所述目标偏移量修改所述目标单元格对象的外接矩形框在所述版本文档中的坐标信息,以及修改所述目标单元格关联的每个所述版式文档元素的外接矩形框在所述版式文档中的坐标信息。
3.根据权利要求1所述的方法,其特征在于,所述编辑操作为表格删除操作;所述确定待编辑的目标单元格对象,包括:
将每个所述单元格对象均确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述表格删除操作删除所述目标单元格对象以及所述目标单元格对象关联的每个所述版式文档元素。
4.根据权利要求1所述的方法,其特征在于,所述编辑操作为表格缩放操作;所述确定待编辑的目标单元格对象,包括:
将每个所述单元格对象均确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述表格缩放操作确定所述表格内容在第一方向上的第一缩放比例和第二方向上的第二缩放比例;
根据所述第一缩放比例和所述第二缩放比例修改所述目标单元格对象的外接矩形框在所述版式文档中的坐标信息和尺寸;
将所述目标单元格对象关联的每个所述版式文档元素在所述目标单元格对象的外接矩形框范围内进行重新排版。
5.根据权利要求1所述的方法,其特征在于,所述编辑操作为插入行操作;所述确定待编辑的目标单元格对象,包括:
将所述插入行操作在所述表格内容中触发的行确定为基准行;
将所述基准行以及所述基准行之后的所有行中的单元格对象确定为待编辑的目标单元格对象;或者,将所述基准行之后的所有行中的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据待插入的行数n以及所述基准行的行高增大所述目标单元格对象的外接矩形框在所述版式文档中的第二方向上的坐标信息,以及增大所述目标单元格关联的每个所述版式文档元素的外接矩形框在所述版式文档中的第二方向上的坐标信息;
所述方法还包括:
根据所述插入行操作创建n个行容器,其中,所述行容器中包括m个单元格对象,所述m为所述基准行中的列数;
将所述n个行容器插入至所述基准行的上方或下方。
6.根据权利要求1所述的方法,其特征在于,所述编辑操作为插入列操作;所述确定待编辑的目标单元格对象,包括:
将所述插入列操作在所述表格内容中触发的列确定为基准列;
将所述基准列以及所述基准列右侧的所有列中的单元格对象确定为待编辑的目标单元格对象,或者,将所述基准列右侧的所有列中的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据待插入的列数s以及所述基准列的列宽增大所述目标单元格对象的外接矩形框在所述版式文档中的第一方向上的坐标信息,以及增大所述目标单元格关联的每个所述版式文档元素的外接矩形框在所述版式文档中第一方向上的坐标信息;
所述方法还包括:
根据所述插入行操作创建s个列容器,其中,所述列容器中包括t个单元格对象,所述t为所述基准列中的行数;
将所述s个列容器插入至所述基准列的左侧或右侧。
7.根据权利要求1所述的方法,其特征在于,所述编辑操作为删除行操作,所述确定待编辑的目标单元格对象,包括:
将所述删除行操作所选中的行确定为待删除的目标行;
将所述目标行中的单元格对象,以及所述目标行之后的所有行中的单元格对象均确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述删除行操作删除第一目标单元格对象以及所述第一目标单元格对象关联的每个所述版式文档元素,其中,所述第一目标单元格对象为所述目标行中的目标单元格对象;
根据所述目标行的行高之和减小第二目标单元格对象的外接矩形框在所述版式文档中的第二方向上的坐标信息,以及减小所述第二目标单元格对象关联的每个所述版式文档元素的外接矩形框在所述版式文档中的第二方向上的坐标信息,其中,所述第二目标单元格对象为所述目标行之后的所有行中的目标单元格对象。
8.根据权利要求1所述的方法,其特征在于,所述编辑操作为删除列操作,所述确定待编辑的目标单元格对象,包括:
将所述删除列操作所选中的列确定为待删除的目标列;
将所述目标列中的单元格对象,以及所述目标列右侧的所有列中的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述删除列操作删除第三目标单元格对象以及所述第三目标单元格对象关联的每个所述版式文档元素,其中,所述第三目标单元格对象为所述目标列中的目标单元格对象;
根据所述目标列的列宽之和减小第四目标单元格对象的外接矩形框在所述版式文档中的第一方向上的坐标信息,以及减小所述第四目标单元格对象关联的每个所述版式文档元素的外接矩形框在所述版式文档中的第一方向上的坐标信息,其中,所述第四目标单元格对象为所述目标列右侧的所有列中的目标单元格对象。
9.根据权利要求1所述的方法,其特征在于,所述编辑操作为调整行高操作,所述确定待编辑的目标单元格对象,包括:
将所述调整行高操作所选中的行确定为待调整的目标行;
将所述目标行中的单元格对象,以及所述目标行下方的所有行中的单元格对象确定为目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述调整行高操作修改第五目标单元格对象的外接矩形框的高度,以及修改所述第五目标单元格对象关联的边框元素的外接矩形框,其中,所述第五目标单元格对象为所述目标行中的目标单元格对象;
根据所述调整行高操作修改第六目标单元格对象的外接矩形框在所述版式文档中第二方向上的坐标信息,以及修改所述第六目标单元格对象关联的每个版式文档元素的外接矩形框在所述版式文档中第二方向上的坐标信息,其中,所述第六目标单元格对象为所述目标行之后的所有行中的目标单元格对象;
将所述第五目标单元格对象关联的至少一个所述版式文档元素在所述第五目标单元格对象的外接矩形框范围内进行重新排版。
10.根据权利要求1所述的方法,其特征在于,所述编辑操作为调整列宽操作,所述确定待编辑的目标单元格对象,包括:
将所述调整列宽操作所选中的列确定为待调整的目标列;
将所述目标列中的单元格对象,以及所述目标列右侧的所有列中的单元格对象确定为目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述调整列宽操作修改第七目标单元格对象的外接矩形框的宽度,以及修改所述第七目标单元格对象关联的边框元素的外接矩形框,其中,所述第七目标单元格对象为所述目标列中的目标单元格对象;
根据所述调整列宽操作修改第八目标单元格对象的外接矩形框在所述版式文档中第一方向上的坐标信息,以及修改所述第八目标单元格对象关联的每个版式文档元素的外接矩形框在所述版式文档中第一方向上的坐标信息,其中,所述第八目标单元格对象为所述目标列右侧的所有列中的目标单元格对象;
将所述第七目标单元格对象关联的至少一个所述版式文档元素在所述第七目标单元格对象的外接矩形框范围内进行重新排版。
11.根据权利要求1所述的方法,其特征在于,所述编辑操作为设置单元格背景操作,所述确定待编辑的目标单元格对象,包括:
将所述设置单元格背景操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述设置单元格背景操作创建背景元素,其中,所述背景元素的外接矩形框的尺寸与所述目标单元格对象的外接矩形框的尺寸相同,且所述背景元素以设定颜色填充;
将所述背景元素与所述目标单元格对象关联,并将所述背景元素置于所述目标单元格对象关联的其他版式文档元素的底层。
12.根据权利要求1所述的方法,其特征在于,所述编辑操作为选中单元格操作,所述确定待编辑的目标单元格对象,包括:
将所述选中单元格操作所触发的单元格对应的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述选中单元格操作创建选中效果元素,其中,所述选中效果元素的外接矩形框与所述目标单元格对象的外接矩形框重叠,或者所述选中效果元素的外接矩形框嵌套所述目标单元格对象的外接矩形框;
将所述选中效果元素与所述目标单元格对象关联。
13.根据权利要求1所述的方法,其特征在于,所述编辑操作为设置单元格对齐方式操作,所述确定待编辑的目标单元格对象,包括:
将所述设置单元格对齐方式操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述设置单元格对齐方式操作,将所述目标单元格对象关联的至少一个版式文档元素在所述目标单元格的外接矩形框范围内进行排版。
14.根据权利要求1所述的方法,其特征在于,所述编辑操作为清空单元格内容操作,所述确定待编辑的目标单元格对象,包括:
将所述清空单元格内容操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述清空单元格内容操作删除所述目标单元格对象关联的、除边框元素以外的其他版式文档元素。
15.根据权利要求1所述的方法,其特征在于,所述编辑操作为插入单元格内容操作,所述确定待编辑的目标单元格对象,包括:
将所述插入单元格内容操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述插入单元格内容操作创建相应的内容元素;
将所述内容元素与所述目标单元格对象关联,并将所述内容元素在所述目标单元格的外接矩形框范围内进行排版。
16.根据权利要求1所述的方法,其特征在于,所述编辑操作为表格复制粘贴操作,所述确定待编辑的目标单元格对象,包括:
将所述表格复制粘贴操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述表格复制粘贴操作,为所述目标单元格对象及其关联的每个所述版式文档元素创建对应的副本;
将所述目标单元格对象的副本以及关联的每个所述版式文档元素的副本写入所述表格复制粘贴操作所对应的目标位置处。
17.根据权利要求1所述的方法,其特征在于,所述编辑操作为表格剪切粘贴操作,所述确定待编辑的目标单元格对象,包括:
将所述表格剪切粘贴操作所选中的单元格对应的单元格对象确定为待编辑的目标单元格对象;
所述根据所述编辑操作编辑所述目标单元格对象关联的至少一个版式文档元素,包括:
根据所述表格剪切粘贴操作,为所述目标单元格对象及其关联的每个所述版式文档元素创建对应的副本,并删除所述目标单元格对象以及所述目标单元格对象关联的每个所述版式文档元素;
将所述目标单元格对象的副本以及关联的每个所述版式文档元素的副本写入所述表格剪切粘贴操作所对应的目标位置处。
18.根据权利要求1所述的方法,其特征在于,所述根据所述表格内容构建表格对象,包括:
将所述表格内容中的每个表格线元素分别向端点两侧延伸,得到每两个相交的表格线元素的交点;
根据多个所述交点确定所述表格内容中每个单元格的边框元素集合;
针对每个所述单元格执行以下处理:
针对所述单元格创建单元格对象;
将所述边框元素集合,以及所述表格内容中外接矩形框落入所述单元格对象的外接矩形框范围内的版式文档元素与所述单元格对象进行关联。
19.根据权利要求18所述的方法,其特征在于,所述根据多个所述交点确定所述表格内容中每个单元格的边框元素集合,包括:
根据每相邻的两个所述交点创建一个边框元素;
将落在同一个单元格对象的外接矩形框上的边框元素归入所述单元格对象所对应单元格的边框元素集合;
将未被归入任一所述边框元素集合的所述边框元素的显示属性设置为隐式显示。
20.一种版本文档中表格的编辑装置,其特征在于,所述装置包括:
表格识别模块,用于识别出版式文档中包含的表格内容;
表格对象构建模块,用于根据所述表格内容构建表格对象,其中,所述表格对象包括多个单元格对象,每个所述单元格对象对应所述表格内容中的一个单元格,且关联所述单元格中的多个版式文档元素;
表格编辑模块,用于响应于针对所述表格内容的编辑操作,确定待编辑的目标单元格对象,根据所述编辑操作编辑所述目标单元格对象及所述目标单元格对象关联的至少一个版式文档元素。
21.一种电子设备,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的版本文档中表格的编辑程序,以实现权利要求1~19中任一项所述的版本文档中表格的编辑方法。
22.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1~19中任一项所述的版本文档中表格的编辑方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311701808.8A CN117688917A (zh) | 2023-12-11 | 2023-12-11 | 版式文档中表格的编辑方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311701808.8A CN117688917A (zh) | 2023-12-11 | 2023-12-11 | 版式文档中表格的编辑方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117688917A true CN117688917A (zh) | 2024-03-12 |
Family
ID=90131446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311701808.8A Pending CN117688917A (zh) | 2023-12-11 | 2023-12-11 | 版式文档中表格的编辑方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117688917A (zh) |
-
2023
- 2023-12-11 CN CN202311701808.8A patent/CN117688917A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6725714B2 (ja) | モバイル向けのおよび他の表示環境をサポートするインタラクティブなサイトおよびアプリケーションの自動変換のためのシステムおよび方法 | |
EP0690415B1 (en) | Editing scanned document images using simple interpretations | |
JP3489119B2 (ja) | 文書処理装置 | |
US7468805B2 (en) | Selective preview and proofing of documents or layouts containing variable data | |
US8713430B2 (en) | Document layout method | |
JP2023169320A (ja) | 階層流動コンポーネントおよび動的レイアウトを統合した応答編集および表示を提供するシステムおよび方法 | |
US7548334B2 (en) | User interface for creation and editing of variable data documents | |
US8078955B1 (en) | Method and apparatus for defining table styles | |
US7320104B2 (en) | Text grid creation tools | |
US5144693A (en) | Method and apparatus for generic form generation | |
US20060206800A1 (en) | Method for displaying editable characters in a divided table cell | |
WO2016054549A1 (en) | Application prototyping tool | |
US20090282325A1 (en) | Sparklines in the grid | |
CN117688917A (zh) | 版式文档中表格的编辑方法、装置、电子设备及存储介质 | |
KR102649627B1 (ko) | 어도비 인디자인 전자편집(dtp) 프로그램을 이용한 이미지 자동배치 및 실행방법 | |
CN117688916A (zh) | 在版式文档中插入表格的方法、装置、设备及存储介质 | |
CN115630622B (zh) | 一种基于矢量图元的画法实现方法及装置 | |
JP4062332B2 (ja) | 罫線の処理方法およびその装置 | |
US20210072882A1 (en) | User Interface for Designing Photo-Book Layouts | |
JPS61107467A (ja) | 文字・図形編集装置の枠空け指定方式 | |
Gao et al. | Localized layout analysis for retargeting of heterogeneous images | |
CN117494667A (zh) | 文档插入方法、装置、计算机设备及存储介质 | |
AU2004203130B2 (en) | Selective Preview and Proofing of Documents or Layouts Containing Variable Data | |
CN116341496A (zh) | 文档排版方法、装置及设备 | |
JP4254904B2 (ja) | 罫線の処理方法およびその装置 |
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 |