一种基于草图速写的交互式文档排版方法

文档序号:6464958阅读:154来源:国知局
专利名称:一种基于草图速写的交互式文档排版方法
技术领域
本发明涉及文档排版设计的人机交互技术,尤其涉及一个基于速写笔划进 行文档排版设计的方法。
背景技术
文档排版是一项应用普遍却又繁琐的工作,现有的文档排版工具主要包括 两种, 一种是所见即所得型的排版工具,用户可以通过系统提供的图形化界面
来操作和管理文档的排版,微软的Word和PowerPoint是最典型的所见即所得的 排版工具,对于这一类排版工具,用户很难指定文档排版方案,除此之外,用 户还需要逐一指定文字、图片、图标的风格,当然也不可能自动对文档进行排 版;另一类工具是需要用户写脚本来完成文档排版过程的,这种排版方式的缺 点是用户在写脚本的过程中不能看到排版的效果,另外还需要掌握这种脚本语 言。Latex就是典型的基于脚本的排版工具。近年来,有很多科学家致力于文档 自动排版的研究,由Charles Jacobs, WilmotLi, Evan Schrier, David Bargeron 和David Salesin在2003年提出的适应性的基于网格的文档布局(Adaptive Grid-Based Document Layout)系统。在该系统中文本和图片都被视为流,用户 通过脚本语言确定文档的模板,随后文字和图片的排版会自动生成,作者还定 义了一系列的函数来评价排版效果的好坏,并对排版效果进行优化,这个方法 的缺点在于,用户需要掌握写script的技巧。
基于草图速写的用户界面也是当前的热点研究领域,最著名的基于草图速 写的用户界面是2003年Takeo Igamshi在《一种基于草图速写的三维自由形状的 设计工具》(Teddy: A Sketching Interface for 3D Freeform Design)中提出的通过 二维笔划进行三维自由形状模型的工具。在2002年,Anabela Caetano在《使用 草图速写来进行用户界面设计中的问题》(JavaSketchIt: Issues in Sketching the Look of User Interface) —文中提出了一个名为JavaSketchIt的系统,在这个系统 中支持用户通过画素描的方式进行用户界面的设计,这个系统的缺点在于系统 只能识别少量的笔划形状。

发明内容
本发明的目的是克服现有技术的不足,提供一种更加符合用户操作习惯的 基于草图速写的交互式文档排版方法。
基于草图速写的交互式文档排版方法包括如下步骤1 )用户以速写的方式绘制及修改草图,该草图用于指导文档排版的设计及编
辑;
2) 根据用户速写的草图生成用于文档排版的布局3) 用户通过画速写笔划的方式对文档排版的布局图进行修改;
4) 用户通过在电子文档中画速写笔划选择文字和图片,随后用户通过在文 档布局图中画速写笔划确定选中的文字和图片放在文档布局图中的位置,将选 中的文字和图片填充在文档布局图指定的边界框中;
5) 对文档布局进行优化;
6) 用户通过画速写笔划修改文档排版。
所述的用户以速写的方式绘制及修改草图,该草图用于指导文档排版的设计 及编辑的步骤
(a) 用户通过自由的绘制速写笔划来绘制文档排版布局的草(b) 在用户绘制速写笔划的过程中根据用户绘制笔划的速度和方向检测用 户绘制的草图的过程中出现的多边形,组成一个闭合多边形的所有笔划被视为 一个整体;
(c) 用户绘制特定形状的操作笔划,操作笔划包括移动、删除、旋转和填 充文本和图片的边界框,对文档排版设计草图中的一个或者多个速写笔划进行 删除、移动和旋转的操作;
(d) 在用户绘制速写笔划的过程中,通过比较用户绘制的速写笔划轨迹形 状与操作笔划的形状是否相同,来检测是否出现了操作笔划,如果出现了操作 笔划,则根据步骤(c)进行操作;
所述的根据用户速写的草图生成用于文档排版的布局图的步骤 (e)根据计算多边形面积的公式估算在用户绘制速写笔划的过程中检测到 的每个多边形的面积,当多边形的面积大于一个临界值A」Ws/!。w时,则该多边
形表示文字和图片的边界框;
(f) 对于检测到的多边形,过多边形上最上面的点和最下面的点作水平线, 过最左边的点和最右边的点作垂直线,四条直线相机的区域为多边形的最小外 接矩形,该矩形为文档布局图中文字和图片的边界框;
(g) 逐一将文档布局图中连通的、不属于任何文字和图片边界框内的空白 区域的边界用水平和垂直的线连接起来,每个连通的多边形都表示一个文字和 图片的边界框;
所述的用户通过画速写笔划的方式对文档排版的布局图进行修改的步骤-(h) 用户在文档布局图上绘制自由笔划和操作笔划;
(i) 在用户绘制速写笔划的过程中,通过比较用户绘制的速写笔划轨迹形 状与操作笔划的形状是否相同,来检测是否出现了操作笔划,如果出现了操作 笔划,则根据步骤(C)进行操作,通过操作笔划对文档布局图进行调整的效果 实时显示在屏幕上;
所述的用户通过在电子文档中画速写笔划选择文字和图片,随后用户通过 在文档布局图中画速写笔划确定选中的文字和图片放在文档布局图中的位置, 将选中的文字和图片填充在文档布局图指定的边界框中的步骤
(j)打开电子文档后检测文档中的文字段落和图片,除文字之外的所有文 档元素均视为图片,包围图片的最小矩形是图片的边界框,包围文字段落的最 小矩形是文字的边界框;
(k)用户在电子文档上自由的绘制速写笔划来选择文字和图片,根据用户 绘制的速写笔划的坐标确定笔划在哪些边界框内,这些边界框内的文字和图片 就是被用户选中的文字和图片;
(1)用户在文档布局图上绘制把文字和图片放置在一个特定边界框内的操 作笔划,系统根据该操作笔划的位置确定将要填充文字和图片的边界框
(m)根据在文档布局图上选定的边界框的大小调整文字字体大小和图片的 大小,使得所有被选中的文字和图片可以放在被选定的边界框内; 所述的对文档布局进行优化的步骤
(n)对齐所有上边距离文档上边界的距离为i/士《的边界框,并调整这些 边界框之间的水平间距,使每两个边界框之间的水平间距相等;
(o)对齐所有左边距离文档左边界的距离为『±之的边界框,并且调整这 些边界框之间的垂直间距,使每两个边界框之间的垂直间距相等;
(p)对于文档排版设计中所有边界框的面积超过^^目,文字的数目超过 C^^的文字边界框,其字体大小必须保持一致,使用贪心算法选择这些文字边 界框中的字体大小,使得这些文字边界框中的文字在边界框内,并且边界框中 的文字正好填满整个边界框的数目最多;
所述的用户通过画速写笔划修改文档的排版的步骤-
(q)用户在文档排版布局上自由绘制速写笔划,比较用户绘制笔划的轨迹 的形状和本发明中定义的操作笔划的形状,识别出操作笔划并根据操作笔划的 定义执行相应的操作,通过操作笔划对文档排版布局进行调整的效果实时显示 在屏幕上;(r)根据用户绘制的笔划调整边界框的大小,以及边界框内文字和图片的 大小,并且将调整后的结果显示在屏幕上;
(s)根据文档排版布局中不同边界框中的字体大小的均匀程度调整文字边 界框的大小和字体大小,使得除了标题之外,所有文本边界框中的字体大小足 够接近;
(t)调整边界框之间的间距,使所有的边界框之间的间距均匀。 本发明具有的有益效果是用户可以通过速写笔划进行文档排版的设计和修 改,通过识别用户绘制的速写笔划,速写笔划会被转换成文档布局图,随后用 户通过速写笔划选定电子文档中的文字和图片并填充到文档布局图中,解决了 现有的进行文档排版过程中频繁的拷贝和粘贴过程,通过优化文档布局,解决 了现有的文档排版工具中需要手动调整文字和图片的属性的问题,除此之外, 用户可以自由的绘制文档布局图并且通过绘制速写笔划对文档布局进行修改, 这一特性更加符合人类的使用笔和纸的操作习惯,使得文档排版设计过程更加 人性化和快速便捷。


图1工作原理图2用户绘制的文档排版设计草图3 (a)移动操作笔划示意图3 (b)删除操作笔划示意图3 (c)旋转操作笔划示意图3 (d)填充边界框的操作笔划示意图4 (a)在草图上绘制移动操作笔划;
图4 (b)移动草图上的多边形后的结果;
图5 (a)在文档布局图上绘制旋转操作笔划;
图5 (b)旋转文档布局图中的图片的结果;
图6 (a)在两幅图片中的一幅图片上画自由笔划来选中该图片;
图6 (b)在文档布局图上画填充边界框的操作笔划;
图6 (C)图片填充在文档布局图中的结果;
图7 (a)在文档布局图的图片上画删除操作笔划;
图7 (b)删除文档布局图中的图片后的效果;
图8将通过笔划绘制出来的多边形网格化的效果;
图9确定通过笔划绘制出来的多边形的外界矩形的方法;图10 (a)文档布局图优化之前的效果; 图10 (b)文档布局图优化之后的效果。
具体实施例方式
本发明提出的基于草图速写的交互式文档排版方法,结合附图其详细说明 如下
本发明的工作原理如图l所示,包括以下步骤
l.用户以速写的方式绘制及修改草图,该草图用于指导文档排版的设计及编 辑的步骤
(a) 用户通过自由的绘制速写笔划来绘制文档排版布局的草图,用户绘制 的草图如图2所示;
(b) 在用户绘制速写笔划的过程中,根据Peter Agar在《基于速写笔划的 用户界面中多边形的识别》(Polygon Recognition in Sketch-Based Interface with Immediate and Continuous Feedback) —文中识别多边形的方法,当用户绘制拐角 时速度会远远小于绘制直线时的速度,因此根据用户绘制笔划的速度和方向检 测用户绘制的草图的过程中出现的多边形中的拐角,从而识别多边形,组成一 个闭合多边形的所有笔划被视为一个整体;
(c) 用户绘制特定形状的操作笔划,操作笔划包括移动、删除、旋转和填 充文本和图片的边界框,对操作笔划的定义如图3所示,图3 (a)是移动操作 笔划,如果移动操作笔划在一个多边形内,或者和多边形相交,则整个多边形 在保持形状不变的前提下平移到箭头末端所在的点,如果移动操作笔划不在任 何多边形内,也不和任何笔划相交,则不做任何操作,如果和移动操作笔划相 交的不是属于多边形的笔划,则将所有和移动操作笔划相交的笔划保持原来的 形状不变的前提下,移动到箭头末端所在的位置;图3 (b)是删除操作笔划, 当删除操作笔划在多边形内部时,删除整个多边形,否则,所有和删除笔划相 交的多边形的边或者独立的笔划会被删除,图3 (c)是旋转操作笔划,如果旋 转操作笔划在多边形内部,或者和多边形的一条边或者多条边相交,则多边形 会沿着旋转笔划箭头的方向旋转90度,如果旋转操作笔划和独立的自由笔划相 交,则所有和旋转操作笔划相交的自由笔划在保持形状不变的前提下沿着箭头 的方向旋转90度,图3 (d)是填充文本和图片边界框的操作笔划,对文档排版 设计草图中的一个或者多个速写笔划进行删除、移动和旋转的操作,通过速写 笔划进行移动操作的例子如图4所示,通过速写笔划进行旋转操作的例子如图5 所示,通过速写笔划进行选中图片,然后填充到边界框中的操作如图6所示,通过速写笔划进行删除图片的操作如图7所示;
(d)在用户绘制速写笔划的过程中,采用了 AnabelaCaetano在《通过速写 笔划设计用户界面的外观中的问题》(JavaSketchlt: Issues in Sketching the Look of User Interfaces) —文中提出的,通过比较用户绘制的速写笔划轨迹形状与操作 笔划的形状是否相同,来检测是否出现了操作笔划,如果出现了操作笔划,则 根据步骤(c)进行操作;
2.根据用户速写的草图生成用于文档排版的布局图的步骤 (e)估算在用户绘制速写笔划的过程中检测到的每个多边形的面积,当多 边形的面积大于一个临界值A」^^。w时,则该多边形表示文字和图片的边界框。 估算多边形面积的方法是将多边形P网格化,在网格上每两条线之间的交点都 是一个网格上的顶点,如图8所示,为每个多边形上的点找到网格上与之最邻 近的顶点,将这些顶点使用线段连接起来行成一个新的多边形,,P'由一系列 的正方形,三角形和梯形组成,随后根据正方形,三角形和梯形的计算面积的 公式计算多边形A的面积,即为多边形户的近似面积;
(f) 对于检测到的多边形,过多边形上最上面的点和最下面的点作水平线, 过最左边的点和最右边的点作垂直线,四条直线相机的区域为多边形的最小外
接矩形,该矩形为文档布局图中文字和图片的边界框,如图9所示;
(g) 逐一将文档布局图中连通的、不属于任何文字和图片边界框内的空白 区域的边界用水平和垂直的线连接起来,每个连通的多边形都表示一个文字和 图片的边界框;
3. 用户通过画速写笔划的方式对文档排版的布局图进行修改的步骤
(h) 用户在文档布局图上绘制自由笔划和操作笔划;
(i) 在用户绘制速写笔划的过程中,采用了 AnabelaCaetano在《通过速写 笔划设计用户界面的外观中的问题》(JavaSketchlt: Issues in Sketching the Look of User Interfaces) —文中提出的,通过比较用户绘制的速写笔划轨迹形状与操作 笔划的形状是否相同,来检测是否出现了操作笔划,如果出现了操作笔划,则 根据步骤(c)进行操作,通过操作笔划对文档布局图进行调整的效果实时显示 在屏幕上;
4. 用户通过在电子文档中画速写笔划选择文字和图片,随后用户通过在文档 布局图中画速写笔划确定选中的文字和图片放在文档布局图中的位置,将选中 的文字和图片填充在文档布局图指定的边界框中的步骤
(j)打开电子文档后检测文档中的文字段落和图片,除文字之外的所有文档元素均视为图片,包围图片的最小矩形是图片的边界框,包围文字段落的最
小矩形是文字的边界框;
(k)用户在电子文档上自由的绘制速写笔划来选择文字和图片,根据用户 绘制的速写笔划的坐标确定笔划在哪些边界框内,这些边界框内的文字和图片 就是被用户选中的文字和图片。判断速写笔划是否在多边形内的方法是,在速 写笔划上等间隔的取几个点,过每一个点向任意角度作一条射线,若与多边形 各条边的交点个数之和为偶数,则此点在多边形外,否则在多边形内;
(1)用户在文档布局图上绘制把文字和图片放置在一个特定边界框内的操 作笔划,系统根据该操作笔划的位置确定将要填充文字和图片的边界框
(m)根据在文档布局图上选定的边界框的大小调整文字字体大小和图片的 大小,使得所有被选中的文字和图片可以放在被选定的边界框内,确定一个文 本边界框内文字字体大小的方法是根据边界框的形状确定边界框中文字的字 体大小的方法是,使用向量r—一。, = "re",《一,i^。一」来描述文字边界框的属 性,其中^^表示边界框的面积,S。^表示边界框左边上面的顶点,ZL,一表 示右边下面的定点,使用向量= (/o"加ze,"wm&" —o/_wor&}来表示文字属性, 其中/owto&表示文本边界框中的字体大小,《"/ 6^一0/_>^/^表示文字中字符的 数目,文本边界框和字体大小之间的映射关系是 /o"to^ = F(^wgBM,m/mZ^ —0/—mw刮,通过机器学习的方法,确定F,因此当给 定一段文字时,可以根据边界框的面积和位置,计算出字体大小; 5 .对文档布局进行优化的步骤
(n)对齐所有上边距离文档上边界的距离为i/i《的边界框,并调整这些 边界框之间的水平间距,使每两个边界框之间的水平间距相等;
(o)对齐所有左边距离文档左边界的距离为『±《的边界框,并且调整这 些边界框之间的垂直间距,使每两个边界框之间的垂直间距相等;
(p)对于文档排版设计中所有边界框的面积超过4;^。,d,文字的数目超过 C^w的文字边界框,其字体大小必须保持一致,使用贪心算法选择这些文字边 界框中的字体大小,使得这些文字边界框中的文字在边界框内,并且边界框中 的文字正好填满整个边界框的数目最多,对文档布局进行优化前和优化后的结 果如图IO所示;
6.用户通过画速写笔划修改文档的排版的步骤
(q)用户在文档排版布局上自由绘制速写笔划,采用了 Anabela Caetano 在《通过速写笔划设计用户界面的外观中的问题》(JavaSketchlt: Issues inSketching the Look of User Interfaces) —文中提出的,通过比较用户绘制的速写
笔划轨迹形状与操作笔划的形状是否相同,来检测是否出现了操作笔划,如果 出现了操作笔划,则根据步骤(c)进行操作,通过操作笔划对文档布局图进行 调整的效果实时显示在屏幕上;
(r)根据用户绘制的笔划调整边界框的大小,以及边界框内文字和图片的 大小,根据步骤(m)中描述的确定文本边界框中字体大小的方法来确定每个边 界框内文字的大小,对于图片的处理是,根据图片边界框的大小等比例縮放图 片,在不改变图片长宽比的前提下,将图片放在图片边界框的中央,随后将调 整后的结果显示在屏幕上;
(s)根据文档排版布局中不同边界框中的字体大小的均匀程度调整文字边 界框的大小和字体大小,使得除了标题之外,所有文本边界框中的字体大小足 够接近;
(0调整边界框之间的间距,使所有的边界框之间的间距均匀。
权利要求
1. 一种基于草图速写的交互式文档排版方法,其特征在于包括如下步骤1)用户以速写的方式绘制及修改草图,该草图用于指导文档排版的设计及编辑;2)根据用户速写的草图生成用于文档排版的布局图;3)用户通过画速写笔划的方式对文档排版的布局图进行修改;4)用户通过在电子文档中画速写笔划选择文字和图片,随后用户通过在文档布局图中画速写笔划确定选中的文字和图片放在文档布局图中的位置,将选中的文字和图片填充在文档布局图指定的边界框中;5)对文档布局进行优化;6)用户通过画速写笔划修改文档排版。
2. 根据权利要求1所述的一种基于草图速写的交互式文档排版方法,其特征 在于所述的用户以速写的方式绘制及修改草图,该草图用于指导文档排版的设计 及编辑的步骤-(a) 用户通过自由的绘制速写笔划来绘制文档排版布局的草图;(b) 在用户绘制速写笔划的过程中根据用户绘制笔划的速度和方向检测用 户绘制的草图的过程中出现的多边形,组成一个闭合多边形的所有笔划被牛见为 一个整体;(c) 用户绘制特定形状的操作笔划,操作笔划包括移动、删除、旋转和土真 充文本和图片的边界框,对文档排版设计草图中的一个或者多个速写笔划进^f 删除、移动和旋转的操作;(d) 在用户绘制速写笔划的过程中,通过比较用户绘制的速写笔划轨迹形 状与操作笔划的形状是否相同,来检测是否出现了操作笔划,如果出现了操作 笔划,则根据步骤(c)进行操作;
3.根据权利要求1所述的一种基于草图速写的交互式文档排版方法,其特 征在于所述的根据用户速写的草图生成用于文档排版的布局图的步骤(e)根据计算多边形面积的公式估算在用户绘制速写笔划的过程中检测到 的每个多边形的面积,当多边形的面积大于一个临界值A」/^w^时,则该多边 形表示文字和图片的边界框;(f)对于检测到的多边形,过多边形上最上面的点和最下面的点作水平线, 过最左边的点和最右边的点作垂直线,四条直线相机的区域为多边形的最小外 接矩形,该矩形为文档布局图中文字和图片的边界框;(g) 逐一将文档布局图中连通的、不属于任何文字和图片边界框内的空白 区域的边界用水平和垂直的线连接起来,每个连通的多边形都表示一个文字和图片的边界框;
4. 根据权利要求1所述的一种基于草图速写的交互式文档排版方法,其特征 在于所述的用户通过画速写笔划的方式对文档排版的布局图进行修改的步骤(h) 用户在文档布局图上绘制自由笔划和操作笔划;(0在用户绘制速写笔划的过程中,通过比较用户绘制的速写笔划轨迹形 状与操作笔划的形状是否相同,来检测是否出现了操作笔划,如果出现了操作 笔划,则根据步骤(C)进行操作,通过操作笔划对文档布局图进行调整的效果 实时显示在屏幕上;
5. 根据权利要求1所述的一种基于草图速写的交互式文档排版方法,其特 征在于所述的用户通过在电子文档中画速写笔划选择文字和图片,随后用户通 过在文档布局图中画速写笔划确定选中的文字和图片放在文档布局图中的位 置,将选中的文字和图片填充在文档布局图指定的边界框中的步骤(j)打开电子文档后检测文档中的文字段落和图片,除文字之外的所有文 档元素均视为图片,包围图片的最小矩形是图片的边界框,包围文字段落的最 小矩形是文字的边界框;(k)用户在电子文档上自由的绘制速写笔划来选择文字和图片,根据用户 绘制的速写笔划的坐标确定笔划在哪些边界框内,这些边界框内的文字和图片 就是被用户选中的文字和图片;(1)用户在文档布局图上绘制把文字和图片放置在一个特定边界框内的操 作笔划,系统根据该操作笔划的位置确定将要填充文字和图片的边界框(m)根据在文档布局图上选定的边界框的大小调整文字字体大小和图片的 大小,使得所有被选中的文字和图片可以放在被选定的边界框内;
6. 根据权利要求1所述的一种基于草图速写的交互式文档排版方法,其特 征在于所述的对文档布局进行优化的步骤(n)对齐所有上边距离文档上边界的距离为/f土《的边界框,并调整这些 边界框之间的水平间距,使每两个边界框之间的水平间距相等;(o)对齐所有左边距离文档左边界的距离为『±《的边界框,并且调整这 些边界框之间的垂直间距,使每两个边界框之间的垂直间距相等;(p)对于文档排版设计中所有边界框的面积超过4^。w,文字的数目超过 C,^^的文字边界框,其字体大小必须保持一致,使用贪心算法选择这些文字边界框中的字体大小,使得这些文字边界框中的文字在边界框内,并且边界框中的文字正好填满整个边界框的数目最多;
7.根据权利要求1所述的一种基于草图速写的交互式文档排版方法,其特 征在于所述的用户通过画速写笔划修改文档的排版的步骤(q)用户在文档排版布局上自由绘制速写笔划,比较用户绘制笔划的轨迹 的形状和本发明中定义的操作笔划的形状,识别出操作笔划并根据操作笔划的 定义执行相应的操作,通过操作笔划对文档排版布局进行调整的效果实时显示 在屏幕上;(r)根据用户绘制的笔划调整边界框的大小,以及边界框内文字和图片的 大小,并且将调整后的结果显示在屏幕上;(s)根据文档排版布局中不同边界框中的字体大小的均匀程度调整文字边 界框的大小和字体大小,使得除了标题之外,所有文本边界框中的字体大小足 够接近;(t)调整边界框之间的间距,使所有的边界框之间的间距均匀。
全文摘要
本发明公开了一种基于草图速写的交互式文档排版方法,方法包括1)用户以速写的方式绘制及修改草图,该草图用于指导文档排版的设计及编辑;2)根据用户速写的草图生成用于文档排版的布局图;3)用户通过画速写笔划的方式对文档排版的布局图进行修改;4)用户通过在电子文档中画速写笔划选择文字和图片,随后用户通过在文档布局图中画速写笔划确定选中的文字和图片放在文档布局图中的位置,将选中的文字和图片填充在文档布局图指定的边界框中;5)对文档布局进行优化;6)用户通过画速写笔划修改文档排版。本发明公开的使用速写笔划进行文档排版的方法,使文档的排版工作更加符合用户使用笔和纸的习惯,因此更加人性化和简单易学。
文档编号G06T11/60GK101419714SQ20081012174
公开日2009年4月29日 申请日期2008年10月27日 优先权日2008年10月27日
发明者刘智满, 徐颂华, 杨文霞, 潘云鹤 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1