一种内容块自动排版的方法

文档序号:6579133阅读:169来源:国知局
专利名称:一种内容块自动排版的方法
技术领域
本发明涉及计算机排版领域,尤其是一种使用布局特征对可变内容进行排版的方法。
背景技术
在各种计算机内容呈现应用中,经常需要对于一些可变内容的内容块进行组合排 版的情况,例如,杂志、报刊的印前排版,多媒体电子读物,网页,等等。在排版的板式决定之 后,内容块的位置会由于下面两个因素的变化而调整 1.内容块的内容发生变化,导致内容块尺寸发生变化,进而影响内容块自身以及 周边内容块的位置。 2.整体排版区域的尺寸发生变化,将导致某些内容块需要相应的调整自身的尺 寸。 例如,在图1中,一个两列的版式中,当第一列的第一内容块的内容增加时,第一 列后续的块需要下移,但第二列的内容块的位置不发生任何变化。 因此,自动布局必须获得各个内容块间的关联信息,确保当这些变动发生时,有足 够信息来对布局块的位置进行符合逻辑的调整。 目前,现有的内容块自动排版方法中,这些关联信息是由排版者提供的,排版者必 须指定版式中各内容块布局结构特征信息,典型的方法如HTML和CSS中的对内容块的自 动排版的方法,他们需要排版者通过专用布局描述语言来定义特征信息。这种方式虽然能 够精确地描述布局关联信息,但由于需要排版者手工输入/指定布局块的布局结构特征信 息,导致此类自动排版方法只能被专业人员使用,排版工作效率不高。

发明内容
为了克服已有的内容块自动排版方法的手工编辑、排版难度大、排版工作效率低 的不足,本发明提供一种自动编辑、排版自动完成、大大提高排版工作效率的内容块自动排 版的方法。 本发明解决其技术问题所采用的技术方案是 —种内容块自动排版的方法,所述自动排版的方法包括以下步骤
(1)、提取布局信息 依照已经排版好的版面,所述版面包含有矩形边界的内容块,内容块为最小的布
局区域,其中,空白也是没有内容的内容块; 布局区域细化划分过程如下 1. 1)如果当前布局区域是一个空白的布局区域,则无需再细化划分,结束划分流 程; 1.2)如果当前布局区域只有一个内容块,它就是最小的布局区域,也无需再细化 划分,结束划分流程;
7
1. 3)找出不能与布局区域中任何一个内容块的内容有交点的,且能从左往右对当 前布局区域进行横向划分的线条,得到横向划分次级布局区域; 1.4)如果不能进行横向划分,则找出能从上往下对布局区域进行纵向划分的线 条,得到纵向划分次级布局区域; 1. 5)如果横向次级布局区域或纵向次级布局区域是单个内容块,则无需再划分这
个次级布局区域;如果划分出来的横向次级布局区域或纵向次级布局区域仍包含多个内容
块,则需要重新按照1. 1)到1. 4)的步骤来划分,直到得到最小的布局区域为止; 在每次划分的流程中,记录内容块之间的如下关联信息产生布局区域与次级
布局区域的父子关系、布局区域与布局区域间的上下前后关系、以及每一个布局区域的尺
寸; (2)、使用布局信息布局将布局区域的布局信息转换成内容块的位置信息,目标
区域是指用来对布局区域进行重新布局的包含建议位置和尺寸的矩形区域;顶级目标区域
是用来重新布局顶级布局区域的目标区域;具体如下 2. 1)、当布局区域是一个空白的布局区域时, ①它在顶级目标区域中的布局尺寸就是它的实际尺寸。 ②在横向和纵向的布局区域中,空白内容块的目标区域尺寸就是它的原始尺寸。
2. 2)、如果布局区域是单个内容块,在目标区域进行布局时,内容块的左边界和上 边界总是布局区域的左边界和上边界,目标区域的实际尺寸为对内容块进行布局后的内容 块实际尺寸; 2. 3)、如果布局区域包含多个横向次级布局区域,按照以下步骤进行
2. 3. 1)、对所有次级布局区域进行预布局; 2.3.2)、统一目标区域中次级布局区域的高度如果在目标区域中的次级布局区 域的实际高度不完全一样,则需要调整次级布局区域的高度;先找出实际高度最高的次级 布局区域;然后,对其他的次级布局区域进行重新布局;
2. 3. 3)计算当前目标区域的实际尺寸; 2. 4)、如果布局区域包含多个纵向次级布局区域,按照以下步骤进行
2. 4. 1)、对所有次级布局区域进行预布局; 2.4.2)、统一目标区域中次级布局区域的宽度如果在目标区域中的次级布局区 域的实际宽度不完全一样,则需要调整次级布局区域的宽度;先找出实际宽度最大的次级 布局区域。然后,对其他的次级布局区域进行重新布局;
2. 4. 3)计算当前目标区域的实际尺寸; (3)、当内容块的内容发生变化时,依照步骤(2)定义的布局信息进行自动排版。
进一步,所述步骤(1)中,布局区域细化划分过程还包括1.6)、如果当前布局区 域包含了多个内容板块却不能进行横向和纵向划分,则归为特殊情况; 所述步骤(2)还包括2. 5)、如果布局区域是特殊的布局区域,对内容块的进行縮 放;对内容块的縮放通过计算每个内容块的目标区域进行。 再进一步,所述步骤2.2)中,在决定内容块布局的建议尺寸时,则会产生四种情 况 ①限宽限高时,目标区域的实际尺寸就是对内容块布局后,得到的实际尺寸;
②限宽不限高时,在限定宽度的情况下,给定一个建议的高度为零,目标区域的实 际高度是对内容块布局之后,得到的实际高度; ③限高不限宽时,在限定高度的情况下,给定一个建议的宽度为零。目标区域的实 际宽度就是对内容块布局之后,得到的实际宽度; ④不限高不限宽时,在目标区域中,给定一个建议的高度和宽度都为零;目标区域
的实际宽度和高度就是对内容块布局之后,得到的实际宽度和高度。 更进一步,所述步骤2. 3. 1)中,对所有次级布局区域进行预布局的过程为 a.如果布局区域是限宽的 1.先找出最宽的次级布局区域 2.对此布局区域左侧的次级布局区域(如果有的话)按从左向右的顺序进行布
局,第一个次级布局区域布局时的目标区域为 1)左边界为当前目标区域的左边界; 1)上边界为当前目标区域的上边界; 1)宽度为第一个次级布局区域的尺寸; 1)高度为当前布局区域的尺寸; 后续的次级布局区域布局时的目标区域为 參左边界为前一布局区域布局完成后的实际右边界; 參上边界为当前目标区域的上边界; 參宽度为当前次级布局区域的尺寸; 參高度为当前布局区域的尺寸; 3.如果有对此布局区域右侧的次级布局区域,按从右向左的顺序进行布局; 第一个次级布局区域布局时的目标区域为 參左边界为当前目标区域的右边界减去第一个次级布局区域的尺寸; 參上边界为当前目标区域的上边界; 參宽度为第一个次级布局区域的尺寸; 參高度为当前布局区域的尺寸; 后续的次级布局区域布局时的目标区域为 參左边界为前一布局区域布局完成后的实际左边界减去当前次级布局区域的尺 寸; 參上边界为当前目标区域的上边界; 參宽度为当前次级布局区域的尺寸; 參高度为当前布局区域的尺寸; 对右侧的每一个次级布局区域进行布局后,如果次级布局区域实际宽度和事先给
定的宽度不一致,则需要对此次级布局区域进行重新布局,布局的目标区域为 參左边界为前一布局区域布局完成后的实际左边界减去当前次级布局区域的实
际宽度 參上边界不变,还是当前目标区域的上边界 參宽度为当前次级布局区域的实际宽度 參高度为当前布局区域的实际宽度
4.对宽度最宽的布局区域进行布局,目标区域为 參左边界为左侧的次级布局区域布局完成后的实际右边界,如果没有左侧次级布
局区域,则为当前布局区域的左边界 參上边界为当前目标区域的上边界 參宽度为右侧次级布局区域布局完成后的实际左边界(如果有的话,如果没有则 是当前布局区域的右边界)和当前次级布局区域左边界的差。 參高度为当前布局区域的尺寸 b.如果是不限宽的,按照在限宽条件下对最宽的次级布局区域左侧从左向右的布 局方式对所有次级布局区域逐一进行布局。 所述步骤2. 3. 2)中,其他的次级布局区域进行重新布局的布局目标区域为 參左边界,上边界,宽度和第一阶段的实际值一样; 參高度为实际最高的次级布局区域的实际高度。 所述步骤2. 3. 1)中,(请补充纵向次级布局区域的过程) 所述步骤2. 3. 2)中,(请补充) 更进一步,所述步骤2. 4. 1)中,对所有次级布局区域进行预布局的过程为 a.如果布局区域是限高的 1.先找出最高的次级布局区域 2.对此布局区域上侧的次级布局区域(如果有的话)按从上向下的顺序进行布
局,第一个次级布局区域布局时的目标区域为 1)左边界为当前目标区域的左边界; 1)上边界为当前目标区域的上边界; 1)高度为第一个次级布局区域的尺寸; 1)宽度为当前布局区域的尺寸; 后续的次级布局区域布局时的目标区域为 參上边界为前一布局区域布局完成后的实际下边界; 參左边界为当前目标区域的左边界; 參高度为当前次级布局区域的尺寸; 參宽度为当前布局区域的尺寸; 3.如果有对此布局区域下侧的次级布局区域,按从下向上的顺序进行布局; 第一个次级布局区域布局时的目标区域为 參上边界为当前目标区域的下边界减去第一个次级布局区域的尺寸; 參左边界为当前目标区域的左边界; 參高度为第一个次级布局区域的尺寸; 參宽度为当前布局区域的尺寸; 后续的次级布局区域布局时的目标区域为 參上边界为前一布局区域布局完成后的实际上边界减去当前次级布局区域的尺 寸; 參左边界为当前目标区域的左边界; 參高度为当前次级布局区域的尺寸;
參宽度为当前布局区域的尺寸; 对下侧的每一个次级布局区域进行布局后,如果次级布局区域实际高度和事先给
定的高度不一致,则需要对此次级布局区域进行重新布局,布局的目标区域为 參上边界为前一布局区域布局完成后的实际上边界减去当前次级布局区域的实
际宽度 參左边界不变,还是当前目标区域的左边界 參高度为当前次级布局区域的实际高度 參宽度为当前布局区域的实际高度 4.对宽度最宽的布局区域进行布局,目标区域为 參上边界为上侧的次级布局区域布局完成后的实际下边界,如果没有上侧次级布
局区域,则为当前布局区域的上边界 參左边界为当前目标区域的左边界 參高度为下侧次级布局区域布局完成后的实际上边界(如果有的话,如果没有则 是当前布局区域的下边界)和当前次级布局区域上边界的差。 參高度为当前布局区域的尺寸 第二,如果是不限高的,按照在限高条件下对最高的次级布局区域上侧从上向下 的布局方 式对所有次级布局区域逐一进行布局。 所述步骤2.4.2)中,其他的次级布局区域进行重新布局的布局目标区域为 1.上边界,左边界,高度和第一阶段的实际值一样; 2.宽度为实际最宽的次级布局区域的实际宽度。 所述步骤2.5)中,在目标区域中进行布局可分以下四种情况 ①如果是不限高宽的布局区域,目标区域中 左边界=原内容块左边界 上边界=原内容块上边界 高度=原内容块高度 高度=原内容块宽度 ②如果是限高不限宽的布局区域,按下面的公式获得每个内容块的目标区域 縮放比例=当前目标区域高度/布局区域高度; 左边界=布局块左边界+ (内容块左边界_布局块左边界)X縮放比例; 上边界=布局块上边界+(内容块上边界_布局块上边界)X縮放比例; 高度=内容块高度X縮放比例; 宽度=内容块宽度X縮放比例; ③如果是限宽不限高的布局区域,按下面的公式获得每个内容块的目标区域 縮放比例=当前目标区域宽度/布局区域宽度 左边界=布局块左边界+ (内容块左边界_布局块左边界)X縮放比例; 上边界=布局块上边界+(内容块上边界_布局块上边界)X縮放比例; 高度=内容块高度X縮放比例; 宽度=内容块宽度X縮放比例;
④如果是限高宽的布局区域,按下面的公式获得每个内容块的目标区域 宽度縮放比例=当前目标区域宽度/布局区域宽度; 高度縮放比例=当前目标区域高度/布局区域高度; 左边界=布局块左边界+ (内容块左边界_布局块左边界)X宽度縮放比例; 上边界=布局块上边界+ (内容块上边界_布局块上边界)X高度縮放比例; 高度=内容块高度X高度縮放比例; 宽度=内容块宽度X宽度縮放比例; 通过以上四种对内容块的布局流程,可计算当前目标区域的实际尺寸 a.实际宽度为最右侧内容块的右边界和最左侧内容块的左边界的差; b.实际高度为最下侧内容块的下边界和最上侧内容块的上边界的差。 本发明的技术构思为首先,定义内容块是指所述布局方法的作用对象,这些对象
具有如下的特性 1.有一个矩形的边界; 2.能够参考一个建议的尺寸(宽、高)来完成自身的布局,布局后的实际尺寸有可 能和参考尺寸不同。 3.内容块中的内容有可能随时发生变化,但一但内容确定且经过布局之后,内容 块的尺寸就会固定下来。 所有符合以上三个特征的对象均可作为内容块。例如通常在排版中出现的文字, 图片等。 布局区域是用来指定其内部对象布局逻辑的矩形区域。按布局区域的布局逻辑和 内部对象的类型分类,布局区域可以分为 空布局区域内部的没有对象 内容块布局区域内部单个内容块 特殊布局区域内部有多个内容块 横向布局区域内部有多个横向排列的次级布局区域 纵向布局区域内部有多个纵向排列的次级布局区域 次级布局区域是指包含在当前布局区域中小一级的布局区域。 顶级布局区域是指没有父布局区域的布局区域。 布局信息包括 1.父子关系布局区域与次级布局区域之间的包含关系。 2.上下前后关系布局区域与布局区域之间的关系。 3.布局尺寸布局区域的宽和高。 位置信息是指布局区域中内容块所处的左右上下位置以及它到布局区域间的距 离。 布局的基本思想所述的布局方法通过从一个已有样板版面的内容块位置信息 中提取布局所需的布局区域的布局信息,然后再使用此布局信息对内容块的新内容进行布局。 在一般情况下,样板版面仅有的内容块位置信息中已经缺失了进行新内容布局所 需的内容块关联信息(如,说明内容块间位置关系的信息,说明当一个内容块因为内容的变化位置发生变化时,周围的内容块的位置如何调整的信息等),本方法将通过对样板版面 视觉语义的分析,重新获取这部分丢失的关联信息。 这里所指的视觉语义是指新的布局结果和样板版面保持视觉上的一致性和相似 性,具体包括下面三条原则 1.确保新的布局结果和样板版面内容块关系的不变性,即下面的关系保持不变
a)内容块上下关系
b)内容块左右关系
c)内容块重叠关系 2.尽可能确保在样板版面中对齐的边界关系的不变性,如
a)尽可能保持对齐的内容块边际对齐
b)尽可能保证边界距离不变 3. —般情况下,如果区域需要伸縮,总是优先伸縮样板版面中尺寸比较大的部分。
本发明的有益效果主要表现在自动编辑、排版自动完成、大大提高排版工作效率。


图1是两列的排版格式的变化示意图。
图2是特殊情况的布局区域的示意图。 图3是横向和纵向划分出来的次级布局区域的过程示意图,注a.第一次划分得 到次级布局区域①和②;b..第二次划分得到次级布局区域③和④;c.③和④与②的关系 是父子关系。 图4是统一目标区域的高度的示意图;注a.图中的内容块之间并没空白,此处留 空白是画图的需要;b.⑤中的阴影处为统一目标区域之后,得到的实际高度。
图5是特殊情况的布局区域的示意图。
具体实施例方式
下面结合附图对本发明作进一步描述。 参照图1 图5,一种内容块自动排版的方法,所述自动排版的方法包括以下步 骤 (1)、提取布局信息 依照已经排版好的版面,所述版面包含有矩形边界的内容块,内容块为最小的布
局区域,其中,空白也是没有内容的内容块; 布局区域细化划分过程如下 1.6)如果当前布局区域是一个空白的布局区域,则无需再细化划分,结束划分流 程; 1.7)如果当前布局区域只有一个内容块,它就是最小的布局区域,也无需再细化 划分,结束划分流程; 1. 8)找出不能与布局区域中任何一个内容块的内容有交点的,且能从左往右对当 前布局区域进行横向划分的线条,得到横向划分次级布局区域;
13
1.9)如果不能进行横向划分,则找出能从上往下对布局区域进行纵向划分的线 条,得到纵向划分次级布局区域; 1. 10)如果横向次级布局区域或纵向次级布局区域是单个内容块,则无需再划分
这个次级布局区域;如果划分出来的横向次级布局区域或纵向次级布局区域仍包含多个内
容块,则需要重新按照1. 1)到1. 4)的步骤来划分,直到得到最小的布局区域为止; 在每次划分的流程中,记录内容块之间的如下关联信息产生布局区域与次级
布局区域的父子关系、布局区域与布局区域间的上下前后关系、以及每一个布局区域的尺
寸; (2)、使用布局信息布局将布局区域的布局信息转换成内容块的位置信息,目标
区域是指用来对布局区域进行重新布局的包含建议位置和尺寸的矩形区域;顶级目标区域
是用来重新布局顶级布局区域的目标区域;具体如下 2. 1)、当布局区域是一个空白的布局区域时, ③它在顶级目标区域中的布局尺寸就是它的实际尺寸。 ④在横向和纵向的布局区域中,空白内容块的目标区域尺寸就是它的原始尺寸。
2. 2)、如果布局区域是单个内容块,在目标区域进行布局时,内容块的左边界和上 边界总是布局区域的左边界和上边界,目标区域的实际尺寸为对内容块进行布局后的内容 块实际尺寸; 2.3)、如果布局区域包含多个横向次级布局区域,按照以下步骤进行
2. 3. 1)、对所有次级布局区域进行预布局; 2.3.2)、统一目标区域中次级布局区域的高度如果在目标区域中的次级布局区 域的实际高度不完全一样,则需要调整次级布局区域的高度;先找出实际高度最高的次级 布局区域;然后,对其他的次级布局区域进行重新布局;
2. 3. 3)计算当前目标区域的实际尺寸; 2. 4)、如果布局区域包含多个纵向次级布局区域,按照以下步骤进行
2. 4. 1)、对所有次级布局区域进行预布局; 2.4.2)、统一目标区域中次级布局区域的宽度如果在目标区域中的次级布局区 域的实际宽度不完全一样,则需要调整次级布局区域的宽度;先找出实际宽度最大的次级 布局区域。然后,对其他的次级布局区域进行重新布局;
2. 4. 3)计算当前目标区域的实际尺寸; (3)、当内容块的内容发生变化时,依照步骤(2)定义的布局信息进行自动排版。
本实施例中,提取布局信息的过程 布局信息的提取过程本质上是将内容块的位置信息转换成布局区域的布局信息。
提取布局信息的前提是要有一个已经排版好的版面,且这个版面里必须包含有内 容块(空白的内容块也是一个布局块)。其中,内容块本身就是最小的布局区域,而空白也 是一种特殊的没有内容的内容块。 对于一个布局区域细化划分,一般包含以下5种 1.如果当前布局区域是一个空白的布局区域,则无需再细化划分,结束划分流程。
2.如果当前布局区域只有一个内容块,它就是最小的布局区域,也无需再细化划 分,结束划分流程。
14
3.找出不能与布局区域中任何一个内容块的内容有交点的,且能从左往右对当前 布局区域进行横向划分的线条。 4.如果不能进行横向划分,则找出能从上往下对布局区域进行纵向划分的线条。
5.如果当前布局区域包含了多个内容板块却不能进行横向和纵向划分,则归为特 殊情况。 6.如果横向和纵向划分出来的次级布局区域是单个内容块,则无需再划分这个次 级布局区域;如果划分出来的次级布局区域仍包含多个内容块,则需要重新按照1到5的步 骤来划分,直到得到最小的布局区域为止。 在每次划分的流程中,都会产生布局区域与次级布局区域的父子关系,布局区域 与布局区域间的上下前后关系,以及每一个布局区域的尺寸(包括当前的布局区域和次级 布局区域)。 使用布局信息布局目标区域是指用来对布局区域进行重新布局的包含建议位置 和尺寸(宽和高)的矩形区域。顶级目标区域是用来重新布局顶级布局区域的目标区域。
使用布局信息布局的过程是将布局区域的布局信息转换成内容块的位置信息。
在当前目标区域中按照布局信息对当前布局区域进行重新布局时,按以下5个步 骤进行 1 、当布局区域是一个空白的布局区域时, 它在顶级目标区域中的布局尺寸就是它的实际尺寸。 在横向和纵向的布局区域中,空白内容块的目标区域尺寸就是它的原始尺寸。
2、如果布局区域是单个内容块,在目标区域进行布局时,内容块的左边界和上边 界总是布局区域的左边界和上边界,目标区域的实际尺寸为对内容块进行布局后的内容块 实际尺寸。在决定内容块布局的建议尺寸时,则会产生四种情况 ①限宽限高时,目标区域的实际尺寸就是对内容块布局后,得到的实际尺寸。
②限宽不限高时,在限定宽度的情况下,给定一个建议的高度为零,目标区域的实 际高度是对内容块布局之后,得到的实际高度。 ②限高不限宽时,在限定高度的情况下,给定一个建议的宽度为零。目标区域的实 际宽度就是对内容块布局之后,得到的实际宽度。 ③不限高不限宽时,在目标区域中,给定一个建议的高度和宽度都为零。目标区域 的实际宽度和高度就是对内容块布局之后,得到的实际宽度和高度。 注上面的③,④点中给定的建议高度,宽度为零是为了获取内容块的最小高度或 宽度,参考对内容块的定义2 。 3、如果布局区域包含多个横向次级布局区域,,按照以下三个阶段来进行布局
第一个阶段,对所有次级布局区域进行预布局
a、如果布局区域是限宽的
1)先找出最宽的次级布局区域 2)对此布局区域左侧的次级布局区域(如果有的话)按从左向右的顺序进行布局
第一个次级布局区域布局时的目标区域为
1)左边界为当前目标区域的左边界
2)、上边界为当前目标区域的上边界
3)、宽度为第一个次级布局区域的尺寸 4)、高度为当前布局区域的尺寸 后续的次级布局区域布局时的目标区域为 1).左边界为前一布局区域布局完成后的实际右边界 2).上边界为当前目标区域的上边界 3).宽度为当前次级布局区域的尺寸 4).高度为当前布局区域的尺寸 3)对此布局区域右侧的次级布局区域(如果有的话)按从右向左的顺序进行布 局 第一个次级布局区域布局时的目标区域为 1.左边界为当前目标区域的右边界减去第一个次级布局区域的尺寸 2.上边界为当前目标区域的上边界 3.宽度为第一个次级布局区域的尺寸 4.高度为当前布局区域的尺寸 后续的次级布局区域布局时的目标区域为 1.左边界为前一布局区域布局完成后的实际左边界减去当前次级布局区域的尺 寸 2.上边界为当前目标区域的上边界 3.宽度为当前次级布局区域的尺寸 4.高度为当前布局区域的尺寸 对右侧的每一个次级布局区域进行布局后,如果次级布局区域实际宽度和事先给
定的宽度不一致,则需要对此次级布局区域进行重新布局,布局的目标区域为 1.左边界为前一布局区域布局完成后的实际左边界减去当前次级布局区域的实
际宽度 2.上边界不变,还是当前目标区域的上边界 3.宽度为当前次级布局区域的实际宽度 4.高度为当前布局区域的实际宽度 4)对宽度最宽的布局区域进行布局。目标区域为 1.左边界为左侧的次级布局区域布局完成后的实际右边界,如果没有左侧次级布
局区域,则为当前布局区域的左边界 2.上边界为当前目标区域的上边界 3.宽度为右侧次级布局区域布局完成后的实际左边界(如果有的话,如果没有则 是当前布局区域的右边界)和当前次级布局区域左边界的差。 4.高度为当前布局区域的尺寸; b、如果是不限宽的,按照在限宽条件下对最宽的次级布局区域左侧从左向右的布
局方式对所有次级布局区域逐一进行布局。 第二阶段,统一目标区域中次级布局区域的高度 如果在目标区域中的次级布局区域的实际高度不完全一样,则需要调整次级布局 区域的高度。先找出实际高度最高的次级布局区域。然后,对其他的次级布局区域进行重新布局,布局目标区域为 a.左边界,上边界,宽度和第一阶段的实际值一样 b.高度为实际最高的次级布局区域的实际高度 第三阶段,计算当前目标区域的实际尺寸 a.实际宽度为最右侧的次级布局区域的右边界和最左侧的次级布局区域的左边 界的差 b.实际高度为最高次级布局区域的高度 4.如果布局区域包含多个纵向次级布局区域,纵向次级布局区域的布局方式与横 向次级布局区域的布局方式是完全对称的,参考横向次级布局区域的布局方式;按照以下 三个阶段来进行布局 第一个阶段,对所有次级布局区域进行预布局 a、如果布局区域是限高的 1)先找出最高的次级布局区域 2)对此布局区域上侧的次级布局区域(如果有的话)按从上向下的顺序进行布局 第一个次级布局区域布局时的目标区域为 1)左边界为当前目标区域的左边界 2)、上边界为当前目标区域的上边界 3)、高度为第一个次级布局区域的尺寸 4)、宽度为当前布局区域的尺寸 后续的次级布局区域布局时的目标区域为 1).上边界为前一布局区域布局完成后的实际下边界 2).左边界为当前目标区域的左边界 3).高度为当前次级布局区域的尺寸 4).宽度为当前布局区域的尺寸 3)对此布局区域下侧的次级布局区域(如果有的话)按从下向上的顺序进行布局 第一个次级布局区域布局时的目标区域为 1.上边界为当前目标区域的下边界减去第一个次级布局区域的尺寸 2.左边界为当前目标区域的左边界 3.高度为第一个次级布局区域的尺寸 4.宽度为当前布局区域的尺寸 后续的次级布局区域布局时的目标区域为 1.上边界为前一布局区域布局完成后的实际上边界减去 当前次级布局区域的尺寸 2.左边界为当前目标区域的左边界 3.高度为当前次级布局区域的尺寸 4.宽度为当前布局区域的尺寸 对下侧的每一个次级布局区域进行布局后,如果次级布局区域实际高度和事先给
定的高度不一致,则需要对此次级布局区域进行重新布局,布局的目标区域为 1.上边界为前一布局区域布局完成后的实际下边界减去当前次级布局区域的实际宽度 2.左边界不变,还是当前目标区域的左边界 3.高度为当前次级布局区域的实际宽度 4.宽度为当前布局区域的实际宽度 4)对宽度最宽的布局区域进行布局。目标区域为 1.上边界为上侧的次级布局区域布局完成后的实际下边界,如果没有上侧次级布
局区域,则为当前布局区域的上边界 2.左边界为当前目标区域的左边界 3.高度为下侧次级布局区域布局完成后的实际上边界(如果有的话,如果没有则 是当前布局区域的下边界)和当前次级布局区域上边界的差。
4.宽度为当前布局区域的尺寸; b、如果是不限高的,按照在限高条件下对最宽的次级布局区域左侧从上向下的布
局方式对所有次级布局区域逐一进行布局。 第二阶段,统一目标区域中次级布局区域的宽度 如果在目标区域中的次级布局区域的实际宽度不完全一样,则需要调整次级布局 区域的宽度。先找出实际宽度最宽的次级布局区域。然后,对其他的次级布局区域进行重 新布局,布局目标区域为 a.上边界,左边界,高度和第一阶段的实际值一样
b.宽度为实际最宽的次级布局区域的实际高度
第三阶段,计算当前目标区域的实际尺寸 a.实际高度为最上侧的次级布局区域的下边界和最上侧的次级布局区域的上边 界的差 b.实际宽度为最宽次级布局区域的宽度 5.如果布局区域是特殊的布局区域,为了使布局区域中的内容块在给定的目标区
域中进行显示,需要对内容块的进行縮放。对内容块的縮放,是通过计算每个内容块的目标
区域进行的。在目标区域中进行布局可分以下四种情况 ①如果是不限高宽的布局区域,目标区域的 左边界=原内容块左边界 上边界=原内容块上边界 高度=原内容块高度 高度=原内容块宽度 ②如果是限高不限宽的布局区域,按下面的公式获得每个内容块的目标区域
縮放比例=当前目标区域高度/布局区域高度 左边界=布局块左边界+ (内容块左边界_布局块左边界)*縮放比例
上边界=布局块上边界+ (内容块上边界_布局块上边界)*縮放比例
高度=内容块高度*縮放比例
宽度=内容块宽度*縮放比例 ③如果是限宽不限高的布局区域,按下面的公式获得每个内容块的目标区域
縮放比例=当前目标区域宽度/布局区域宽度
18
左边界=布局块左边界+ (内容块左边界_布局块左边界)*縮放比例 上边界=布局块上边界+ (内容块上边界_布局块上边界)*縮放比例 高度=内容块高度*縮放比例 宽度=内容块宽度*縮放比例 ④如果是限高宽的布局区域,按下面的公式获得每个内容块的目标区域 宽度縮放比例=当前目标区域宽度/布局区域宽度 高度縮放比例=当前目标区域高度/布局区域高度 左边界=布局块左边界+ (内容块左边界_布局块左边界)*宽度縮放比例 上边界=布局块上边界+ (内容块上边界_布局块上边界)*高度縮放比例 高度=内容块高度*高度縮放比例 宽度=内容块宽度*宽度縮放比例 通过以上四种对内容块的布局流程,可计算当前目标区域的实际尺寸 c.实际宽度为最右侧内容块的右边界和最左侧内容块的左边界的差 d.实际高度为最下侧内容块的下边界和最上侧内容块的上边界的差 如果布局完成后,内容块的内容发生变化时同样使用上面的步骤进行布局; 当发现当前布局的布局区域或内容块的内容未发生变化且新的目标区域和原来
的实际尺寸相同时,可直接跳过需要布局的区域。
19
权利要求
一种内容块自动排版的方法,其特征在于所述自动排版的方法包括以下步骤(1)、提取布局信息依照已经排版好的版面,所述版面包含有矩形边界的内容块,内容块为最小的布局区域,其中,空白也是没有内容的内容块;布局区域细化划分过程如下1.1)如果当前布局区域是一个空白的布局区域,则无需再细化划分,结束划分流程;1.2)如果当前布局区域只有一个内容块,它就是最小的布局区域,也无需再细化划分,结束划分流程;1.3)找出不能与布局区域中任何一个内容块的内容有交点的,且能从左往右对当前布局区域进行横向划分的线条,得到横向划分次级布局区域;1.4)如果不能进行横向划分,则找出能从上往下对布局区域进行纵向划分的线条,得到纵向划分次级布局区域;1.5)如果横向次级布局区域或纵向次级布局区域是单个内容块,则无需再划分这个次级布局区域;如果划分出来的横向次级布局区域或纵向次级布局区域仍包含多个内容块,则需要重新按照1.1)到1.4)的步骤来划分,直到得到最小的布局区域为止;在每次划分的流程中,记录内容块之间的如下关联信息产生布局区域与次级布局区域的父子关系、布局区域与布局区域间的上下前后关系、以及每一个布局区域的尺寸;(2)、使用布局信息布局将布局区域的布局信息转换成内容块的位置信息,目标区域是指用来对布局区域进行重新布局的包含建议位置和尺寸的矩形区域;顶级目标区域是用来重新布局顶级布局区域的目标区域;具体如下2.1)、当布局区域是一个空白的布局区域时,①它在顶级目标区域中的布局尺寸就是它的实际尺寸;②在横向和纵向的布局区域中,空白内容块的目标区域尺寸就是它的原始尺寸;2.2)、如果布局区域是单个内容块,在目标区域进行布局时,内容块的左边界和上边界总是布局区域的左边界和上边界,目标区域的实际尺寸为对内容块进行布局后的内容块实际尺寸;2.3)、如果布局区域包含多个横向次级布局区域,按照以下步骤进行2.3.1)、对所有次级布局区域进行预布局;2.3.2)、统一目标区域中次级布局区域的高度如果在目标区域中的次级布局区域的实际高度不完全一样,则需要调整次级布局区域的高度;先找出实际高度最高的次级布局区域;然后,对其他的次级布局区域进行重新布局;2.3.3)计算当前目标区域的实际尺寸;2.4)、如果布局区域包含多个纵向次级布局区域,按照以下步骤进行2.4.1)、对所有次级布局区域进行预布局;2.4.2)、统一目标区域中次级布局区域的宽度如果在目标区域中的次级布局区域的实际宽度不完全一样,则需要调整次级布局区域的宽度;先找出实际宽度最大的次级布局区域;然后,对其他的次级布局区域进行重新布局;2.4.3)计算当前目标区域的实际尺寸;(3)、当内容块的内容发生变化时,依照步骤(2)定义的布局信息进行自动排版。
2. 如权利要求l所述的一种内容块自动排版的方法,其特征在于所述步骤(1)中,布 局区域细化划分过程还包括1. 6)、如果当前布局区域包含了多个内容板块却不能进行横 向和纵向划分,则归为特殊情况;所述步骤(2)还包括2. 5)、如果布局区域是特殊的布局区域,对内容块的进行縮放;对 内容块的縮放通过计算每个内容块的目标区域进行。
3. 如权利要求1或2所述的一种内容块自动排版的方法,其特征在于所述步骤2. 2)中,在决定内容块布局的建议尺寸时,则会产生四种情况① 限宽限高时,目标区域的实际尺寸就是对内容块布局后,得到的实际尺寸;② 限宽不限高时,在限定宽度的情况下,给定一个建议的高度为零,目标区域的实际高 度是对内容块布局之后,得到的实际高度;③ 限高不限宽时,在限定高度的情况下,给定一个建议的宽度为零。目标区域的实际宽 度就是对内容块布局之后,得到的实际宽度;④ 不限高不限宽时,在目标区域中,给定一个建议的高度和宽度都为零;目标区域的实 际宽度和高度就是对内容块布局之后,得到的实际宽度和高度。
4. 如权利要求1或2所述的一种内容块自动排版的方法,其特征在于 所述步骤2. 3. 1)中,对所有次级布局区域进行预布局的过程为a.如果布局区域是限宽的a. 1)先找出最宽的次级布局区域a. 2)对此布局区域左侧的次级布局区域(如果有的话)按从左向右的顺序进行布局, 第一个次级布局区域布局时的目标区域为 參左边界为当前目标区域的左边界; 參上边界为当前目标区域的上边界; 參宽度为第一个次级布局区域的尺寸; 參高度为当前布局区域的尺寸; 后续的次级布局区域布局时的目标区域为 參左边界为前一布局区域布局完成后的实际右边界; 參上边界为当前目标区域的上边界; 參宽度为当前次级布局区域的尺寸; 參高度为当前布局区域的尺寸;a. 3)如果有对此布局区域右侧的次级布局区域,按从右向左的顺序进行布局; 第一个次级布局区域布局时的目标区域为參左边界为当前目标区域的右边界减去第一个次级布局区域的尺寸; 參上边界为当前目标区域的上边界; 參宽度为第一个次级布局区域的尺寸; 參高度为当前布局区域的尺寸;后续的次级布局区域布局时的目标区域为參左边界为前一布局区域布局完成后的实际左边界减去当前次级布局区域的尺寸; 參上边界为当前目标区域的上边界; 參宽度为当前次级布局区域的尺寸;參高度为当前布局区域的尺寸;对右侧的每一个次级布局区域进行布局后,如果次级布局区域实际宽度和事先给定的 宽度不一致,则需要对此次级布局区域进行重新布局,布局的目标区域为參左边界为前一布局区域布局完成后的实际左边界减去当前次级布局区域的实际宽度參上边界不变,还是当前目标区域的上边界參宽度为当前次级布局区域的实际宽度參高度为当前布局区域的实际宽度a. 4)对宽度最宽的布局区域进行布局,目标区域为參左边界为左侧的次级布局区域布局完成后的实际右边界,如果没有左侧次级布局区 域,则为当前布局区域的左边界參上边界为当前目标区域的上边界參宽度为右侧次级布局区域布局完成后的实际左边界和当前次级布局区域左边界的差。參高度为当前布局区域的尺寸b. 如果是不限宽的,按照在限宽条件下对最宽的次级布局区域左侧从左向右的布局方 式对所有次级布局区域逐一进行布局。
5. 如权利要求3所述的一种内容块自动排版的方法,其特征在于所述步骤2. 3. 2) 中,其他的次级布局区域进行重新布局的布局目标区域为參左边界,上边界,宽度和第一阶段的实际值一样;參高度为实际最高的次级布局区域的实际高度。
6. 如权利要求1或2所述的一种内容块自动排版的方法,其特征在于所述步骤2.4. 1)中,对所有次级布局区域进行预布局的过程为a.如果布局区域是限高的a. 1)先找出最高的次级布局区域a. 2)对此布局区域上侧的次级布局区域(如果有的话)按从上向下的顺序进行布局, 第一个次级布局区域布局时的目标区域为 參上边界为当前目标区域的上边界; 參左边界为当前目标区域的左边界; 參高度为第一个次级布局区域的尺寸; 參宽度为当前布局区域的尺寸; 后续的次级布局区域布局时的目标区域为 參上边界为前一布局区域布局完成后的实际下边界; 參左边界为当前目标区域的左边界; 參高度为当前次级布局区域的尺寸; 參宽度为当前布局区域的尺寸;a. 3)如果有对此布局区域狭侧的次级布局区域,按从下向上的顺序进行布局; 第一个次级布局区域布局时的目标区域为參上边界为当前目标区域的下边界减去第一个次级布局区域的尺寸;參左边界为当前目标区域的左边界; 參高度为第一个次级布局区域的尺寸; 參宽度为当前布局区域的尺寸;后续的次级布局区域布局时的目标区域为參上边界为前一布局区域布局完成后的实际上边界减去当前次级布局区域的尺寸; 參左边界为当前目标区域的左边界; 參高度为当前次级布局区域的尺寸; 參宽度为当前布局区域的尺寸;对下侧的每一个次级布局区域进行布局后,如果次级布局区域实际高度和事先给定的 高度不一致,则需要对此次级布局区域进行重新布局,布局的目标区域为參上边界为前一布局区域布局完成后的实际上边界减去当前次级布局区域的实际宽度參左边界不变,还是当前目标区域的左边界參高度为当前次级布局区域的实际高度參宽度为当前布局区域的实际高度a. 4)对高度最高的布局区域进行布局,目标区域为參上边界为上侧的次级布局区域布局完成后的实际下边界,如果没有上侧次级布局区 域,则为当前布局区域的上边界參左边界为当前目标区域的左边界參高度为下侧次级布局区域布局完成后的实际上边界和当前次级布局区域上边界的差。參宽度为当前布局区域的尺寸b、 如果是不限高的,按照在限高条件下对最高的次级布局区域上侧从上向下的布局方 式对所有次级布局区域逐一进行布局。
7. 如权利要求3所述的一种内容块自动排版的方法,其特征在于所述步骤2. 4. 2) 中,其他的次级布局区域进行重新布局的布局目标区域为參上边界,左边界,高度和第一阶段的实际值一样; 參宽度为实际最宽的次级布局区域的实际宽度。
8. 如权利要求2所述的一种内容块自动排版的方法,其特征在于所述步骤2.5)中,在目标区域中进行布局可分以下四种情况① 如果是不限高宽的布局区域,目标区域中 左边界=原内容块左边界 上边界=原内容块上边界 高度=原内容块高度 高度=原内容块宽度② 如果是限高不限宽的布局区域,按下面的公式获得每个内容块的目标区域 縮放比例=当前目标区域高度/布局区域高度;左边界=布局块左边界+(内容块左边界_布局块左边界)X縮放比例; 上边界=布局块上边界+(内容块上边界-布局块上边界)X縮放比例;高度=内容块高度X縮放比例; 宽度=内容块宽度X縮放比例;③ 如果是限宽不限高的布局区域,按下面的公式获得每个内容块的目标区域 縮放比例=当前目标区域宽度/布局区域宽度左边界=布局块左边界+(内容块左边界_布局块左边界)X縮放比例; 上边界=布局块上边界+(内容块上边界-布局块上边界)X縮放比例; 高度=内容块高度X縮放比例; 宽度=内容块宽度X縮放比例;④ 如果是限高宽的布局区域,按下面的公式获得每个内容块的目标区域 宽度縮放比例=当前目标区域宽度/布局区域宽度; 高度縮放比例=当前目标区域高度/布局区域高度;左边界=布局块左边界+(内容块左边界_布局块左边界)X宽度縮放比例; 上边界=布局块上边界+(内容块上边界_布局块上边界)X高度縮放比例; 高度=内容块高度X高度縮放比例; 宽度=内容块宽度X宽度縮放比例;通过以上四种对内容块的布局流程,可计算当前目标区域的实际尺寸a. 实际宽度为最右侧内容块的右边界和最左侧内容块的左边界的差;b. 实际高度为最下侧内容块的下边界和最上侧内容块的上边界的差。
全文摘要
一种内容块自动排版的方法,包括以下步骤(1)提取布局信息依照已经排版好的版面,版面包含有矩形边界的内容块,内容块为最小的布局区域,空白也是没有内容的内容块,在每次划分的流程中,记录内容块之间的如下关联信息产生布局区域与次级布局区域的父子关系、布局区域与布局区域间的上下前后关系、以及每一个布局区域的尺寸;(2)使用布局信息布局将布局区域的布局信息转换成内容块的位置信息;(3)当内容块的内容发生变化时,依照步骤(2)定义的布局信息进行自动排版。本发明自动编辑、排版自动完成、大大提高排版工作效率。
文档编号G06F17/25GK101770452SQ20091015590
公开日2010年7月7日 申请日期2009年12月31日 优先权日2009年12月31日
发明者陈洋 申请人:杭州昊达网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1