一种页面模板替换方法和装置
技术领域
本发明涉及出版领域,尤其涉及一种页面模板替换方法和装置。
背景技术
排版是把文字、表格、图片等进行合理的排列调整,使版面达到美观的视觉效果。过去,页面排版是一项手工工作,套准、版面调整、补偿等效果均取决于操作人员的眼力和手工技术水平。而今,页面的排版已经完全可以由计算机来完成,为了方便起见,页面的基本结构和布局设置可以由模板来决定,人们只需在模板的各个容器中输入内容,即可完成页面的制作。
已经布局好的页面,经常需要切换模板,来达到更好的视觉效果。但是在切换模板时,当前技术大多只是简单的依据从上至下或者从左至右的规则进行替换,不能依照用户的要求进行布局,转换不够灵活,对使用模板的用户来说非常不便。
发明内容
本发明为解决现有技术中页面模板替换规则固定、不够灵活的问题,提供一种页面模板替换方法和装置。
本发明方法包括:
一种页面模板替换方法及装置,包括:
按容器的属性,将待替换的页面模版和选定的页面模版中的容器分别进行分类;
依据设定的条件,将所述待替换的页面模版中同一类型的容器进行排序得到待替换容器序列;
依据所述设定的条件,将所述选定的页面模版中同一类型的容器进行排序得到替换容器序列;所述设定的条件为容器在页面模版中的位置和/或大小;
针对同一类型的容器,将所述待替换容器序列中各容器的内容写入对应的所述替换容器序列中的容器。
所述设定的条件为容器在页面模版中的位置和/或大小,具体包括:
在所述待替换的页面模版和所述选定的页面模版上建立相同的坐标系;
根据容器的中心点在所述坐标系中的坐标值进行排序;或,将容器四个顶点在所述坐标系中的坐标值进行加权计算并根据加权值进行排序。
所述将容器四个顶点在所述坐标系中的坐标值进行加权计算并根据加权值进行排序,进一步包括:
将所述容器中位于一条对角线上的两个顶点设为组对照点;
将一组组对照点的坐标值的权重设为零。
所述将所述待替换容器序列中各容器的内容写入对应的所述替换容器序列中的容器,还包括:
若所述待替换容器序列中的容器多于所述替换容器序列中的容器,则将所述多出的容器中的内容放入所述替换容器序列中同一类型的最后一个容器中,且做不显示处理。
所述将所述待替换容器序列中各容器的内容写入对应的所述替换容器序列中的容器之后,进一步包括:将所述替换容器序列中的容器的格式应用到所述容器内写入的内容上。
一种页面模板替换装置,包括:分类模块、排序模块、写入模块;
所述分类模块,用于按容器的属性,将待替换的页面模版和选定的页面模版中的容器分别进行分类;
所述排序模块,用于依据设定的条件,将所述待替换的页面模版中同一类型的容器进行排序得到待替换容器序列;
所述排序模块,还用于依据所述设定的条件,将所述选定的页面模版中同一类型的容器进行排序得到替换容器序列;所述设定的条件为容器在页面模版中的位置和/或大小;
所述写入模块,用于针对同一类型的容器,将所述待替换容器序列中各容器的内容写入对应的所述替换容器序列中的容器。
所述排序模块,进一步用于:
在所述待替换的页面模版和所述选定的页面模版上建立相同的坐标系;
根据容器的中心点在所述坐标系中的坐标值进行排序;或,将容器四个顶点在所述坐标系中的坐标值进行加权计算并根据加权值进行排序。
所述排序模块,进一步用于:
将所述容器中位于一条对角线上的两个顶点设为组对照点;
将一组组对照点的坐标值的权重设为零。
所述写入模块,还用于:
若所述待替换容器序列中的容器多于所述替换容器序列中的容器,则将所述多出的容器中的内容放入所述替换容器序列中同一类型的最后一个容器中,且做不显示处理。
所述写入模块,进一步用于:将所述替换容器序列中的容器的格式应用到所述容器内写入的内容上。
本发明实施例提供的页面模板替换方法和装置,首先将不同属性的容器进行分类,方便将同一类型的容器进行替换;然后,不再是依据容器的位置,简单的由上至下或从左至右的进行替换,而是根据容器在页面模版中的位置和/或大小,可以单独考虑容器的位置或大小,也可将两者结合起来,综合考虑页面中容器的各方面因素,对容器排序,然后进行替换;也可按照用户的实际需要,以容器的某个因素为重点,增加该因素的权重,结合其他方面的因素,灵活机动的对容器排序,再进行替换。可以让用户在替换页面模板时,更加方便,可以根据不同的需求和实际情况,灵活地进行模板替换和页面布局。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一中页面模板替换方法的流程图;
图2为本发明实施例一中页面模板替换装置方法的流程图;
图3为本发明实施例二中待替换的页面a;
图4为本发明实施例二中页面a对应的页面模版A;
图5为本发明实施例二中选定的页面模版B;
图6为本发明实施例二中将模板A替换为模板B后的效果图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供一种更灵活的页面模板替换方法,下面参照附图,以不同实施例分别详细地说明本发明的实施方式。
实施例一
如图1所示,为本发明实施例一提供的一种页面模板替换方法的流程图,方法包括:
S101、按容器的属性,将待替换的页面模版和选定的页面模版中的容器分别进行分类;
S102、依据设定的条件,将所述待替换的页面模版中同一类型的容器进行排序得到待替换容器序列;
S103、依据所述设定的条件,将所述选定的页面模版中同一类型的容器进行排序得到替换容器序列;所述设定的条件为容器在页面模版中的位置和/或大小;
S104、针对同一类型的容器,将所述待替换容器序列中各容器的内容写入对应的所述替换容器序列中的容器。
本发明实施例一提供的页面模板替换方法和装置,首先将不同属性的容器进行分类,方便将同一类型的容器进行替换,这些容器按属性分类,可分为文字容器、图像容器、表格容器和视频容器等。然后根据容器在页面模版中的位置和/或大小,可以单独考虑容器的位置或大小,也可将两者结合起来,综合考虑页面中容器的各方面因素,对容器排序,然后进行替换。也可按照用户的实际需要,以容器的某个因素为重点,增加该因素的权重,再结合其他方面的因素,灵活机动的对容器排序,最后进行替换。可以让用户在替换页面模板时更加方便,可以根据不同的需求和实际情况,灵活地进行模板替换和页面布局。
较佳地,所述设定的条件为容器在页面模版中的位置和/或大小,具体包括:
在所述待替换的页面模版和所述选定的页面模版上建立相同的坐标系;
根据容器的中心点在所述坐标系中的坐标值进行排序;或,将容器四个顶点在所述坐标系中的坐标值进行加权计算并根据加权值进行排序。
在页面模板上建立坐标系,可以用坐标值将容器的位置和大小等影响排版的因素量化,方便接下来的排序。为了方便起见,可以将页面模板四个顶点中的一个作为坐标原点,沿页面模板的水平方向为X轴,沿竖直方向为Y轴,页面模板上的点都取正值。
若仅依照容器在页面模板内的位置来排序,可以取每个容器的中心点,将容器中心点的纵坐标进行排序,纵坐标相同的容器再根据其中心点的横坐标进行排序,待替换页面模板和选定的页面模板中排序的规则相同,即可得到按容器位置排列的两个容器序列,一个是待替换容器序列,一个是替换容器序列。然后将两个容器序列中容器的位置相对比,将待替换容器序列中容器的内容写入替换容器序列中位置相同的容器中。
若需考虑容器的其它因素,可以获取每个容器的四个顶点的坐标值,并进行加权计算,对于需要优先考虑的因素,则增加表现其坐标值的权重。
假设容器左上角顶点的坐标值为(x1,y1)、右上角顶点的坐标值为(x2,y2)、左下角顶点的坐标值为(x3,y3)、右下角顶点的坐标值为(x4,y4),加权值=ax1+by1+cx2+dy2+ex3+fy3+gx4+hy4,其中,a~h为权重。
较佳地,所述将容器四个顶点在所述坐标系中的坐标值进行加权计算并根据加权值进行排序,进一步包括:
将所述容器中位于一条对角线上的两个顶点设为组对照点;
将一组组对照点的坐标值的权重设为零。
为了方便起见,可将容器一条对角线上的点的权重设为零,另一条对角线上的点的权重设为非零,如将左下角和右上角的点的权重设为零,将左上角和右下角的点的纵坐标的权重设为2,则,加权值=x1+2y1+x4+2y4。如此取值,即综合考虑了容器的位置和大小,吻合平时的阅读习惯,为从左至右,又侧重优先阅读上方文字。在文字为竖排或页面为横版的情况下,可以调整权重为其它值。
需要考虑某个因素,就将表现该因素的坐标值的权重设为非零,将其余点的权重设为零,可以方便对每个容器进行计算,省去了不必要的计算,从而降低了计算量,增加了计算速度和反应速度。
再比如,若只需根据容器的高度进行排序,则可取容器一条竖直边上的两个坐标,如左上角和左下角,加权值=(-x1)+(-y1)+x3+y3,其中x1=x3,则加权值=y3-y1。若需依据容器的大小进行排序,因为容器的大小可以由容器的高度和宽度共同表示,则可取容器一条对角线上点的坐标值,如左上角和右下角,加权值=(-x1)+(-y1)+x4+y4。
较佳地,所述将所述待替换容器序列中各容器的内容写入对应的所述替换容器序列中的容器,还包括:
若所述待替换容器序列中的容器多于所述替换容器序列中的容器,则将所述多出的容器中的内容放入所述替换容器序列中同一类型的最后一个容器中,且做不显示处理。
某些情况下,待替换的页面模板中的内容较多,且更换模板后某些容器中的不需显示,将多出的容器中的内容也放入选定的页面模版中,做不显示处理,以确保原始的内容不会在模板转换中丢失。
较佳地,所述将所述待替换容器序列中各容器的内容写入对应的所述替换容器序列中的容器之后,进一步包括:将所述替换容器序列中的容器的格式应用到所述容器内写入的内容上。
页面模板替换后,对于容器中的内容,可以保留原来的待替换的页面模板中的格式,也可以转换为选定的页面模板中的格式。本发明实施例一采用了转换为选定的页面模板中的格式。
基于相同的技术构思,本发明实施例一还提供一种页面模板替换装置,该装置可执行上述方法实施例,所述装置如图2所示,包括:分类模块01、排序模块02和写入模块03;
所述分类模块01,用于按容器的属性,将待替换的页面模版和选定的页面模版中的容器分别进行分类;
所述排序模块02,用于依据设定的条件,将所述待替换的页面模版中同一类型的容器进行排序得到待替换容器序列;
所述排序模块02,还用于依据所述设定的条件,将所述选定的页面模版中同一类型的容器进行排序得到替换容器序列;所述设定的条件为容器在页面模版中的位置和/或大小;
所述写入模块03,用于针对同一类型的容器,将所述待替换容器序列中各容器的内容写入对应的所述替换容器序列中的容器。
较佳地,所述排序模02,进一步用于:
在所述待替换的页面模版和所述选定的页面模版上建立相同的坐标系;
根据容器的中心点在所述坐标系中的坐标值进行排序;或,将容器四个顶点在所述坐标系中的坐标值进行加权计算并根据加权值进行排序。
较佳地,所述排序模块02,进一步用于:
将所述容器中位于一条对角线上的两个顶点设为组对照点;
将一组组对照点的坐标值的权重设为零。
较佳地,所述写入模块03,还用于:
若所述待替换容器序列中的容器多于所述替换容器序列中的容器,则将所述多出的容器中的内容放入所述替换容器序列中同一类型的最后一个容器中,且做不显示处理。
较佳地,所述写入模块03,进一步用于:将所述替换容器序列中的容器的格式应用到所述容器内写入的内容上。
实施例二
下面结合附图,根据具体的情况,详细说明本发明实施例。
图3为待替换的页面a,应用了模板A,已添加了文字及图片内容。图4为页面a对应的页面模版,记为模板A;图5为选定的页面模版,记为模板B。可以看出,模板A中有3个图像容器和4个文字容器,模板B中有4个图像容器和4个文字容器。现需将页面a所应用的模板A替换为选定的模板B。
第一步、将模板A、模板B中的容器进行分类。对于本发明实施例二,可分为文字容器和图像容器。
第二步、首先处理文字容器。将模板A中的文字容器归于待替换容器序列,记为T1;将模板B中的文字容器归于替换容器序列,记为T2。
第三步、对T1和T2中的文字容器按相同的排序规则分别进行排序。
首先在模板A和模板B中以相同的方式分别建立坐标系。以模板左上角顶点为坐标原点,水平方向为X轴,竖直方向为Y轴,建立坐标系,使模板上的点都取正值,由此,沿模板从左到右,横坐标越来越大;从上到下,纵坐标越来越大。然后,取文字容器左上角顶点的坐标值为(x1,y1)、右下角顶点的坐标值为(x4,y4),根据从左往右,又优先阅读上方文字的习惯,取横坐标的权重为1,纵坐标的权重为2,加权值=x1+2y1+x4+2y4。将T1和T2中的每个文字容器进行加权计算,得到两组加权值。最后,按照文字容器的加权值的从小到大的顺序,将T1和T2中的文字容器进行排序。T1中的文字容器经排序记为1、2、3、4,如图4;T2中的文字容器经排序记为1`、2`、3`、4`,如图5。
第四步、按对应的顺序,将T1的文字容器的内容写入T2的文字容器中。即将文字容器1中的内容写入文字容器1`中,文字容器2中的内容写入文字容器2`中,……依次类推。
第五步、将写入T2的文字容器中的内容设置为T2的文字容器所携带的格式。
第六步、接着处理图像容器。依照文字容器的替换方式,将页面a中的图像内容写入模板B的图像容器中。如图6,为将模板A替换为模板B后的效果图。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。