首页> 中国专利> 布局调整方法、布局调整装置及程序

布局调整方法、布局调整装置及程序

摘要

本发明提供一种布局调整方法、布局调整装置及程序,能够在可变数据打印的过程中,根据附在子模板内的内容尺寸,适当地设定子模板的尺寸和布局,并能够更好地反映使之进行布局的用户的意图。其特征在于:在插入数据的多个局部区域之间设定链接,根据相互连动地插入的数据的大小计算适合的尺寸;接着,根据所计算出的各局部区域的尺寸和在基本布局中对多个局部区域所设定的链接的关系,调整表示页面内的多个局部区域的尺寸和位置的布局;其中,在局部区域内进一步进行布局的多个小区域之间设定链接,相互连动且使各小区域的尺寸为可变,从而使局部区域的尺寸为可变。

著录项

  • 公开/公告号CN1744026A

    专利类型发明专利

  • 公开/公告日2006-03-08

    原文格式PDF

  • 申请/专利权人 佳能株式会社;

    申请/专利号CN200510093477.X

  • 发明设计人 小桥和文;牧野顺;

    申请日2005-08-30

  • 分类号G06F3/12(20060101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人季向冈

  • 地址 日本东京都

  • 入库时间 2023-12-17 16:59:29

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-10-24

    未缴年费专利权终止 IPC(主分类):G06F3/12 授权公告日:20070912 终止日期:20160830 申请日:20050830

    专利权的终止

  • 2007-09-12

    授权

    授权

  • 2006-05-03

    实质审查的生效

    实质审查的生效

  • 2006-03-08

    公开

    公开

说明书

技术领域

本发明涉及在打印由文本、图像构成的可变数据文档时,调整可变数据文档的布局的布局调整方法、布局调整装置及程序。

背景技术

近年来,由于商品的多样化,商品寿命变短,随着互联网利用的普及,对消费者的客户服务增强等原因,CRM(Customer RelationshipManagement:客户关系管理)、一对一营销的必要性备受关注。这些方法,对于提高客户满意程度,开发、稳定客户,非常有效。

一对一营销是数据库营销的一种,把客户的年龄、性别、兴趣、爱好、购买经历等个人属性信息做成数据库,分析其内容,提出符合客户需求的方案,作为其典型的具体做法,例如有可变打印。特别是,最近随着DTP(desktop publishing:桌面出版系统)技术的进展和数字打印装置的普及,开发出对每个客户定制文件并输出的可变打印系统。在这样的可变打印系统中,要求为每个客户生成对不同的量的内容进行最佳布局的定制文件。

一般地,在可变打印系统中生成这样的定制文件时,在文档上对容器进行布局。容器是用于描绘内容的局部区域,也称作字段区。即,在文档上对这样的容器进行布局,将数据库与布局建立关联(将数据库的各内容与各容器建立关联),通过这样的作业,生成定制文件(文档)。在本说明书中,将这样的文档称作可变数据文档(也有时简称为模板)。

在这样的可变打印系统中,能够将因顾客而异的内容插入所布局的各容器中。这里,插入到容器中的数据的量为可变。数据的量表示图像数据的尺寸或文本数据的字符长度。与之相对应,当容器的尺寸固定时,就产生以下的问题。例如,当插入比容器的尺寸大的尺寸的文本数据时,无法将所有文本显示在该容器内。或者,当插入比容器的尺寸大的尺寸的图像数据时,该图像的一部分就会缺失。将这样的问题称作溢出。

例如,当内容是图像数据时,还要考虑将该图像缩小,描绘在容器内,但有可能产生图像极小的弊端。此外,还要考虑在插入无法完全进入固定尺寸的容器内的文本数据时,能够缩小文本的字体尺寸,在该容器内显示所有文本。但会产生以下问题,即,在调节字体尺寸时,字体尺寸变得过小,从而造成文档整体的平衡被破坏,或变得难以阅读。

另一方面,考虑了在文档编辑应用程序中,将文本和图像的的容器尺寸设为可变,从而解决上述问题的技术。这种技术可以将文本和图像的容器尺寸设为可变。但存在这样的技术,即,在该文档编辑应用程序中,能够将的容器尺寸设为可变,根据从键盘输入的数据量,将容器的尺寸变大。另外,还存在这样的技术,即,在是文本数据的情况下,插入了不能完全插入固定容器尺寸内数据时,缩小文本的字体尺寸,在该容器内显示全部文本。

但是,当可变的容器尺寸变大后,会产生该容器与同一文档上的其他容器重叠的问题。另外,在通过调整字体尺寸将所有文本显示在容器内的情况下,当显示的文本的量非常多时,会产生字体尺寸变得过小的问题。

作为用于解决这样的问题的技术,已知一种关于布局设计装置的技术,当某容器的尺寸增大了时,为了保持与相邻的容器的间隔,而减小该相邻的容器的尺寸(例如,参照日本特开平7-129658号公报(0049、图8))。

另外,已知一种关于布局控制装置的技术,不对各目标(容器)进行动态地布局、修改,而控制用打印装置输出图像时的布局(例如,参照日本特开2004-15215号公报)。

如上所述,在以往的布局系统中,能够进行布局计算,使得进行了布局的各容器,根据要插入的内容尺寸,相互变为最佳尺寸。但是,在上述布局系统中,没有考虑到可变数据打印,无法用于从数据库对每条记录插入数据的可变数据打印。

另外,本申请人考虑到,文档应具有预先将容器的布局模块化的子模板功能,在文档布局上布置了子模板时,子模板的尺寸不能动态地变化,因此,不能以最佳的尺寸进行布局。另外,由于子模板的尺寸不动态地变化,所以,不能在子模板之间设定关联,也不能使子模板之间相互关联地计算最佳布局。

发明内容

本发明正是鉴于上述课题而完成的,其目的在于,提供一种布局调整方法、布局调整装置及程序,能够在可变数据打印中,根据附在子模板内的内容尺寸,适当地设定子模板的尺寸和布局,并能够更好地反映使之进行布局的用户的意图。

为了解决上述问题,本发明提供一种确定在打印介质上形成的页面的布局的布局调整方法,其特征在于,包括:

管理步骤,管理具有在页面内对插入数据的多个局部区域进行了布局的基本布局,在该多个局部区域之间设定链接,相互连动且使各局部区域的尺寸为可变的模板数据;

计算步骤,根据插入上述局部区域中的数据的大小,分别计算适于描绘插入各局部区域中的数据的局部区域的尺寸;以及

调整步骤,根据在上述计算步骤中所计算出的各局部区域的尺寸和在上述基本布局中对多个局部区域所设定的链接的关系,调整表示上述页面内的多个局部区域的尺寸和位置的布局,

在上述管理步骤中,管理模板数据,其在上述局部区域内进一步具有对插入数据的多个小区域进行了布局的子基本布局,在该多个小区域之间设定链接,相互连动且使各小区域的尺寸为可变,从而使上述局部区域的尺寸为可变。

另外,为了解决上述问题,本发明还提供一种确定在打印介质上形成的页面的布局的布局调整装置,其特征在于,包括:

管理装置,管理具有在页面内对插入数据的多个局部区域进行了布局的基本布局,在该多个局部区域之间设定链接,相互连动且使各局部区域的尺寸为可变的模板数据;

计算装置,根据插入上述局部区域中的数据的大小,分别计算适于描绘插入各局部区域中的数据的局部区域的尺寸;以及

调整装置,根据由上述计算装置所计算出的各局部区域的尺寸和在上述基本布局中对多个局部区域所设定的链接的关系,调整表示上述页面内的多个局部区域的尺寸和位置的布局,

其中,上述管理装置管理模板数据,其在上述局部区域内进一步具有对插入数据的多个小区域进行了布局的子基本布局,在该多个小区域之间设定链接,相互连动且使各小区域的尺寸为可变,从而使上述局部区域的尺寸为可变。

进而,为了解决上述问题,本发明还提供一种确定在打印介质上形成的页面的布局的程序,使计算机执行以下流程:

管理流程,管理具有在页面内对插入数据的多个局部区域进行了布局的基本布局,在该多个局部区域之间设定链接,相互连动且使各局部区域的尺寸为可变的模板数据;

计算流程,根据插入上述局部区域中的数据的大小,分别计算适于描绘插入各局部区域中的数据的局部区域的尺寸;以及

调整流程,根据通过上述计算流程所计算出的各局部区域的尺寸和在上述基本布局中对多个局部区域所设定的链接的关系,调整表示上述页面内的多个局部区域的尺寸和位置的布局,

所述程序的特征在于:

在上述管理流程中,管理模板数据,其在上述局部区域内进一步具有对插入数据的多个小区域进行了布局的子基本布局,在该多个小区域之间设定链接,相互连动且使各小区域的尺寸为可变,从而使上述局部区域的尺寸为可变。

本发明的其他特征和优点,可以通过下面的参照附图进行的说明而得到明确。在所有附图中,相同的标号表示相同或类似的部分。

附图说明

附图包括在说明书中并构成说明书的一部分,用于说明本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是表示本发明的一个实施例的用于打印可变数据文档的可变打印系统100的结构例的框图。

图2是进一步详细表示图1所示的主计算机101的结构的框图。

图3是说本明发明的一个实施例的可变数据打印的概要的图。

图4是表示本发明的一个实施例的用于打印可变数据文档的可变打印系统100的其他结构例的框图。

图5是表示包括菜单栏、工具栏、工作区、选项托板的一个实施例的用户界面的一例的图。

图6是表示用户界面上的容器的显示例的图。

图7A~图7D是用于说明一个实施例的容器的显示规则的图。

图8是用于说明一个实施例的链接设定方法的流程图。

图9A~图9C是表示一个实施例的设定链接时的用户界面(UI)的转变例的图。

图10是用于说明本发明的一个实施例的基于布局引擎的布局计算处理程序的流程图。

图11是表示一个实施例的不设定布局优先级时的布局计算方法的流程图。

图12是用于说明本发明的一个实施例的布局计算时的容器的集合的图。

图13A~图13C是表示一个实施例的不设定布局优先级时的UI显示例的图。

图14是表示通过可变链接配置了容器时的用户界面的显示例的图。

图15是表示一个实施例的链接设定对话框的图。

图16是用于说明通过一个实施例的用户界面103设定可变链接时的处理程序的流程图。

图17是表示使用了固定尺寸的链接时的布局结果的图。

图18是表示使用了可变尺寸的链接时的布局结果的图。

图19是用于说明本发明的一个实施例中的子模板的布局处理整体的流程图。

图20是用于说明图19所示流程图中子模板设定处理(步骤S1902)的细节的流程图。

图21A是用于说明在子模板设定处理的步骤S2001中、向边缘设定模式转变的方法的概要的图;图21B和图21C是表示图20所示的流程图中、在步骤S2005显示的边缘设定对话框的一例的图。

图22是用于说明子模板内的容器的边缘状态与子模板的边缘状态的关系的图。

图23是用于说明子模板内的容器的边缘状态与子模板的边缘状态的关系的图。

图24是用于说明图19所示的流程图中、子模板间的链接设定处理(步骤S1903)的细节的流程图。

图25是表示子模板间的链接设定处理的UI例的图。

图26是用于说明图19所示的流程图中子模板计算处理(步骤S1904)的细节的流程图。

图27是用于说明图26的流程图中布局计算处理(步骤S2615)的细节的流程图。

图28是用于说明图27所示的流程图中、子模板内的容器尺寸的计算处理(步骤S2704)的细节的流程图。

图29A、29B是表示进行了布局计算时的计算例的图。

图30是表示进行了布局计算时的计算例的图。

图31是表示进行了布局计算时的计算例的图。

图32是表示进行了布局计算时的计算例的图。

图33是表示子模板内的容器的布局计算的情况的图。

图34是表示本发明的一个实施例的布局调整装置的功能模块结构的框图。

具体实施方式

下面,参照附图说明本发明的优选实施例。

<系统结构>

首先,参照图1和图2,说明本发明的一个实施例的可变打印系统的结构。图1是表示本发明的一个实施例的用于打印可变数据文档的可变打印系统100的结构例的框图。此外,图2是更详细地表示图1所示的主计算机101的结构的框图。

在本实施例中说明的可变打印处理,由作为布局调整装置的主计算机101(由通用计算机模块构成)执行。可以在系统100上实施的布局编辑应用程序121(本发明的布局调整程序),在主计算机101中,执行其整体或一部分。特别是用于布局编辑的处理、和用于打印可变数据文档的处理,通过由主计算机101执行的软件来实现。另外,图34是表示本发明的一个实施例的布局调整的功能模块结构的框图。

布局编辑应用程序121,存储在计算机可读介质中,从该计算机可读介质加载到主计算机101的存储器136中并执行。存储了这样的软件或计算机程序的计算机可读介质是计算机程序产品。通过在计算机中使用该计算机程序产品,提供适于文档的布局编辑和可变打印的装置。

如图2所示,在主计算机101上通过输入输出接口143,将键盘132、鼠标133那样的指示设备等作为输入装置连接。此外,通过视频接口137连接作为输出装置的显示装置(视频显示器)144。还能通过输入输出(I/O)接口138连接本地打印机145等。此外,输入输出接口138还具有将主计算机101连接到网络107上的功能。据此,能够通过网络将主计算机101连接在可变打印系统100内的其他计算机装置上。作为网络107的典型的例子,能够列举局域网(LAN)或广域网(WAN)。

此外,如图2所示,主计算机101至少包含一个处理单元135、由例如由半导体随机存储器(RAM)和只读存储器(ROM)构成的存储单元136。存储设备139包括:可以与存储程序等的计算机可读介质之间交换数据的硬盘驱动器(HDD)140和floppy(注册商标)盘驱动器(FDD)141。另外,虽然未在图2显示,但还可以将磁带驱动器等作为存储设备139使用。CD-ROM驱动器142,作为非易失性的数据源来提供(当然,还可以通过CD-ROM提供计算机程序)。

主计算机101,以GNU/LINUX或微软公司的windows(注册商标)那样的操作系统或典型的操作系统的形式,或者根据基于在相关技术中的已知技术所形成的计算机系统的常规操作模式的方法,通过相互连接总线134,利用进行通信的、计算机模块101的构成要素135~143。即,上述构成要素135~143的各结构,通过总线134可通信地连接起来,并由安装在主计算机101中的操作系统利用。

另外,作为图2所示的主计算机101的例子,可以考虑IBM兼容PC,SUN的Sparcstation等,或包括这些的计算机系统。

<布局编辑应用程序的概要>

在本实施例中,布局编辑应用程序121常驻在硬盘驱动器140中,由处理器135控制执行、读入。从布局编辑应用程序121的程序的媒介存储装置和从网络107取得的数据,对应于硬盘驱动器140而使用半导体存储器136。

在一个例子中,布局编辑应用程序121的已编码的程序,存储在CD-ROM或floppy(注册商标)盘上,通过相应的CD-ROM驱动器142、存储设备141读入,并安装到硬盘驱动器140上。或者,作为其他例子,布局编辑应用程序121,也可以从网络107读入主计算机101内,并安装到硬盘驱动器140上。

软件还可以从下述介质加载到主计算机101内,即,磁带,ROM,集成电路,光磁盘,在主计算机101与其他设备之间的红外线等无线通信,PCMCIA卡那样的计算机可读卡,以及包含电子邮件通信、带有WEB站点上的记录信息的互联网或企业内部互联网的其他适当的计算机。这些是计算机可读介质的例子,当然,还可以使用其他计算机可读介质。

在图1中,本发明的布局编辑应用程序121,使计算机进行可变打印(也叫做可变数据打印(VDP)),包含2个软件组件,即布局引擎105和用户界面103。布局引擎105是这样的软件组件,即,按照给与作为局部区域的容器(矩形的范围)的尺寸和位置的限定,从存储在数据库119中的可变数据中,逐个地读入记录,根据所读入的数据和容器的限定,计算插入所读入的数据的容器的大小和位置等。

此外,在本实施例中,布局引擎105还进行描绘分配给容器的数据,生成可变数据文档的图像的处理。但本发明不限于此,布局引擎105还可以作为确定各局部区域(容器)的尺寸和位置的应用程序而工作,通过向省略图示的打印机驱动器(printer driver)输出描绘信息,打印机驱动器也可以进行可变数据文档的图像描绘处理,生成打印数据。用户界面103,可以由用户进行容器的布局和属性设定,对用户生成文档模板和后述的子模板。此外,用户界面103提供设定用于对文档模板内的各容器和数据源建立关联的链接的处理方法。用户界面103和布局引擎105通过信道123通信。

图3是说明本发明的一个实施例的可变数据打印的概要的图。通过布局编辑应用程序121的用户界面模块103(以下,记为“用户界面103”),按照来自用户的操作指示,在页面上配置多个容器181~183,通过对各容器赋予关于位置和尺寸的限定条件,生成文档模板180。

此外,用户界面103,进行文档模板180与数据源190的关联,以及各容器与数据源190内的各数据字段的关联(管理部3401)。表示各容器与数据源190内的各数据字段的关联的关联信息,被记述在文档模板内,该文档模板被存储在HDD 140中。此外,数据源190是以记录为单位记载项目数据的文件,被存储在HDD 140中。另外,在文档模板内进行布局的子模板也存储在HDD140中。

布局引擎105,按照来自用户的打印指示或预览指示,从数据源190将以关联信息建立了关联的数据,读入文档模板的各容器181~183中,以记录为单位插入(例如,将数据记录1的数据字段A~C插入容器181~183),根据所插入的数据,调整各容器的尺寸等(布局调整)(布局处理部3408)。

当是预览指示时,生成布局调整后的文档图像,为了作为预览显示,而输出到视频显示器144的画面上。此外,当是打印指示时,将用布局引擎105或打印机驱动器生成的文档图像,作为打印数据向打印服务器109输出。通过依次处理数据记录1、2、3...,实现可变数据打印(打印部3409)。

用于生成文档的数据源(190),例如,还可以是由运行数据库应用程序的其他计算机构成的数据库服务器117上的一般的数据库119。这时,主计算机101,能够通过网络107与数据库服务器117通信,取得数据源。此外,由布局编辑应用程序121生成的、用于可变数据打印的文档模板(180),保存在主计算机101或由其他计算机构成的文件服务器115上。

如图3所示,布局编辑应用程序121的布局引擎105,生成由合并了数据的文档模板构成的可变数据文档。这些文档,保存在主计算机101的本地文件系统中,或保存在文件服务器115上,或被发送给打印机113打印。打印服务器109是用于向没有直接连接到网络的打印机113提供网络功能的计算机。打印服务器109和打印机113通过一般的信道111连接。

<其他的系统结构例>

图4是表示本发明的一个实施例的用于打印可变数据文档的可变打印系统100的其他结构例的框图。图4所示的可变打印系统100,是与图1类似的结构,但在追加了引擎服务器227这一点与图1不同。存储在引擎服务器227中的布局引擎225,是布局引擎105的分离版本(version)。

引擎服务器227使用一般的计算机。为了根据打印或其他目的生成可变数据文档,布局引擎225,将保存在文件服务器115中的文档模板和保存在数据库119中的数据结合起来。这样的操作通过用户界面103来请求。

<布局编辑应用程序的说明>

下面,说明布局编辑应用程序121的细节。

[主窗口]

图5是表示包括菜单栏、工具栏、工作区、选项托板的一个实施例的用户界面的一例的图。用户界面103,在进行操作时,在视频显示器144上显示由如图5所示的应用程序窗口301形成的用户界面画面。该窗口301具有菜单栏302、工具栏303、工作区306和选项托板311。菜单栏302、工具栏303可以设为不显示,或移动到屏幕上的各种地方。此外,工作区306可以通过鼠标133的操作移动其位置。此外,托板311是可选的,指针/指示设备313表示鼠标133所指示的位置。

作为公开的技术,已知菜单栏302具有在菜单选项的层级下扩展的多个菜单项304。

工具栏303,具有能够通过应用程序的特殊模式设为不显示状态或设为显示状态的、多个工具按钮和控件305。

标尺308是可选的,用于表示工作区306内的指针、页面、行、边缘引导(margin guide)、容器或目标的位置。

托板311用于调用像可变数据库那样的追加功能。托板311具有用于进行移动、尺寸调整、关闭的窗口控件312。托板311是可选的,能够显示在工作区306的前面,或隐藏在目标的背面。托板311被限定成只能在应用程序窗口301的范围内显示,或允许在应用程序窗口301的外侧显示其一部分或整体。

在工具栏303上配置有图6所示的、用户可选择的“按钮”。图6是表示用户界面上的容器的显示例的图。下面,说明在图6中显示的各种按钮。

(1)选择工具按钮403

用于进行容器的边的选择、移动、尺寸变更、尺寸调整以及锁住/解锁。容器的选择,通过在容器的周围拖动选择框来进行。此外,可以一边按住CTRL键,一边对多个容器进行选择,通过这样的操作来选择多个容器。

(2)文本容器工具按钮404

用于生成具有静态或可变文本的容器。

(3)图像容器工具按钮405

用于生成具有静态或可变图像的容器。

(4)链接工具按钮406

用于生成在容器之间进行关联的链接,还用于控制链接的距离。

布局编辑应用程序121的如图5所示的应用程序窗口301,通过在页面内对各容器和链接进行布局,能够确定基本布局。所谓基本布局,就是在可变数据打印中作为基本的布局。当基本布局内的各容器为固定容器时,所有记录的打印结果的布局相同。此外,当基本布局内的各容器为后述的可变容器时,根据以记录为单位读入的数据的量和尺寸,在后述的限定的范围内变动各容器的尺寸和位置。因此,由布局编辑应用程序121生成的文档模板,是最终确定基本布局的模板,当包括可变容器时,最终的打印品的布局,根据所读入的数据进行布局调整。

另外,如后面将要说明的那样,本发明的文档模板,可以由用户配置大于等于1个的子模板,与文档模板的基本布局相同,各子模板具有子基本布局。另外,基本布局和子基本布局中,设定有插入各记录的数据的目标的数据区域(容器),和表示对各数据区域建立了关联的链接。

[文档模板]

在图5中,工作区306用于显示、编辑文档模板(180:基本布局)的设计。它能够在用户设计文档模板的过程中,向用户提示要打印的文档的概貌。由此,用户能够容易地理解与数据源(190)合并了的文档,如何基于可变数据的量和尺寸而变化。

此外,当数据源与文档模板建立了关联时,在进行了布局之后的各容器上显示相应的可变文本或图像,以便能够进行当前文档的预览。

进行文档模板中的文档构造和可变数据容器的描写的可视的线索(容器的框线、锚点、滑块、链接等),在生成文档模板时总是显示;当进行插入可变数据的预览时,在光标已移动到容器上,或选择了容器时,显示可视的线索。

工作区306包括滚动条307、可选的标尺308和文档模板309。文档模板309能够表示有多个页面。此外,文档模板309表示图3的文档模板180。

所给出的文档模板的页面尺寸,用公开的技术,由用户指定。例如,通过从菜单中的“文件”选择“页面设定”,显示设定页面尺寸的对话框,在那里反映用户指定的页面尺寸。各文档中的实际的页数,有可能根据建立了关联的数据源内的可变数据变化。这是因为,当在文档模板内像可变表那样设定根据可变数据的量而变更大小的字段的情况下,当读入的可变数据无法容纳在1页内时,自动生成追加的页面。

在各页面内显示的边界线310,是表示页面上的可打印的目标的最大宽度的、任意的页边距。

这里,图6表示能在1个页面的文档模板309上显示的目标的例子。作为这样的目标,包括容器407、408,任意使用的锚点图标409,固定的边411、414,未固定的边410,链接412以及滑块413。锚点图标409可以设定在容器的矩形的角、边、或容器的中央。当设定锚点图标409时,所设定的地方的位置固定。

即,在图6的例子中,锚点图标409表示由于被设定在容器407的左上角,所以,当容器407被插入可变数据,可变数据的图像尺寸或文本量多时,能够向右和向下放大。当锚点图标409被设定在边上时,能够固定该边,而向其余3个边的各方向放大。此外,当锚点图标409被设定在容器的中央时,能够使容器的中央位置固定,容器矩形的中央位置不变地向4个方向放大。

链接412将在后面详细叙述,它表示容器407和容器408建立了关联,表示在保持对该链接设定的长度(可指定范围)的同时,容器408能向右移动。滑块413表示能够在与所设定的边水平的方向上移动。

[容器]

这里,对容器进行说明。容器是将固定或可变的文本/图像,从可变数据文件插入文档模板内,并描绘的空间(将其称作局部区域),如图6所示,与其他容器和目标一起布局。通过用户界面画面,按照来自用户的操作指示,通过鼠标133的操作,对容器进行移动、尺寸调整和再生成。

更正确地说,容器具有设定的集合、可视的表现、交互作用(interaction)和编辑动作。以下是对本实施例的容器的定义。

(1)容器具有固定或可变的内容。可变内容是指,从数据源取得的数据有可能在各文档即各记录上不同,可以说是动态(活动)的。但是,作为本实施例的可变内容,动画的内容或以其他方法按时间变化的内容,因为不适合打印,所以,不打算在此讨论。同样,固定内容在使用容器生成的所有文档中,相同地表示。但是,当设定了可变内容和链接时,受可变内容的影响,固定内容有可能在各文档中位置不同。

(2)容器具有用于内容的背景色、边界、字体风格那样的与文本设定相同的装饰功能。将这样的设定称作容器属性。容器属性能对每个容器设定,但也能够进行是与某容器相同的容器属性的设定。

(3)容器在生成文档时,与来自数据源的数据合并。装饰功能在所打印的输出品中是可视的,在任何固定内容中都是如此。可变内容提供来自数据源的特定数据的显示。容器的该表达方式能够被打印,或在视频显示器144的屏幕上显示。

(4)如图6所示,容器具有作为可视的线索的用户界面。例如,具有用于容器的编辑和显示设定的交互式图形用户界面(GUI)。GUI的各要素显示在视频显示器144的屏幕上,但不作为文档打印。布局编辑应用程序121的用户界面103,显示背景色和字体那样的容器的若干装饰功能,还具有用于能够对容器的设定进行编辑和显示功能。

[对容器的限定]

容器具有关于控制如何结合显示在各文档中的内容的限定。这些限定(包括将固定/可变内容与容器结合),是用户通过一个文档模板控制多个文档的世代的主要方法。作为限定的一个例子,有“该容器的内容的高度最大为4英寸”。此外,其他的限定的例子,有“容器的内容的左边,在各文档中必须在相同的水平位置显示”。在此所述的内容,是用于使用GUI,显示、编辑这样的限定的各种方法。

为了拥有将图像定义在页面上的地方,而指定固定内容的配置的内容占位符,在数字打印技术中已众所周知。容器具有位置和尺寸,这些一般根据来自用户的直接的指示来编辑、显示。因此,在以下的说明中,对从数据源插入各记录的数据的可变数据打印中特殊的方法中的自动显示、编辑处理进行说明。

通过使用容器,用户可以指定文档的内容的尺寸(描绘尺寸)和位置。因为利用一个文档模板生成多种文档,所以,对容器设定多种可能性和限定,而为了这些设定(指定)和显示,使用预定的用户界面。

一个容器的边,定义在文档内显示建立了关联的内容的虚拟的边界线。因此,提到容器的左边,与提到能在各文档中显示建立了关联的内容的区域内的最左的边是相同的。同样,提到容器的高度,可以理解为提到在所生成的文档中建立了关联的内容的高度的限定。在本说明书中,当参照用户界面103提到容器的边或大小时,该区别变得清楚。

在以下的记载中,定义用于限定内容的显示的某个值的用语“固定”,在所有文档中都是相同的。

(1)当容器的宽度固定时,分配给所关联的内容的宽度,在所有文档中都相同。

(2)当容器的高度固定时,分配给所关联的内容的高度,在所有文档中都相同。

(3)当距离(链接的长度)固定时,所指定的距离,为所有文档的限定。

(4)当容器的左右边固定时,意味着关于页面的边的水平位置,在所有文档中都相同。但是,容器的高度或垂直方向的位置有可能变化。例如,当容器的左边固定时,所关联的内容的显示位置,在所有文档中其左边的位置为相同的水平位置,但有可能在某文档中显示在页面的上方,而在其他文档中则显示在页面的下方。

(5)当容器的上下边固定时,意味着页面的边的垂直位置在所有文档中都相同。但是,容器的宽度或水平位置有可能根据文档变化。

(6)容器的垂直轴是与容器的右边和左边平行,位于其中间的虚拟的垂直线。如果容器的垂直轴固定,则该容器的左右边的水平位置的平均(即,左右的中央位置)在所有文档中都相同。在该限定下,容器的宽度有可能变化。但是,从左右边离垂直轴最远的容器到最近的容器,垂直轴在所有文档中都处于相同的水平位置。另外,容器的高度和垂直位置不受该限定的影响。

(7)同样地,如果水平轴固定,则容器的上边和下边的平均位置被限定在垂直方向上的同一位置。但是,容器的宽度和水平位置不受该限定的影响。

(8)当水平轴和垂直轴均固定时,意味着容器的中心位置被固定。但是,容器的宽度和高度不,受该限定的影响。

(9)当容器的角位置、容器的边的中间位置、或容器的中心位置固定时,各位置在所有文档中都处于相同的地方。例如,如果容器的左上角固定,则意味着所配置的容器的左上位置在所有文档中都相同。

(10)垂直边或垂直轴,可以与页面的左边或右边,或左页边距或右页边距,或其他水平位置建立关联而固定。同样地,水平边或水平轴,可以与页面的上边或下边,或上下页边距,或其他垂直位置建立关联而固定。

“固定”的反意词是“可变”,“可变”意味着容器的边、轴、角、中间位置或文档限定有可能在文档间(记录间)变化。例如,在页面内,希望根据可变数据的尺寸和量,动态地变更布局,但对于特定的容器,有时希望固定大小和位置,有时希望使页面的角上的容器的四角固定。因此,在本布局编辑应用程序121中,能够对各容器(局部区域),适当地设定是固定边、轴、角、中间位置,还是使其可变。由此,当用户确定文档模板180的基本布局时,能够如用户所希望地那样生成基本布局。

[容器的显示和编辑]

(新的容器的生成方法)

容器以文本容器和图像容器这2种来记述。文本容器具有文本和嵌入的图像。图像容器只具有图像。

如图6所示,通过用鼠标133点击文本容器工具404或图像容器工具405,在文档模板309上拖动四边形,从而在该文档模板309上生成新文本容器或图像容器。

或者,还可以在激活适当的工具404、405后,通过在文档模板309上点击,来生成容器。这时,按照鼠标133的点击操作,在模板上插入默认尺寸的容器,并且,提供用于设定该新容器的尺寸等的对话框或其他提示。

另外,容器的尺寸可以自动地提前定义,或者考虑由计算出的分离器(skimmer)生成、配置,等各种方法。能够用鼠标等输入装置选择在此生成的容器,通过右击进行属性的指示等操作,从而显示容器的属性对话框,设定容器的限定。在容器的属性对话框UI(相当于局部区域设定装置)中,能够设定上述各种限定。此外,在容器的属性对话框中,能够确定容器的尺寸(宽度、高度)和位置;当设为可变尺寸时,可以设定容器的基本图形(基本尺寸和基准位置),还可以设定最大容器尺寸(宽度、高度)和最小容器尺寸(宽度、高度)。

[容器的显示方法]

图7A~图7D是用于说明一个实施例的容器的显示规则的图。具体来讲,图7A~图7D例示了关于容器的边的显示规则。

布局编辑应用程序121,为了表现容器的边的状态,用实线(项目503)或虚线(504)表示边,并且,使用以下部分:锚点(在边的附近描绘的由506、507、509所示的线、形状、图标)、句柄(为了进行移动、修改,在区域的边上或附近描绘的控制点502)、滑块(在边的两侧描绘的短平行线,图6的413)、放大缩小图标(505)以及颜色。

图7A~图7D所示的容器显示方法的规则如下所述。

(1)为了固定各边,用实线描绘。

(2)宽度固定时,用实线描绘左边和右边。

(3)高度固定时,用实线描绘上边和下边。

(4)不描绘轴。

(5)在尚未由(1)~(3)描绘的各边的附近描绘放大缩小图标,以虚线描绘这些边。

(6)在垂直边和水平边,或垂直轴和水平轴的各线对中,如果两者固定,则在其相交点描绘锚点。

(7)在各固定边上,如果在边的任意位置都未描绘锚点,则在边的中央描绘滑块。

(8)在垂直边和水平边,或垂直轴和水平轴的各线对中,如果尚未描绘锚点和滑块,则在其相交点描绘句柄。

由上述规则(1)、(2)、(3)定义的线,如上所述地被固定或被限定,因此用实线描绘。像规则(5)那样,可变的边以虚线描绘。由规则(6)、(7)、(8)定义的固定的点表示锚点,几条固定的边表示滑块,其他表示句柄。

由用户后来所设定的限定,优先于上述规则。即,当后来设定其他限定时,如果上述规则影响要描绘的边,则变更实线、虚线的描绘内容。

描绘可变的边的地方,依赖于容器的内容。如后面将要说明的那样,使用“动态校正处理”,“动态校正处理”,是指在将内容合并到文档模板后,在用户界面上变为可视。作为替代可以使用以下方法,即,在所有文档中被平均化的容器的内容区,或在用户界面上,确定可变的边要在哪里进行布局。

这些内容表现,提供表示容器的各边的状态的图解(graphical)手段。该表现的解释如下所述。

(1)如图6的边410那样,虚线意味着,文档内的边的位置根据容器的内容发生变化。

(2)实线意味着被限定的边,这是因为以实线表示的边固定(边414),或容器的宽度和高度固定(在容器408中,4条边是实线,两者均固定)。

(3)锚点意味着边或轴交叉的地方固定。因此,锚点在所有文档中,出现在同一水平、垂直位置。当然,锚点被固定。图6的图标409是锚点图标的例子,意味着边414的交叉位置固定。

(4)滑块意味着相关的边的长度固定,但有可能并行移动。例如,在图6中,滑块413表示容器408的内容,显示在文档内以特定的图表表示的位置的左或右。例如,当插入与容器408建立了关联(设定了链接)的容器407的数据的图像尺寸或文本量少时,由于容器407的尺寸变小,所以,容器408向左滑动(并行移动)地布置并显示。此外,当容器407的尺寸变大时,相反地,容器408向右滑动地布置。

这些图标和边的几个或全部,根据对哪个工具、哪个容器进行选择、加亮或激活,来进行描绘或不描绘。一般地,容器的边和图标是设计文档模板的工具,所以,在打印品中不描绘。

另外,如上所述,容器的宽度和高度的基本值、最小值、最大值的基本图形的设定,显示在附属对话框中。

在图7A中,容器501的宽度和高度二者均不固定而是可变的。固定的边503用实线表现,可变的边504用虚线表现。放大缩小图标505表示相邻的边504可变。也可以代替或追加地使用其他形式的指示器(indicator)。

在图7B中,容器501的宽度和高度二者均可变。为了明确地表示交叉的两条边503的角的位置已被固定,而添加锚点图标506。

在图7C中,容器501表示这样的状态,即:容器的宽度和高度二者均可变,均等地扩展如任意的锚点图标507所示的中心点的周围。即,容器501能够以锚点图标507为中心放大或缩小。这里的放大/缩小,是指锚点图标507的位置总处于容器501的中心点那样地,进行布局调整。

在图7D中,容器501的上边508被固定,而宽度和高度二者均可变。在上边508的中心所显示的锚点图标509被固定。而且,容器501的左边和右边,通过锚点图标509放大或缩小垂直的中心轴(垂直轴)的周围。

[链接的设定方法]

下面,说明用于在容器之间建立关联的链接的设定。图8是用于说明一个实施例的链接设定方法的流程图。此外,图9A~图9C是表示一个实施例的设定链接时的用户界面(UI)的变化例的图。下面,用图8、图9A~图9C说明对容器设定链接的方法。

首先,布局编辑应用程序121,在用户界面画面的工作区306上,显示为了编辑而选择出的文档模板(步骤S601)。为了设定链接,需要在文档模板上,生成用于设定链接的容器(最少2个)。图9A~图9C表示在步骤S601生成2个容器,再设定链接时的用户界面的变化例。

接着,布局编辑应用程序121,判断上述链接工具是否变为选择状态(通过点击图6的按钮406变为选择状态)(步骤S602)。结果,当链接工具不为选择状态(否)时,则根据需要执行其他的各种处理(步骤S609),回到步骤S602。

这里,在图9A中,设容器601和602全部由固定的边构成。此外,603和604与图4的409相同,意味着锚点。605意味着鼠标指针。那么,在链接工具为选择状态期间,用户点击设定链接的2个容器中的一个(例如,点击容器601)来进行选择。

按照该操作,布局编辑应用程序121的用户界面103,识别为指定了第1容器(步骤S603),保持特别指定所选择的容器的信息。此外,在画面上显示与以后的鼠标指针的移动对应的轨迹(步骤S604)。例如,图9B的线段606,是表示将图9A的状态下的点击位置与当前的鼠标指针的位置连接起来的线,能够通过该UI向用户明确表示在哪个位置设定链接。

接着,如图9B所示,用户将鼠标指针移动到另一个容器(例如容器602)并点击。按照该操作,用户界面103识别为指定了第2容器(步骤S605)。然后,布局编辑应用程序121,在步骤S604中保持的第1容器,和步骤S605中识别出指定的第2容器之间设定链接(步骤S606)。

这样,在由用户选择出的两个容器601、602之间设定链接时,显示链接UI607(步骤S607)。进而,接受该链接设定,容器的显示状态为图9C的状态(步骤S608)。即,通过设定链接,自动地变更容器的UI。这里,由链接建立了关联的边为可变,以虚线表示。在图9C中,标号608是以虚线表示的边,表示上述那样可变的边。

另外,像图9C那样的容器的边的状态的变化,是由于设定了链接而需要使容器的边为可变,从而自动地执行的变化,其目的在于,防止发生尽管设定了链接但所有的边却是固定的这样的矛盾。此外,标号609与图7A~图7D中的标号505相同,是通过设定链接,在视觉上对用户表示容器能够发生变化的方向的标记。此外,在图9C的例子中,左侧的容器的右边和右侧的容器的左边变为可变的状态,但这是一个例子,例如,右侧的容器也可以变化为具有图6的标号413所示的滑块的设定。

以上,说明了利用用户界面103而进行的文档模板的布局编辑。下面,将说明当在各容器中插入了数据源时的、根据数据尺寸(描绘尺寸)而进行的容器布局的调整处理。

<基于布局引擎的布局计算处理>

[布局计算方法(整体流程)]

本实施例的布局编辑应用程序,分为布局模式和预览模式,布局模式为使用用户界面103生成容器,在该容器之间建立关联(链接设定),并生成布局;预览模式为通过布局引擎105,将数据源的各记录插入所生成的布局,并预览实际插入了记录之后的布局结果。在该预览模式中,插入实际的记录,按照上述优先级计算布局。但是,预览模式是在显示方面的布局计算。即使在实际进行打印时,布局引擎105也向各容器插入数据并计算布局,此时的计算方法与预览模式相同。

图10是用于说明本发明的一个实施例的基于布局引擎的布局计算处理程序的流程图。首先,选择预览模式(步骤S1001)。如果是预览模式,则布局编辑应用程序121,让用户从数据源选择要预览的记录,确定将所选择出的记录的各字段数据插入各容器(步骤S1002)。

当确定向各容器插入字段数据时,布局编辑应用程序121,进行用于对该记录进行布局的计算,并根据需要进行布局调整(步骤S1003)。步骤S1003中的布局计算的细节,将在后面说明。然后,布局编辑应用程序121,显示在步骤S1003计算出的布局(步骤S1004)。

布局编辑应用程序121,根据用户的指示判断是否还对其他记录进行预览(步骤S1005)。当在步骤S1005中判断为不必对其他记录进行预览时,则结束预览模式(步骤S1007)。如果判断为对其他记录进行预览,则布局编辑应用程序121,选择其他记录再次进行布局计算,并进行预览(步骤S1006)。

另外,在非预览模式下进行打印时,依次对要打印的所有记录进行布局的计算。因此,步骤S1004不存在,步骤S1005进行是否已将要打印的记录全部处理的判断。将在步骤S1003中进行了布局计算的结果描绘输出,用打印机驱动器生成为打印数据,并向打印机输出打印数据。此时,在对所有记录(为了打印而被指定的所有记录)打印数据的输出结束的时刻,结束本处理。

[布局计算方法(细节)]

下面,说明上述步骤S1003的布局计算的细节。图11是表示一个实施例的未设定布局的优先级时的布局计算方法的流程图。本图只是用于说明布局计算的处理方法的流程图,所以,相当于对可变数据打印的1个记录进行打印/预览时的布局计算方法。当为多个记录时,重复以下的处理。

首先,布局编辑应用程序121,求出计算布局的容器的集合(步骤S1101)。将建立了关联的容器作为一个集合进行布局计算。图12是用于说明本发明的一个实施例的布局计算时的容器的集合的图。

例如,参照图12在页面上布置4个容器,并对各容器设定关联。此时,容器A与容器B、容器C与容器D通过链接建立了关联。因此,容器A、B成为集合1,容器C、D成为集合2。即,将通过链接而连接的容器组指定为一个集合。如上所述,标号1501表示锚点,标号1502表示固定的边,标号1503表示控制器,标号1504表示表明可变的边的变化方向的箭头,标号1505表示可变的边,标号1506表示链接,标号1507表示滑块。

接着,布局编辑应用程序121,从在步骤S1101中求出的容器的集合中,选择一个用于计算布局(步骤S1102)。然后,对选择出的容器的集合进行布局的计算。首先,对选择出的容器的集合中包含的可变要素即2个容器(A、B),根据所插入的数据的图像尺寸或文本量,计算各容器不受任何限定时的大小。具体而言,布局编辑应用程序121,判断容器A是图像数据用容器,还是文本用容器。该判断如上所述,能够根据对容器所设定的属性来进行判断。

接着,布局编辑应用程序121,读入要插入容器A的数据,当容器A为图像数据用容器时,该图像数据的尺寸(宽度、高度的像素数以及析像度)变为不受容器A的限定时的尺寸。此外,当容器A为文本用容器时,对该文本数据,也可以基于字符数,由容器A的容器属性所指定的字体类型、字体尺寸、字符间距、行间距等字符属性,计算要插入容器A的数据量。这里,当是文本用容器时,因为不考虑限定就无法确定容器A的纵横比例,因此,应当使用限定。

在图12所示的例子中,容器A在左上角和左下角设定了锚点,因此,高度(纵向)固定。由此,布局编辑应用程序121,判断是否能够将计算出的数据量(文本量)的字符,插入作为容器A的基本图形而设定的宽度(横向)的容器A中。当判断为能够全部插入时,容器A在以基本图形设定的尺寸(宽度、高度)上不变更。此外,当判断为不能全部插入时,容器A通过设定锚点而高度固定,因此,向横向延伸。这里,布局编辑应用程序121,计算容器A的宽度变为多少才能插入所计算出的数据量的字符,并算出容器A的尺寸。

接着,布局编辑应用程序121进行布局的最优化,使得尽可能地减小被布局的容器尺寸与实际的内容尺寸的差(步骤S1103)。布局的最优化这样进行,即,在可动态地改变尺寸地建立了关联的容器中,使分别插入的内容的尺寸与被布局的尺寸的差,尽可能相同。

布局编辑应用程序121,求出在步骤S1102中计算出的容器的集合的尺寸,即,容器A、容器B及链接1506(这里为固定链接)的合计尺寸,并求出该合计尺寸与基本布局中该容器的集合的尺寸(在图12的例子中,相当于容器A与容器B的各自的锚点图标的距离)的差。当在前面步骤中计算出容器A或容器B的宽度增大时产生差值。布局编辑应用程序121,通过将该差值平均分配给容器的集合中的各要素,来进行布局调整(调整部3403)。

布局编辑应用程序121,进行布局的最优化,当违反了规则时,再次计算使得不违反规则(步骤S1104)。这里所说的规则,是在生成布局时由用户设定的限定,是容器的尺寸的可变范围、位置的限定,在为可变链接时,是链接长度的变化的限定等。如果在计算布局之后并不违反规则,则该集合的布局完成。然后,布局编辑应用程序121,对页面上的所有集合实施步骤S1102~S1104的处理,计算页面整体的布局(步骤S1105)。

另外,图13A~图13C是表示一个实施例的不设定布局的优先级时的UI显示例的图。

图13A表示某记录被插入、布局被确定的状态。标号1301和标号1302表示锚点,标号1303和标号1304表示固定的边,标号1305表示可变的边,标号1306表示表明可变的边的变化方向的箭头,标号1308表示链接。在该状态下,变更记录,插入不同尺寸的内容。

图13B在图13A的状态下重叠显示新的内容的尺寸。标号1309表示在各自的容器中插入的内容的尺寸。然后,进行布局计算。图13C表示布局计算后的结果。进行计算,使得计算后的各容器的尺寸,与实际插入的内容的尺寸具有相同的差异,且不违反上述规则。如图13C所示,图13B所示的要插入的内容尺寸(1309)与计算后的内容尺寸(1010),二者具有相同的差异。

接下来,用图14和图15,说明当插入容器中的数据是图像时的可变链接的效果。

[长度可变的链接的设定]

图14是表示通过可变链接配置了容器时的用户界面的显示例的图。与图6相同,具有应用程序窗口301和工具栏303。在图14的状态下,在文档模板309上存在容器1203和容器1204。各容器包括锚点图标1201、锚点图标1202和固定的边1205、边1206,并由上述部分构成。在容器1203与1204之间具有可变尺寸的链接1209,连接着容器1203与容器1204。因为在容器1203与容器1204之间设定有链接,所以,容器1203的右边1207和容器1204左边1208用虚线表现。因此,指示器1210、指示器1211显示在各容器上,分别表示边1207和边1208可变。

此外,图15是表示一个实施例的链接设定对话框的图。图15是作为本发明的特征结构的链接设定装置的用户界面画面,是用于设定链接1209的信息的对话框701的例子。该对话框由标题栏702、工具按钮703、进行对话框的开关的按钮704、设定各种信息的区域709构成。

在该对话框中,可以进行链接类型是可变长度(707)的链接,还是固定长度(706)的链接的择一性选择。当链接类型可变时,能够设定链接长度的最小值(最小距离710)、最大值(最大距离712)以及基准值(基准距离711)。

图15所示的对话框701,例如,在以下的情况下进行显示,即,在通过用图8、图9A~图9C说明的链接的设定操作,在2个容器之间设定了链接之后,通过点击等操作选择了该所设定的链接。或者,也可以在设定了链接之后,立即自动显示关于该链接的对话框701。这里,各容器之间的距离的基准值711,是在插入了数据时各容器的尺寸没有变更时所使用的链接的长度。

图16是用于说明一个实施例的通过用户界面103设定可变链接用的处理程序的流程图。例如,在图12的容器A与容器B之间,以用图8、图9A~图9C说明的顺序设置链接时,首先设置固定尺寸的链接。然后,选择该链接执行图16所示的处理,从而能够使该链接,从固定尺寸的链接1506(图12)的状态,向可变尺寸的链接1209(图14)变化。

首先,用鼠标将所需要的链接(例如,链接1506)设置成选择状态,当进行用于显示链接属性的预定的操作时,将布局编辑应用程序121的用户界面103,作为链接属性的显示指示的输入来识别(步骤S8301)。当识别到链接属性的显示指示时,显示与选择状态的链接(以下,称作目标链接)对应的属性对话框701(图15),接着,用户界面103显示链接属性(步骤S802)。另外,作为链接的选择操作,与设定容器的基本图形时相同,也可以是鼠标的右击或键盘的特定键的操作等的任意的操作。

在步骤S802显示的对话框701上显示所选择的链接的当前状态。在本实施例中,因为选择了链接1506,所以,在该阶段链接尺寸固定,在链接类型705中,选择表示固定长度的固定长度706。

为了在该对话框701中,将链接从固定尺寸变更为可变尺寸,在链接类型705中,选择用于将链接尺寸设定为可变的可变长度707。由此,在链接距离708内配置着的最大距离712、最小距离710、基准距离711变为有效,并能进行数值的设定。为了设定链接的可变尺寸,用户在最大距离712中设定该链接的长度的最大值,在最小距离710中设定最小值,在基准距离711中设定当前值。

当结束设定时,用户通过一般的对话框开关按钮704指示该设定的应用。当检测到该指示后,将处理从步骤S803前进到步骤S804以后,用户界面103,使该目标链接反映上述设定状态。

即,首先在步骤S804中,布局编辑应用程序121判定目标链接是固定尺寸还是可变尺寸。如果指定了固定尺寸,则进入步骤S808,将目标链接设定为“固定尺寸”,在步骤S807中,设目标链接的显示状态为表示“固定链接”的“实线”。

另一方面,在步骤S804中,如果指定了可变尺寸,则进入步骤S805,布局编辑应用程序121,将目标链接设定为“可变尺寸”。然后,在步骤S806中,注册由上述对话框701设定的目标链接的当前值(基准值)、最大值、最小值。然后,在步骤S807中,设目标链接的显示状态为表示“可变链接”的“虚线”。结果,链接的UI显示,变为如图14的链接1209所示的状态。以上的对话框701的设定信息存储在存储器中。

另外,还可以在设定于基准距离711的当前值中,将作为当前的布局而配置的容器之间的距离作为缺省值自动地输入。

图17是表示使用了固定尺寸的链接时的布局结果的图。另外,布局计算方法按上述过程地进行。例如,在图14中,可以考虑在容器1203和容器1204上,分别插入了不同尺寸的图像数据的情况。此时,视各容器的数据大小为最佳;在要接近与所插入的图像尺寸相同的框804(最佳容器尺寸)时,容器1203向右变更尺寸;同样,在要接近与所插入的图像尺寸相同的框805(最佳容器尺寸)时,容器1204向左变更尺寸。

但是,由于锚点1201,容器1203不能移动左边1212,由于锚点1202,容器1204不能移动右边1213,如果要像上述那样变更尺寸,则只有缩小两者的间隔。但是,在容器间设定了固定尺寸的链接803,而在计算布局时维持其长度,因此,容器1203和容器1204的尺寸被变更。

结果,容器1203和容器1204,无法确保符合数据的纵横比例的最佳的尺寸,最终如图17所示,变得比最佳尺寸(框804、框805)小。即,由于链接803的尺寸固定,因此,容器801和容器802无法达到最佳尺寸(在图17中,以各容器内的点划线所表示的范围是数据所具有的纵横比例)。

另一方面,图18是表示使用了可变尺寸的链接时的布局结果的图。即,表示在与图17相同的状态下将链接设为可变尺寸的情况。这时,在上述的例子中,在容器1203与容器1204之间,如图所示地设置有可变尺寸的链接。因此,在变更容器1203和容器1204的尺寸时,通过缩小链接尺寸,能够使容器1203和容器1204的尺寸大于图17的例子。

结果,能够达到符合要插入的数据尺寸的最佳尺寸,或者能够设定更加接近插入数据尺寸(最佳尺寸)的容器的框。图18表示该结果,可变链接1209为布局计算的结果,即,成为可变链接903所示的尺寸状态。这时,容器1203和容器1204分别成为最佳尺寸(符合数据尺寸的大小)。

<子模板的布局处理的概要>

图19是用于说明本发明的一个实施例中的子模板的布局处理整体的流程图。首先,在文档上对子模板进行布局(步骤S1901)。这里,将配置多个插入各内容的容器并定义的布局,预先另行定义为子模板。即,子模板其本身就具有子基本布局的模板。子基本布局具有插入各记录的数据的目标的数据区域(容器),并设定有表示各数据区域建立了关联的链接。在步骤S1901中,按照来自用户的操作指示,将任意个该子模板布置在文档的任意位置上。另外,存在在文档上除了布置子模板以外还可以布置容器的、子模板与容器混在一起的文档模板。

接下来,为了容许进行了布局后的子模板动态变化,而设定“边缘”(步骤S1902)。另外,通过链接对进行了布局的子模板设定关联(步骤S1903)。关于步骤S1902和步骤S1903的处理的细节,将在后面说明。另外,关于步骤S1902和步骤S1903的处理,也可以在进行了步骤S1903的处理之后再进行步骤S1902的处理。然后,最后进行布局计算并结束(步骤S1904)。

<子模板的边缘设定处理(步骤S1902)的细节>

图20是用于说明图19所示流程图中子模板设定处理(步骤S1902)的细节的流程图。

首先,转变到边缘设定模式(步骤S2001)。图21A~图21C是用于说明在子模板设定处理的步骤S2001中向边缘设定模式转变的方法的概要的图。例如,如图21A所示,在各子模板2101中,在通过鼠标2103的右击显示的弹出菜单2104内,选择边缘设定项目2105,从而可以转变到边缘设定模式。

在图21A中,标号2102表示子模板内的容器。边缘设定模式是指,确定将子容器2102的边缘设定为固定/可变的模式,其确定操作在边缘设定对话框中进行(设定部3404)。即,在步骤S2001中,在边缘设定对话框中,将所设定或所确定的一系列的操作流程作为边缘设定模式。

当在步骤S2001中转变成边缘设定模式后,检测能否将子模板的各边缘设为可变(步骤S2002)。这里,用附图说明步骤S2002中的检测操作。图22和图23是用于说明子模板内的容器的边缘状态与子模板的边缘状态的关系的图。

在图22中,进行了布局的3个容器2204、2205、2206,分别由用实线表示的固定的边缘2201,和用虚线表示的可变的边缘2209来定义并被布局。另外,子模板2209的边缘,由在内部进行了布局的容器(这里是容器2204、2205、2206)的各边缘的状态来控制。

如上所述,与子模板的各边外接的内部容器的边如下所示,即,容器2204的上边和容器2205的上边,与子模板2209的上边共用一条边;容器2206的下边,与子模板2209的下边共用一条边;容器2205的右边和容器2206的右边,与子模板2209的右边共用一条边;容器2204的左边和容器2206的左边,与子模板2209的左边共用一条边。

这里,当子模板内部的容器的各边的状态全部为固定时,将子模板的边也确定为固定。另外,在子模板内部的容器的各边的状态为固定和可变混在一起的情况下,则将子模板的边确定为固定。但是,当子模板内部的各边的状态全部为可变时,子模板的边可以根据用户的选择,任意地设为固定或可变。

在图22所示的情况下,根据子模板内部的容器的边缘的状态,子模板2209的上边和左边被设定为用实线表示的固定的边2207,右边和下边被设定为用虚线表示的可变的边2208。

另一方面,在图23中,与图22所示的情况相比,容器2304的上边变成用虚线表示的可变的边缘2302,容器2305的右边变成用实线表示的固定的边缘2301,因此,子模板2309的上边原样被确定为固定的边缘2307,右边被确定为固定的边缘2307,能够设为可变的边只有下边(边缘2308)。

如上述那样,检测能否将子模板的固定的边设为可变,并进行能或不能的判断(步骤S2003)。其结果,如果是不能(NO),则将该边确定为固定,因此,设定为不可变的边缘(步骤S2004)。另一方面,如果在步骤S2003中判断为能(YES),以及在步骤S2004中设定了边缘之后,显示边缘设定对话框(步骤S2005:显示部3405)。

图21B和图21C是表示图20所示的流程图中在步骤S2005显示的边缘设定的对话框的一例的图。在图21B中,标号2106表示边缘设定对话框。另外,标号2107是关闭对话框的按钮,标号2108是切换边缘的固定/可变的单选按钮。此外,在图21B中,空白表示未被选中,涂黑表示被选中。

进而,在图21B中,标号2109是表示单选按钮2108被选中时变成可变的控制器。再进一步,标号2110和标号2111是表示子模板的边缘被设定为什么状态的UI。即,表示用实线表示的边缘2110为固定的状态,用虚线表示的边缘2111为可变的状态。再进一步,标号2112表示用于应用设定好的状态的确定按钮,标号2113表示用于不进行边缘设定就结束的取消按钮。

另外,图21C所示的边缘设定对话框2106中的标号2114,表示在边缘检测步骤(步骤S2002)中,对于被判断为不能设为可变的边缘,使其变灰而不能编辑的UI例。

接着,在用图21A~图21C说明的边缘设定对话框中,设定子模板的边缘,再按下确定按钮2112或取消按钮2113(步骤S2005)。其结果,当按下了确定按钮2112时,取得该设定内容(步骤S2007)。然后,根据该设定内容,改变子模板的UI显示(步骤S2008),结束边缘设定处理。另一方面,当在边缘设定对话框中按下了取消按钮时(在步骤S2006中为取消时),保持原样地结束本边缘设定处理。

<子模板的链接设定处理(步骤S1903)的细节>

图24是用于说明图19所示流程图中子模板间的链接设定处理(步骤S1903)的细节的流程图。子模板间的链接设定,通过与容器间的链接设定相同的处理流程来实现。

首先,转变到链接设定模式(步骤S2401)。转变到链接设定模式的方法,与设定容器间的链接时相同,通过用自动布局系统的工具按钮选择链接工具(图4的按钮406)来进行。转变到链接设定模式后,通过鼠标点击选择设定链接的第一子模板。将选择出的子模板,识别为用于设定链接的第一子模板(步骤S2402)。

图25是表示子模板间的链接设定处理的UI例的图。在图25中,标号2501、2506表示子模板,标号2502表示在子模板内进行布局的容器,标号2503表示在子模板内的容器之间设定的链接。此外,标号2504表示鼠标指针,标号2505表示子模板的可变的边。

这里,用鼠标点击子模板2501,将其识别为用于设定链接的第一子模板。移动鼠标指针2504(鼠标指针2508的位置),接着,将鼠标点击到的子模板识别为用于设定链接的第二子模板(步骤S2403)。此外,这样做更好,即,在移动鼠标指针2508时,使之从在第一子模板上点击的位置(鼠标指针2504的位置)起显示直线(轨迹)2507,表示要从哪个子模板开始设定链接。

在步骤S2403中选择第二子模板的同时,从第一子模板到第二子模板设定链接(步骤S2404)。然后,最后显示所设定的链接UI2309并结束处理(步骤S2405)。

<子模板的布局计算处理(步骤S1904:基本布局确定部3406)的细节>

图26是用于说明图19所示的流程图中子模板计算处理(步骤S1904)的细节的流程图。此外,图29A、29B、图30、图31、图32是表示进行了布局计算时的计算例的图。下面,说明步骤S1904的布局计算处理的细节。

首先,说明布局计算处理的整体。首先,将成为计算目标的子模板的集合的数目赋给常量X(步骤S2601)。该处理与计算上述容器的布局时进行的、检测容器的集合的处理相同。将在文档上进行了布局的多个子模板中、通过上述子模板间的链接建立了关联的子模板,识别为同一集合。结果,在文档上进行了布局的子模板,被分割为若干个集合。

例如,在图29A中,子模板2901相互之间通过链接2903设定关联。在图29A中,标号2902表示子模板内的容器,标号2904表示子模板内的容器间的链接。在图29A中,子模板A、B、C、D相互之间通过链接设定关联,此外,子模板F、G、H之间也通过链接设定关联。因此,在该例子中,子模板的集合有2个,即,子模板A、B、C、D的集合,和子模板F、G、H的集合。

接着,将0赋给变量i(步骤S2602)。该变量i是表示当前正在计算在步骤S2601中所设定的子模板的第几个集合的变量。然后,取得第i个子模板的集合(步骤S2603)。

接着,将在步骤S2603中所取得的子模板的集合内具有的子模板的数目赋给N(步骤S2604)。例如,在图29A中,子模板的集合A、B、C、D中有4个子模板,因此,将4赋给N。接着,将0赋给变量j(步骤S2605)。该变量j是表示正在计算在步骤S2604中所设定的子模板的集合内的第几个子模板的变量。

然后,取得第j个子模板(步骤S2606)。然后,将在步骤S2603中所取得的子模板内具有的容器的数目赋给M(步骤S2607)。例如,图29B所示的子模板2905,是将图29A的子模板A放大显示的子模板。因为在该子模板内对3个容器进行布局,所以将3赋给M。在图29B中,标号2906表示在子模板内进行了布局的容器,标号2907表示在容器间所设定的链接,标号2908表示子模板的可变边。

接着,将0赋给变量k(步骤S2608)。该变量k是表示正在处理在上述步骤中所设定的第几个容器的变量。然后,取得插入第k个容器中的内容尺寸(步骤S2609)。此外,作为内容的一例,可以列举图像或文本。并且,在该步骤中,取得插入各容器中的内容的实际尺寸。

此后,使k增加1(步骤S2610),对处于子模板内的所有容器,判断是否结束内容尺寸的取得(步骤S2611)。其结果,反复进行上述步骤S2609~步骤S2611的处理,直到内容尺寸的取得结束。然后,当所有的内容尺寸的取得结束后,根据所取得的尺寸,计算第j个子模板的理想尺寸(步骤S2612)。

这里,用图30说明理想尺寸的计算例。如图30所示,子模板A、B、C通过链接3002设定关联。另外,容器的边缘由固定边3001、可变边3003设定。整体的水平、垂直方向的尺寸如图所示,对链接的长度也如图所示地进行设定。

另外,在图30中,插入容器A的内容A’3004,具有水平方向18、垂直方向10的尺寸。插入容器B的内容B’3005,具有水平方向14、垂直方向25的尺寸。插入容器C的内容C’3006,具有水平方向14、垂直方向9的尺寸。此外,子模板的理想尺寸,根据插入各容器的内容尺寸的和求出,对于水平方向,

内容A’+链接+内容B’=18+3+14=35...(1)

内容C’+链接+内容B’=14+3+14=31...(2)

这样,在本实施例中,当在同一方向上存在了多个合计尺寸时,采用尺寸大的一个。在上述例子中,式(1)的35成为子模板的水平方向的理想尺寸。

接下来,对垂直方向求解理想尺寸。垂直方向的内容尺寸的和为:

内容A’+链接+内容C’=10+5+9=24...(3)

内容B’=25...(4)

对于垂直方向,也按照与水平方向相同的规则来确定尺寸,因此,式(4)的25成为子模板的垂直方向的理想尺寸。

如上所述,在步骤S2612中计算了理想尺寸之后,使j增加1(步骤S2613)。然后,判断是否对所有子模板结束理想尺寸的计算(步骤S2614)。其结果,如果未结束(NO),则反复进行上述步骤S2606~步骤S2614的处理,直到对所有子模板结束计算。

另一方面,在步骤S2614中,当判断为计算了所有子模板的理想尺寸(YES)时,对第i个子模板的集合进行布局计算(步骤S2615)。关于步骤S2615的布局计算处理的细节,将在后面说明。

当在步骤S2615中布局计算结束了之后,使i增加1(步骤S2616)。判断是否对所有子模板的集合结束了布局计算(步骤S2617)。其结果,如果未结束(NO),则反复进行上述步骤S2603~步骤S2617的处理。另一方面,如果判断为对所有子模板的集合计算都已结束(YES),则结束在文档上进行了布局的子模板的布局计算。

图27是用于说明图26的流程图中布局计算处理(步骤S2615)的细节的流程图。首先,根据子模板的理想尺寸和各边缘的状态,计算在子模板之间产生的应力(stress)(步骤S2701)。这里,应力是指在子模板之间产生的负荷。以图31为例进行说明。

图31表示子模板的集合,子模板A3101、B3102、C3103、D3104通过链接3107设定关联。另外,标号3105表示子模板的固定边,标号3106表示可变边。根据插入子模板内的容器的内容尺寸,按照上述程序计算出的各子模板的理想尺寸,如A’3108~D’3111所示。

在图31中,子模板A的理想尺寸A’为:水平方向35,垂直方向30。子模板B的理想尺寸B’为:水平方向24,垂直方向25。子模板C的理想尺寸C’为:水平方向30,垂直方向20。子模板D的理想尺寸D’为:水平方向28,垂直方向23。

对于水平方向,由该布局引起的应力,在子模板A和B、C和D之间相互独立。子模板AB间的理想尺寸为:

理想尺寸A’+链接+理想尺寸B’=35+3+24=62...(1)

CD间的理想尺寸为:

理想尺寸C’+链接+理想尺寸D’=30+3+28=61...(2)

图31的子模板的集合的水平方向的尺寸为:

25+3+22=50...(3)

因此,在AB间应力为:

62-50=12...(4)

在CD间应力为:

61-50=11...(5)

另外,对于垂直方向也同样地进行计算,在子模板AC之间产生5那么大的应力,在BD之间产生9那么大的应力。根据如上所述地求出的应力,对子模板进行布局计算(步骤S2702)。然后,确定通过计算求出的子模板的布局(步骤S2703)。计算出的子模板的布局如图32所示。

在图32中,子模板的集合32A,与图31所示的相同。另外,子模板的集合32B,表示在图31求解子模板的理想尺寸,以该理想尺寸为基准计算出的结果的布局。参见图32B可知,在分别对各子模板进行了协调后确定布局尺寸。

在如上所述地确定了子模板的布局尺寸之后,确定子模板内的容器的尺寸(步骤S2704)。图28是用于说明图27所示的流程图中子模板内的容器尺寸的计算处理(步骤S2704)的细节的流程图。

首先,将处于第i个子模板的集合内的子模板的数目赋给Y(步骤S2801)。接着,将0赋给变量r(步骤S2802)。然后,根据处于第r个子模板内的容器的理想尺寸和子模板的尺寸,计算容器的布局(步骤S2803)。

图33是表示子模板内的容器的布局计算的情况的图。在图33中,标号3301表示在上述步骤中所确定的子模板的尺寸,标号3302~3304表示处于子模板内的容器A~C中插入的内容A’~C’的理想尺寸。根据子模板的尺寸和各容器的理想尺寸,计算容器的布局。计算后的结果的布局,如容器A~C(3304~3306)所示。此外,利用链接3307进行协调,再计算各容器。

容器的布局计算结束之后,确定其容器的布局(步骤S2804)。然后,使r增加1(步骤S2805),判断是否对所有的子模板结束了计算(步骤S2806)。其结果,如果未对所有的子模板结束计算(NO),则反复进行上述步骤S2803~S2806。另一方面,如果对所有的子模板确定了内部的容器的布局(YES),则结束本处理。

在本实施例中,没有特别明确地记载对容器设定关于布局的优先级。例如,在自动布局系统中,存在设定布局的优先级的技术,当然,在设定了其优先级的情况下,能够进行考虑到其优先级的布局。另外,不仅可以对容器设定优先级,也可以对定义了多个容器布局的子模板设定优先级,在上述子模板的布局计算的过程中,可以考虑在计算子模板尺寸时所设定的优先级地计算尺寸。其计算方法,与对容器设定了优先级时相同。

<其他实施例>

以上,详细叙述了实施例,但本发明可以采取例如作为系统、装置、方法、程序或存储介质(记录介质)等的实施方式,具体来讲,可以适用于由多个设备构成的系统,也可以适用于由一个设备组成的装置。

此外,本发明也可以这样来实现:直接或远程地向系统或设备供给实现上述实施例的功能的软件程序(在实施例中与图示的流程图相对应的程序),用上述系统或设备的计算机读出上述所供给的程序代码,然后执行该程序代码。

因此,由于本发明的功能由计算机实现,所以安装在该计算机中的程序代码本身也是实现本发明的要素。即,本发明也包括用于实现本发明的功能处理的计算机程序。

在这种情况下,如果具有该程序的功能,也可以以任何形式执行,例如,目标代码,由解释器执行的程序,或供给到操作系统的脚本(script)数据等。

作为用于供给程序的存储介质有,例如,floppy(注册商标)盘、硬盘、光盘、光磁盘、MO、CD-ROM、CD-R、CD-RW、磁带、非易失性存储卡、ROM、以及DVD(DVD-ROM和DVD-R)等。

此外,也能够通过下述方法供给程序,即:用客户计算机的浏览器连接到互联网的主页上,将本发明的计算机程序本身或压缩的包括自动安装功能的文件,从该主页下载到硬盘等记录介质中。此外,也能够通过将构成本发明的程序的程序代码划分为多个文件,并从不同的主页下载各文件来实现供给。即,将用于利用计算机实现本发明的功能处理的程序文件对多个用户下载的WWW(万维网)服务器,也包含在本发明中。

而且,也能够将本发明的程序加密并存储在CD-ROM等存储介质中,并向用户分发,对符合预定条件的用户,使其经互联网从主页下载解密的密钥信息,通过使用该密钥信息执行被加密的程序,并将其安装到计算机中从而执行。

此外,除了计算机通过执行读出的程序来实现上述实施例的功能之外,通过下述处理也能实现上述实施例的功能,即:运行在计算机上的操作系统等,按照该程序的指示,进行实际处理的全部或部分。

此外,在从存储介质中读出的程序写入到插入计算机内的功能扩展板或连接于计算机的功能扩展单元中的存储器之后,安装到该功能扩展板上或功能扩展单元的CPU等,按照该程序的指示,进行实际处理的全部或部分,通过该处理也实现上述实施例的功能。

通过本发明,能够根据附在子模板内的内容尺寸,适当地设定子模板的尺寸和布局,并能够更好地反映使之进行布局的用户的意图。

本发明的许多明显不同的具体实施方式,并未不脱离本发明的精神和范围,可以理解为,本发明不限于特殊的具体实施方式,而是由附加的权利要求来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号