布局调整方法和装置的制作方法

文档序号:6512837阅读:177来源:国知局
专利名称:布局调整方法和装置的制作方法
技术领域
本发明涉及用于由文本和图像构成的文档的生成、编辑及打印的技术,更具体地说,适于可变数据文档的生成、编辑及打印。
背景技术
近年,由于商品的多样化,商品寿命变短,随着互联网的普及,利用它的消费者的客户服务指向增强等原因,所以,CRM(CustomerRelationship Management客户关系管理)、一对一营销的必要性就受到关注。这些方法目的在于,提高客户满意程度,开发、稳定客户。
一对一营销是数据库营销的一种,把客户的年龄、性别、兴趣、爱好、购买经历等个人属性信息做成数据库,分析其内容,提出符合客户需求的建议,作为典型的手法,例如有可变打印。最近,随着DTP(desktop publishing桌面出版系统)技术的进展和数字打印装置的普及,开发有对每个客户定制文档并输出的可变打印系统,在这种可变打印系统中,要求生成对每个客户不同的量的内容进行最佳布局的定制文档。
一般地,在可变打印系统中生成这样的定制文档时,在文档上对容器进行布局。容器是用于描绘内容(描绘内容)的局部区域,也称作字段区。即,通过对数据库和布局建立关联(对数据库的各内容和各容器建立关联)这样的作业,生成定制文档(文档)。在本说明书中,将这样的文档称作可变数据文档。
在这样的可变打印系统中,能够将因顾客而不同的内容插入已进行了布局的各容器中。因此,当要插入到内容中的数据的尺寸可变,而与之相对应容器的尺寸固定时,就产生以下的问题。例如,当插入了比容器的尺寸大的尺寸的文本数据时,无法将所有文本显示在该容器内。或者,当插入了比容器的尺寸大的尺寸的图像数据时,该图像的一部分就会缺失。将这样的问题称作溢出。
另外,当内容是图像数据时,还要考虑缩小该图像,描绘在容器内,但有可能产生图像极小的弊端。此外,还公开了以下技术可以在插入了无法完全进入固定尺寸的容器内的文本数据时,缩小文本的字体尺寸,在该容器内显示所有文本。但还会产生以下问题,当这样地调节字体尺寸时,字体尺寸变得过小,从而造成文档整体的平衡破坏,或变得难以阅读。
作为用于解决这样的问题的自动布局的技术,在日本特开平7-129658号公报的“布局设计装置”中公开了以下技术当某容器的尺寸增大时,为了保持与相邻的容器的间隔,而减小该相邻的容器的尺寸。
在可变打印系统中,要插入各容器的数据,例如可以按照顾客来变更,所以,有时要插入容器的数据为“空”。但是,在上述现有技术中,当要插入容器内的数据为空时,该容器配置部分作为空白进行布局。即,在文档布局中,该容器的部分的空间空闲。因此,在文档的一部分产生明显的空白部分,有时文档的外观变得不好看。此外,这样的空白部分,最好是用于使除了插入了数据的容器变为最佳尺寸,但是,由于存在空白的容器,所以,无法利用该空白部分。

发明内容
本发明正是鉴于上述问题而完成的,其目的在于能够有效地利用要插入的数据为空的容器的空间,能够生成更加美观的文档。
根据本发明的一种形式,提供以下的布局调整方法。即一种确定页面的布局的布局调整方法,包括局部区域设定步骤,设定要插入数据的局部区域的尺寸和位置的基本图形;计算步骤,基于要插入由上述局部区域设定步骤设定的局部区域中的数据,对各局部区域计算适于描绘该要插入的数据的尺寸;
调整步骤,基于由上述计算步骤计算出的各局部区域的尺寸,调整页面内的布局;以及指定步骤,指定是否在分配给局部区域的数据为空时,使其尺寸为0,上述调整步骤,当上述指定单元的指定,是使所分配的数据为空的状态的局部区域的尺寸为0的指定时,将该局部区域的尺寸视为0,调整页面内的布局。
此外,根据本发明的其它形式,提供以下的布局调整装置。即一种确定页面的布局的布局调整装置,包括局部区域设定单元,设定要插入数据的局部区域的尺寸和位置的基本图形;计算单元,基于要插入由上述局部区域设定单元设定的局部区域中的数据,对各局部区域计算适于描绘该要插入的数据的尺寸;调整单元,基于在上述计算单元计算出的各局部区域的尺寸,调整页面内的布局;以及指定单元,指定是否在分配给局部区域的数据为空时,使该尺寸为0,上述调整单元,当上述指定单元的指定,是使所分配的数据为空的状态的局部区域的尺寸为0的指定时,将该局部区域的尺寸视为0,调整页面内的布局。
根据本发明,能够有效地利用要插入的数据为空的容器的空间,能够生成更加美观的文档。
本发明的其他特征和优点,可以通过下面的参照附图进行的说明而得到明确。相同的标号表示相同或类似的部分。


附图包括在说明书中并结构说明书的一部分,用于说明本发明的实施例,并与说明书一起用于说明本发明的原理。
图1是表示实施例的可变打印系统的结构的图。
图2是表示图1的主计算机的结构的概略的图。
图3是说明可变数据打印的概要的图。
图4是表示实施例的可变打印系统的其它结构的图。
图5是表示包括菜单栏、工具栏、工作区、选项托板的实施例的用户界面的例子的图。
图6是表示用户界面上的容器的显示例的图。
图7A~7D是说明实施例的容器规则的图。
图8是说明实施例的链接的生成处理的流程图。
图9A~9C是表示生成链接时的用户界面的变动例的图。
图10是表示实施例的布局引擎的布局计算处理的流程图。
图11是表示实施例的布局引擎的布局计算处理的流程图。
图12A~12C是用于说明实施例的布局计算处理的图。
图13是说明计算实施例的布局时的容器的集合的图。
图14是表示使用容器和链接而生成的布局的一例的图。
图15是表示用于设定第1实施例的容器的属性信息的属性对话窗口的例子的图。
图16是说明用图15所示的属性对话窗口设定容器的属性时的用户界面的动作的流程图。
图17是说明在图14所示的布局中,容器E的设定状态为零化模式时的布局变化的情形的图。
图18是说明在图14所示的布局中,容器E的设定状态为零化模式且为了进行链接调整而设定时的布局变化的情形的图。
图19是说明包括空容器的零化处理的、实施例的布局引擎的布局调整处理的流程图。
图20是表示用于设定第2实施例的容器的属性信息的属性对话窗口的例子的图。
图21是表示按照由图20的对话窗口设定的链接的调整方法,调整图14的布局的结果的图。
具体实施例方式
下面,参照附图详细说明本发明的实施例。
<系统结构>
首先,参照图1和图2说明本实施例的可变打印系统的结构。图1是表示用于打印可变数据文档的可变打印系统100的结构例的框图。此外,图2是更详细地表示图1所示的主计算机101的结构的框图。在本实施例中说明的可变打印处理,由作为布局调整装置的主计算机101(由通用计算机模块构成)执行。可以在系统100上实施的布局编辑应用程序121(本发明的布局调整程序),在主计算机101中,执行该软件的整体或一部分。特别是用于布局编辑的处理和用于打印可变数据文档的处理,通过由主计算机101执行的软件来实现。
布局编辑应用程序121存储在计算机的可读介质中,从该计算机的可读介质加载到主计算机101的存储器136中并执行。存储了这样的软件和计算机程序的计算机的可读介质是计算机程序产品。通过在计算机中使用该计算机程序产品,能够提供适于文档的布局编辑和可变打印的装置。
如图2所示,在主计算机101上通过输入输出接口143,将键盘132、鼠标133那样的指示设备等作为输入装置连接。此外,通过视频接口137连接作为输出装置的显示装置144。还能通过输入输出接口138连接本地打印机145。此外,输入输出接口138还具有将主计算机101连接到网络107上的功能。据此,可以通过网络将主计算机101连接在系统100内的其它计算机装置上。作为网络107的典型的例子,能够列举局域网(LAN)或广域网(WAN)。
此外,如图2所示,主计算机101至少包含一个处理器135、由例如半导体随机存储器(RAM)和只读存储器(ROM)构成的存储单元136。存储设备139包括可以在与存储程序等的计算机可读介质之间交换数据的硬盘驱动器140和floppy(注册商标)盘驱动器141。另外,虽然未在图2显示,但还可以将磁带驱动器等作为存储设备139使用。CD-ROM驱动器142,可以作为非易失性的数据源来提供(当然,还可以通过CD-ROM提供计算机程序)。
主计算机101以遵从GNU/LINUX或微软公司的windows(注册商标)那样的操作系统的形式,或者通过基于在相关技术中已知的计算机系统的常规操作模式的方法,通过相互连接的总线134,从进行通信的计算机模块的组件135使用143。即,由上述135~143表示的各结构,通过总线134可通信地连接起来,并由安装在主计算机101中的操作系统利用。
另外,作为图2所示的主计算机101的例子,可以考虑IBM兼容PC,SUN的Sparcstation,或包括它们的计算机系统。
<布局编辑应用程序的概要>
在本实施例中,布局编辑应用程序121常驻在硬盘驱动器140中,由处理器135控制执行和读入。在布局编辑应用程序121的程序和从网络107取得的数据存储中,使用硬盘驱动器140和半导体存储器136。
在一个例子中,布局编辑应用程序121的已编码的程序,存储在CD-ROM或floppy(注册商标)盘上,通过相应的驱动器142、141读入,并安装到硬盘驱动器140上。或者,作为其它例子,布局编辑应用程序121,可以从网络107读入主计算机101内,并安装到硬盘驱动器140上。软件还可以使用磁带、ROM、集成电路、光磁盘、在主计算机101和其他设备之间的红外线等的无线通信、PMCIA卡那样的计算机可读卡、或者与包括因特网或企业内部互联网的WEB站点上的其它的适当的计算机的电子邮件通信,加载到主计算机101内。这些是计算机可读介质的例子,当然,还可以使用其它的计算机可读介质。
在图1中,本实施例的布局编辑应用程序121,使计算机进行可变打印(也叫做可变数据打印(VDP)),包含2个软件组件,即,布局引擎105和用户界面103。布局引擎105是按照提供给作为局部区域的容器(矩形的范围)的尺寸和位置的限制,从存储在数据库119中的可变数据中,逐个地读入记录,从所读入的数据和容器的限制,计算要插入所读入的数据的容器的大小和位置等的软件组件。此外,在本实施例中,布局引擎105还进行描绘分配给容器的数据,生成可变数据文档的图像的处理。但本发明不限于此,布局引擎105还可以作为确定各局部区域(容器)的尺寸和位置的应用程序而工作,通过向省略图示的打印机驱动程序输出描绘信息,打印机驱动程序进行可变数据文档的图像描绘处理,生成打印数据。用户界面103,可以进行基于用户的容器的布局和属性设定,使用户生成文档模板。此外,用户界面103提供对文档模板内的各容器和数据源建立关联的机构(mechanism)。用户界面103和布局引擎105通过信道123通信。
图3是说明本实施例的可变数据打印的概略的图。通过布局编辑应用程序121的用户界面模块103(以下,称作用户界面103),按照来自用户的操作指示,在页面上配置多个容器181~183,通过对各容器添加关于位置和尺寸的限定条件,生成文档模板180。此外,用户界面103,进行文档模板180和数据源190的关联、各容器和数据源190内的各数据字段的关联。表示各容器和数据源190内的各数据字段的关联的关联信息,被记述在文档模板内,该文档模板被存储在HDD140中。此外,数据源190是以记录单位记载项目数据的文件,被存储在HDD140中。布局引擎模块105,按照来自用户的打印指示或预览指示,从数据源190将以关联信息建立关联的数据读入文档模板的各容器181~183中,以记录单位插入(例如,将数据记录1的数据字段A~C插入容器181~183),按照所插入的数据,调整各容器的尺寸等(布局调整)。当是预览指示时,生成进行了布局调整的文档图像,为了在视频显示器144的画面上显示预览而输出。此外,当是打印指示时,将用布局引擎105或打印机驱动程序生成的文档图像作为打印数据向打印服务器109输出。通过依次处理数据记录1、2、3...,实现可变数据打印。
用于文档生成的数据源(190),例如,还可以是由运行数据库应用程序的其它计算机构成的数据库服务器117上的一般的数据库119。这时,主计算机101可以通过网络107与数据库服务器117通信,取得数据源。此外,由布局编辑应用程序121生成的、用于可变数据打印的文档模板(180),保存在主计算机101或由其他计算机构成的文件服务器115上。如图3所示,布局编辑应用程序121的布局引擎105,生成由与数据合并了的文档模板构成的可变数据文档。这些文档,保存在主计算机101的本地文件系统中,或保存在文件服务器115上,或被发送给打印机113打印。打印服务器109是用于向不与网络直接连接的打印机提供网络功能的计算机。打印服务器109和打印机113通过一般的通信信道111连接。
<其它的系统结构例>
图4是与图1类似的框图,但追加了引擎服务器227。存储在引擎服务器227中的布局引擎225是布局引擎105的分离形式(version)。对引擎服务器227使用一般的计算机。布局引擎225,为了根据打印或其它目的生成可变数据文档,而将保存在文件服务器115中的文档模板和保存在数据库119中的数据结合起来。这样的操作通过用户界面103来请求。
<布局编辑应用程序的说明>
下面,说明布局编辑应用程序121。
用户界面103,在视频显示器144上显示在操作时由图5所示的应用程序窗口301形成的用户界面画面。该窗口301具有菜单栏302、工具栏303、工作区306和选项托板311。菜单栏302、工具栏303可以不显示,或移动到屏幕上的各种地方。此外,工作区306可以通过鼠标133的操作使该地方移动。此外,托板311是选项,光标/指示设备313表示鼠标133指示的位置。
菜单栏302,如公开的技术那样,具有在菜单选项的分级下扩展的多个菜单项304。
工具栏303具有可以通过应用程序的特别模式变成不显示状态,或变成显示状态的多个工具按钮和访问305。
标尺308是选项,用于显示工作区内的指针、页面、行、边距引导、容器或对象的位置。
托板311用于访问可变数据库那样的追加功能。托板311具有用于进行移动、尺寸调整、关闭的窗口控制312。托板311,可根据选项显示在工作区的前面,或隐藏在对象的背面。托板311被限制为只能在应用程序窗口301的范围内显示,或允许在应用程序窗口301的外侧显示其一部分或整体。
在工具栏303上配置有图6所示的可由用户选择的“按钮”。
(1)选择工具按钮403用于进行容器的边的选择、移动、尺寸变更、尺寸调整以及锁住/解锁。容器的选择,通过在容器的周围拖动选择框来进行。此外,可以通过一边按住CTRL键,一边对多个容器进行选择操作,来选择多个容器。
(2)文本容器工具按钮404用于生成具有静态或可变文本的容器。
(3)图像容器工具按钮405用于生成具有静态或可变图像的容器。
(4)链接工具按钮406用于生成在容器之间进行关联的链接,还用于控制链接的距离。
布局编辑应用程序121的如图5所示的应用程序窗口301,通过在页面内布置各容器和链接,可以确定基本布局。所谓基本布局,就是在可变数据打印中成为基本的布局。当基本布局内的所有容器为固定容器时,所有记录的打印结果的布局相同。此外,当基本布局内的各容器为后述的可变容器时,根据读入记录单位的数据量和尺寸,在后述的限定的范围内变动各容器的尺寸和位置。因此,由布局编辑应用程序121生成的文档模板,最终只确定基本布局,当包括可变容器时,最终的打印品的布局,根据所读入的数据进行布局调整。
在图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的操作,对容器进行移动、尺寸调整和再生成。
更正确地说,容器具有设定的集合、视觉上的表现、相互作用和编辑动作。以下是对本实施例的容器的定义。
(1)容器具有固定或可变的内容。可变内容是指,从数据源取得的数据有可能在各文档即各记录上不同,可以说是动态的。但是,本实施例的可变内容,因为动画的内容或以其它方法按时间变化的内容不适合打印,所以,不在此阐述。同样,固定内容在使用容器而生成的所有文档中,相同地表示。但是,当设定可变内容和链接时,受可变内容的影响,固定内容有可能在各文档中位置不同。
(2)容器具有用于内容的背景色、边界、字体风格那样的与文本设定相同的装饰功能。将这样的设定称作容器属性。容器属性能对每个容器设定,也可以进行是与某容器相同的容器属性的设定。
(3)容器在生成文档时与来自数据源的数据合并。装饰功能在所打印的输出品中是可视的,使得在任何固定内容中都是如此。可变内容提供来自数据源的特定数据的显示。容器的该表现,可以是例如打印,或在视频显示器144的屏幕上显示,或两者都进行。
(4)容器如图6所示,具有作为视觉上的线索的用户界面。例如,具有用于容器的编辑和显示设定的人机对话(interactive)的图形用户界面(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举例说明关于容器的边的显示规则。
布局编辑应用程序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)定义的固定的点表示锚点,几个固定的边表示滚动条,其它表示把手。
由用户后来所设定的限定优先于上述规则。即,当以后设定其它限定时,如果上述规则影响要描绘的边,则实线和虚线的描绘内容发生变更。
描绘可变的边的地方依存于容器的内容。如后所述,在文档模板中合并内容,使用意味着在用户界面上为可视的“动态校正处理”。另外,还可以用其他方法确定用户界面中的可变的边的描绘位置。例如,也可以用以所有的文档平均化的尺寸的容器(平均化的内容区),来确定描绘可变的边的位置。
这些内容表现,提供表示容器的各边的状态的图解的单元。该表现的解释如下所述。
(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的宽度和高度均可变。锚点图标506,为了明确地表示交叉的双方的边503的角的位置固定。
在图7C中,容器501的容器的宽度和高度均可变,表示平等地扩展以锚点图标507显示的中心点的周围的状态。即,容器501能够以锚点图标507为中心放大或缩小。这里的放大/缩小进行布局调整,使得锚点图标507的位置总是容器501的中心点。
在图7D中,容器501的上边508固定,但宽度和高度均可变。位于上边508的中心显示的锚点图标509固定。而且,容器501的左边和右边,在通过锚点图标509垂直的中心轴(垂直轴)周围放大、缩小。
下面,说明用于在容器之间建立关联的链接的设定。图8是表示链接的设定方法的流程图。此外,图9A~图9C表示设定链接时的用户界面(UI)的变迁例。用图8、图9A~图9C说明对容器设定链接的方法。
首先,在步骤S601中,布局编辑应用程序121表示为了在用户界面画面的工作区306上进行编辑而选择出的文档模板。为了设定链接,用于设定链接的容器(最少2个)必需在文档模板上生成。在图9A~图9C表示在步骤S601生成2个容器并设定链接时的用户界面的变迁例。
接着,在步骤S602,布局编辑应用程序121,判断上述链接工具是否为选择状态(通过点击图6的按钮406,成为选择状态)。如果链接工具不是选择状态,则根据需要执行其它的各种处理(步骤S609),回到步骤S602。
在图9A中,设容器601和602全部由固定的边构成。此外,603和604与图6的409相同,意味着锚点。605意味着鼠标指针。那么,在链接工具按钮406为选择状态期间,用户点击设定链接的2个容器中的一个(称为容器601)来选择。按照该操作,布局编辑应用程序121的用户界面103,识别出指定了第1容器(步骤S603),保持特别指定所选择的容器的信息。此外,在画面上显示与以后的鼠标光标的移动对应的轨迹(步骤S604)。例如,图9B的线段606,表示连接图9A的状态下的点击位置和当前的鼠标光标的位置的线,可以通过该UI向用户明确表示在哪个位置设定链接。
接着,如图9B所示,用户将鼠标指针移动到另一个容器(容器602)并点击。按照该操作,用户界面103识别出指定了第2容器(步骤S605),布局编辑应用程序121,在步骤S604中保持的第1容器,和在步骤S605中识别出指定的第2容器之间设定链接(步骤S606)。
这样,在由用户选择出的两个容器601、602之间设定链接时,显示链接UI1607(步骤S607)。进而,接受该链接的设定,容器的显示状态成为图9C的状态(步骤S608)。即,通过设定链接,自动地变更容器的UI。这里,由链接建立了关联的边为可变,以虚线表示。在图9C中,608是以虚线表示的边,表示上述可变的边。另外,像图9C那样的容器的边的状态的变化,因为由设定链接产生了使容器的边可变的必要而自动地执行,其目的在于,防止发生尽管设定了链接但所有的边却是固定的这样的矛盾。此外,609与图7A~图7D的505相同,是通过设定链接,向用户在视觉上显示容器能够发生变化的方向的标记。此外,在图9C的例子中,左边的容器的右边和右边的容器的左边变为可变的状态,但这是一个例子,例如,右容器可以变化为具有图6的413所示的滚动条的设定。
<基于布局引擎的布局计算处理> 本实施例的布局编辑应用程序,分为使用用户界面103生成容器,在该容器之间进行关联(链接设定),并生成布局的布局模式;通过布局引擎105,将数据源的各记录插入所生成的布局,并预览实际插入了记录之后的布局结果的预览模式。在该预览模式中,插入实际的记录,按照上述优先级计算布局。但是,预览模式是显示上的布局计算。在实际打印时,布局引擎105也向各容器插入数据并计算布局,并且,此时的计算方法与预览模式相同。
图10表示布局计算的流程。首先,选择预览模式(S1001)。如果是预览模式,则布局编辑应用程序121,使用户从数据源选择预览的记录,确定将所选择的记录的各字段数据插入各容器(步骤S1002)。当确定向各容器插入字段数据时,布局编辑应用程序121,进行用于对该记录进行布局的计算,并根据需要进行布局调整(步骤S1003)。步骤S1003中的布局计算的细节,将在后面描述。并且,布局编辑应用程序121,显示在步骤S1003计算出的布局(步骤S1004)。布局编辑应用程序121,根据用户的指示判断是否对其它记录进行预览(S1005)。当在步骤S1005,判断为不必对其它记录进行预览时,结束预览模式(S1007)。如果对其它记录进行预览,则布局编辑应用程序121,选择其它记录再次进行布局计算,进行预览(步骤S1006)。
另外,当不在预览模式下进行打印时,依次对要打印的全部记录进行布局的计算。因此,步骤S1004不存在,步骤S1005进行是否处理全部要打印的记录的判断。对在步骤S1003进行了布局计算的结果进行描绘输出,用打印机驱动程序生成为打印数据,并向打印机输出打印数据。此时,在对于所有记录(为了打印而被指定的所有记录),打印数据的输出结束的时刻,结束本处理。
下面,说明基于上述步骤S1003的布局计算的细节。图11是表示本实施例的未设定布局的优先级时的布局计算的方法的流程图。此外,图18是表示这时的UI显示例的图。另外,由于图11是用于只说明布局计算的处理方法的流程图,所以,相当于对可变数据打印的1个记录进行打印/预览时的布局计算方法。当为多个记录时,重复以下的处理。
首先,布局编辑应用程序121,求出计算布局的容器的集合(步骤S1101)。布局计算,将关联的容器作为一个集合进行计算。例如,当参照图13时,在页面上对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的纵横比率,所以,分配限定。在图13的例子中,容器A在左上角和左下角设定锚点,所以,高度(纵向)固定。由此,布局编辑应用程序121,判断是否可以将计算出的数据量(文本量)的文字插入作为容器A的基本图形设定的宽度(横向)的容器A中。当判断为能够全部插入时,在容器A中,无法变更为以基本图形设定的尺寸(宽度、高度)。此外,判断为不能全部插入时,容器A,通过锚点设定而高度固定,所以,横向延伸。这里,布局编辑应用程序121,容器A的宽度变为多少,就计算是否能插入所计算的数据量的字符,并计算容器A的尺寸。
接着,布局编辑应用程序121进行布局的最优化,使得尽可能地减小进行布局的容器尺寸和实际的容器尺寸的差(S1103)。进行布局的最优化,使得在可动态地改变尺寸地建立了关联的容器中,分别插入的内容的尺寸和进行布局的尺寸的差尽可能相同。布局编辑应用程序121,求出在步骤S1102选择出的容器的集合的尺寸,即,容器A和容器B和链接1506(固定链接时,使用设定的链接长度,可变链接时,使用被设定为基准值的链接长度)的合计尺寸,求出该合计尺寸和基本布局中的该容器的集合的尺寸(在图13的例子中,相当于容器A和容器B的各自的锚点图标的距离)的差。当计算出容器A和容器B的宽度增大时,产生差分值。布局编辑应用程序121,通过将该差分值均等地分配到容器的集合的各要素中,来进行布局调整。另外,也可以构成为对包括链接1506,即容器A、容器B和链接1506均等地分配差分值。这样,将链接长度可调整的链接1506称作可变链接。
布局编辑应用程序121进行布局的最优化,当违反规则时,再次在不违反规则的前提下进行计算(S1104)。在此所述的规则,是布局生成时由用户设定的限制,容器的尺寸的可变范围和位置的限制,在为可变链接时,是链接长度的变化的限制等。如果在不违反规则的前提下计算布局,则该集合的布局完成。并且,对页面上的所有集合实施步骤S1102~S1104的处理,布局编辑应用程序121计算页面整体的布局(S1105)。
图12A~12C是在未设定优先级的条件下进行布局时的UI例。
图12A表示插入某记录来确定布局的状态。1301和1302表示锚点,1303和1304表示固定的边,1305表示可变的边,1306表示代表可变的边的变化方向的箭头,1308表示链接。在该状态下,变更记录,插入不同的尺寸的内容。图12B在图12A的状态下重叠表示新的内容的尺寸。1309表示插入各容器中的内容的尺寸。然后,进行布局计算。图12C表示进行了布局计算的结果。进行计算,使得计算后的各容器的尺寸与实际插入的内容的尺寸具有同等的差异,并且,在不违反上述规则的前提下计算。如图12C所示,图12B所示的所插入的内容尺寸(1309)和计算后的内容尺寸(1310),两者具有同等的差异。
<基于与空数据对应的容器的布局调整>
图14表示使用容器和链接而生成的布局的一例。与图6相同,具有应用程序窗口301和工具条303,在文档模板309上配置有容器A(701)、容器B(702)、容器C(703)、容器D(704)以及容器E(705)。此外,在容器A-容器B之间设定链接720,在容器A-容器E之间设定链接716,在容器B-容器E之间设定链接717,在容器C-容器D之间设定链接721,在容器C-容器E之间设定链接718,在容器D-容器E之间设定链接719。
各容器由锚点图标706、锚点图标707、锚点图标708、锚点图标709和固定的边710、边711、边712、边713、边714、边715以及位置可变的边722、边723、边724、边725、边726、边727形成。另外,固定的边以实线表示,位置可变的边以虚线表示。锚点被配置在容器的角上,表示该角被固定在文档上的指定位置,无法从该位置移动。由于在容器701~705上设置链接,存在可变长度地移动的边,所以,表示该可变地移动的方向的指示器728、指示器729、指示器730、指示器731、指示器732、指示器733分别显示在容器A、容器B、容器C、容器D、容器E内。它是表示各容器的边能够在指示器所示的方向(或其相反方向)上移动的功能。
在图14中,作为链接的设定例,将链接716的长度设定为50,将链接717的长度设定为20,将链接718的长度设定为30,将链接719的长度设定为40。为了易于理解以下的说明而使用这些值。另外,链接720和链接721的形状为台阶状是因为表示为连接各容器的边的中央部。
<容器的属性设定>
图15是表示用于设定本实施例的容器的属性信息的属性对话窗口的例子的图。这里,表示用于设定容器E(715)的属性信息的属性对话窗口。另外,在图15的对话窗口中,只显示了关于与插入容器的数据为空时对应的设定项目的内容,当然还可以设定其它属性(例如,容器尺寸的伸缩范围等限制)。
该属性对话窗口1201包括标题栏1202、工具按钮1203、进行属性对话窗口的关闭(设定内容的反映)或取消(设定内容的放弃)的按钮1204、设置各种信息的区1205。在该属性对话窗口1201中具有当插入容器中的数据为空时,设容器尺寸为0而计算的零化模式(Set min-size as 0 when data is empty)的选择按钮1207;按照容器的限定(Constraints),执行通常的布局计算的通常模式(Calculate LayoutNormally)的选择按钮1206。选择按钮1206和选择按钮1207被分组,具有互斥性,择一地选择。默认为选择选择按钮1206(通常模式)。
当未选择选择按钮1207(零化模式)时,配置在它以下的项目1208~1212(除了框1209)全部变为不能操作,并使显示变为灰色。当选择选择按钮1207(零化模式)时,链接长度调整的检查框1208(Adjust Link Length)变为有效,通过开/关该框的检查,还能够设定是否进行连接在该容器上的链接长度的调整。
这里,说明本实施例的链接的长度调整。例如,在上下方向上并列配置有3个容器(从上到下依次为容器A、容器B、容器C),在各容器之间(容器A-容器B之间、容器B-容器C之间)设置链接。如果在该布局中,对配置在中央的容器B设定上述的零化模式,则当对容器B插入空的数据时设高度为0进行布局计算。但是,容器A和容器C的距离,变为在容器A-容器B之间设置的链接与在容器B-容器C之间设置的链接相加的尺寸。即,与在容器A-容器C之间设置表面看来多余的尺寸的链接相同,这些量的空间空出必要以上,由此,文档的外观有可能恶化。此外,当向容器A和容器C插入更大尺寸的数据时,无法有效利用该空间。因此,当设容器B的高度为0时,最好是能够缩短与容器A和容器C的链接长度,以更加合适的尺寸取得容器A、容器C。
当在检查框1208中,不为检查开的情况下(在保持检查关的状态的情况下),在插入该容器中的数据为空时,只进行设该容器尺寸为0来计算的动作,从该容器设置的所有链接的长度,按照链接的设定进行计算。这时,当以多个链接连接时也不调整尺寸,所以,空间空着,布局的平衡变坏。或者,在插入其它容器中的数据大时,通过利用这样的空空间,有可能变为最佳的大小。
因此,由于通过调整这些链接的长度,填充或利用该空着的空间,所以,可以有效地使检查框1208的检查为开。当检查框1208的检查为开时,配置在框1209内的项目1210~1212变为有效状态。在本实施例中,默认为选择长度选择按钮1210(Length)。
调整长度选择按钮1210和比率选择按钮1212被分组,具有互斥性,择一地选择。由检查框1208选择的功能,是在设容器尺寸为0来计算后,调整对该容器设置的链接的尺寸,再计算布局的选择功能。在本实施例中,作为这样的链接长度的调整方法,当选择调整长度选择按钮1210时,按照在输入项目1210a输入的输入值的量,缩短对该容器设置的链接的长度。它是在相同的条件下对在该容器中设置的所有链接执行的方法。此外,当选择了选择按钮1210时,能够通过列表1211选择所指定的值的单位。
通过以上的链接长度的调整功能,当设置多个链接时,能够保持某种程度的链接长度的平衡。此外,由于指定实际的缩短长度,所以,易于由用户指定,也易于预想布局结果。另外,在选择了调整长度选择按钮1210时可以指定的值(调整值)的范围,基本上在当前对容器设置的多个链接中,最小长度的链接的长度为调整值的最大值。但是,当链接的最小长度为0.1mm等非常小时,几乎无法减少空间,此外,还存在即使平衡稍微破坏也要填充空间的情形。因此,还可以超过链接的最小值地设定调整值。当调整值比链接的最小长度还大时,有时调整后的链接长度变成负,这时,设链接的长度为0。或者,考虑可不停地放大等的若干实施例。
作为另一个链接长度的调整方法的例子,当选择了比率选择按钮1212时,以所指定的比率使对容器设置的链接的长度变化。通过该方法,连接在该容器上的多个链接的长度的比率,维持在调整前的状态。因此,当对多个容器设置链接时,能够有效地保持该配置的布局状态。即,在用户想配置容器的布局中,即使在填充插入了空数据的容器的空间时,也可以在良好地保持当初所生成的布局的平衡的状态下调整链接尺寸,变更容器尺寸。
以下,参照图16的流程图,说明用在上述图15说明的对话框设定容器的属性时的处理。
图16表示用于用户界面103显示上述属性对话窗口(图12),并使用户进行插入了空容器时的设定的处理。
首先,在通过键盘132和鼠标133选择了容器的状态下,当输入表示该选择状态的容器(以下,称作对象容器)的属性对话窗口1201的指示时,处理从步骤S1601进入步骤S1602。在步骤S1602,布局编辑应用程序121的用户界面103显示对象容器的属性对话窗口。以下,说明选择容器E(705)(对象容器)。此外,作为用于显示属性对话窗口的指示输入,可以列举由用户进行的鼠标的右击或来自键盘的Alt键等输入。在该状态下,在对话窗口1201上选择选择按钮1206(Calculate Layout Normally)(通常模式)。这里,当用户在插入空的数据时设容器的尺寸为0来计算的情况下(零化模式),选择选择按钮1207(Set min-size as 0 when data is empty)。
在选择了选择按钮1207的状态下,对话窗口1201的检查框1208为检查关。当在该状态下对话窗口1201关闭时,设定为在插入空数据时只执行使该容器的尺寸为0的处理。
另一方面,当在对话窗口1201选择选择按钮1207(零化模式),并使链接长度调整的检查框1208的检查为开时,为了让用户设定链接长度的调整方法,而使向框1209内的输入为可能的状态。在该状态下,能够选择链接长度的调整方法。能够选择的调整方法如上所述,是按指定长度缩短链接,或通过所指定的比率缩短链接的任意一个。另外,默认为选择调整长度选择按钮1210,指定缩短的长度的框为空白。
当选择指定链接长度的方法时,设调整长度选择按钮1210为选择状态,在框1210a中设定长度,并从列表1211选择单位。另一方面,当选择了以所指定的比率缩短链接的方法时(选择了比率选择按钮1212时),在框1212a中设定用于缩小的比率。
这样,当点击应用按钮1204,指示应用时,处理从步骤S1603进入步骤S1604。用户界面103检查属性对话窗口中的设定状态,如果选择选择按钮1206(通常模式),从步骤S1604进入步骤S1608,将对象容器设定为通常模式。
另一方面,如果选择选择按钮1207,则从步骤S1604进入步骤S1605,布局编辑应用程序121,将对象容器设定为零化模式。然后,通过检查检查框1208的检查状态,判定链接尺寸的调整的有无。如果尚未检查检查框1208,则从步骤S1606进入步骤S1609,将对象容器设定为不调整链接尺寸。当检查检查框1208时,从步骤S1606进入步骤S1607。在步骤S1607,布局编辑应用程序121,按照框1209内的设定状态,设定该对象容器中的链接长度的调整方法,在文档模板上记述设定内容,保持在HDD140中。
图17是说明在图14所示的布局中,容器E(705)的设定状态为零化模式时(在图15所示的属性对话窗口中,选择选择按钮1207,未检查检查框1208的状态)的布局变化的情形的图。此外,图18是说明在图14所示的布局中容器E(705)的设定状态为图15的属性对话窗口所示那样时,向容器E插入空的数据时的布局变化的情形的图。
如上所述,图17是当插入了空数据时,设容器尺寸为0来计算,且不进行链接长度的调整时的布局调整结果。当在图15的项目1207中插入空的数据时,进行设容器尺寸为0来计算的设定,所以,容器E的尺寸变为0(805)。这时,容器A、容器B、容器C、容器D分别与容器E以链接716、链接717、链接718、链接719建立关联,因此,容器的尺寸增大。
从图17可知,容器A-容器E之间、容器B-容器E之间、容器C-容器E之间、容器D-容器E之间的距离不变,但容器E的尺寸变为“0”,所以,容器A-容器C之间的距离,空闲链接716的尺寸“50”和链接718的尺寸“30”的合计80的空间。此外,容器B-容器D之间的距离,也空闲链接717的尺寸“20”和链接719的尺寸“40”的合计60的空间。因此,最好是通过执行上述链接长度调整,填充这些空间,变为美观的布局,或扩大容器A、容器B、容器C、容器D的可放大区域,从而可以更有效地利用空间。
图18是在图17的基础上,调整了链接长度的结果。在图15中,在检查框1208加入检查,选择调整长度选择按钮1210,在框1210a中,作为输入值指定“20”。当向容器E插入空数据,其尺寸变为0时,布局编辑应用程序121,使连接在容器E上的各链接的尺寸缩短“20”。即,布局编辑应用程序121,将链接716的尺寸从“50”缩小为“30”,将链接717的尺寸从“20”缩小为“0”,将链接718的尺寸从“30”缩小为“10”,将链接719的尺寸从“40”缩小为“20”。由此,结果是如图18所示,容器A-容器C之间变为链接716的尺寸“30”和链接718的尺寸“10”的合计40,容器B-容器D之间变为链接717的尺寸“0”和链接719的尺寸“20”的合计20。由此,容器A-容器C之间、容器B-容器D之间,与调整前相比,分别可以利用“40”的量的空间。
另外,在图15的项目1210中指定了大于等于“20”的尺寸的情况下,例如指定“30”,当链接尺寸未小于等于0时,链接716的尺寸变为“20”,链接718的尺寸变为“0”,链接717的尺寸还是“0”,链接719的尺寸变为“10”,容器A-容器C之间变为链接716的尺寸“20”和链接718的尺寸“0”的合计20,容器B-容器D之间变为链接717的尺寸“0”和链接719的尺寸“10”的合计10。
此外,作为链接长度的调整方法,选择比率选择框1212,例如,在框1212a上设定了80(%)时,链接716~719的长度分别按“50”→“40”、“20”→“16”、“30”→“24”、“40”→“32”变化。
图19是表示在如图17、图18那样布局状态转移的过程中,布局引擎105如何工作的流程图。
首先,在步骤S1701,布局编辑应用程序121,向相应的容器插入数据库的记录的各字段(也称作DB字段)的数据。然后,在步骤S1702,进行参照图11的流程图说明的布局计算。在本实施例中,为了进行使数据为空的状态的容器为0的布局调整,执行以下的处理。
首先,在步骤S1703,布局编辑应用程序121,检索在当前的记录中是否存在数据为空的状态的DB字段。通过该检索结果,当没有空的DB字段时,从步骤S1704照原样地进入步骤S1715,在显示器上预览显示基于步骤S1702布局计算的布局结果。当存在空的状态的DB字段时,从步骤S1704进入步骤S1705,布局编辑应用程序121,检索插入了空的DB字段的容器。当在步骤S1705检索到的容器不存在时,即,在数据库的对象记录中存在空的DB字段,但该DB字段未与任何容器建立关联时,因为可以不进行使容器的尺寸为0的布局调整,所以,照原样地进入步骤S1715,布局编辑应用程序121,预览显示布局结果。
另一方面,当存在在步骤S1705检索到的容器时,从步骤S1706进入步骤S1707,检索在步骤S1705检索到的容器中,与容器建立关联的DB字段的个数为1的容器,和与容器建立关联的DB字段为多个但所有DB字段的数据都为空的容器。由于该检索的结果为在不存在相应的容器时,不存在插入了空的数据的容器,所以,从步骤S1708进入步骤S1715,预览显示布局结果。
另外,进行上述步骤S1707的处理是由于以下的理由。即,当多个DB字段与一个容器建立关联时,会发生以下情况在某DB字段中存在数据,而其它DB字段的数据为空。这时,至少在一个DB字段中存在数据,并将其插入容器,所以,无法设该容器的尺寸为0来计算。在步骤S1707,进行用于不把这样的容器视为空容器的过滤。另一方面,建立关联的DB字段为1个的容器,已经在步骤S1704中被过滤为存在空的DB字段的容器,所以,当然该容器的内容为空。
在步骤S1708,布局编辑应用程序121,判断步骤S1707的检索结果,判断所检索的容器个数是否为0。当所检索的容器个数不是0时(大于等于1时),进入步骤S1709,使焦点移动到检索列表的起始的容器(以下,将焦点移动的容器称作注目容器)。然后,对该注目容器,检查是否设定数据为空时设容器的尺寸为0来计算的“零化模式”(步骤S1711),如果设定,则进入步骤S1713,如果未设定,则进入步骤S1712。当在注目容器的属性中未设定零化模式时,检查在检索列表中是否存在下一容器(步骤S1712),如果存在,则将焦点移动到下一容器(步骤S1710)。
当设定零化模式时,处理进入步骤S1713,布局编辑应用程序121,使该注目容器的尺寸为0。进而,如果进行链接调整的设定,则将该设定读入存储器。然后,检查在检索列表中是否存在下一容器(步骤S1712),如果存在,则将焦点移动到下一容器(步骤S1710)。
对检索列表的所有容器,反复进行以上的步骤S1711~S1713。当对所有容器都进行之后,在步骤S1714,基于读入存储器中的此前的信息,再次进行布局计算。即,对设定了零化模式的空的容器,使其尺寸为0,如果存在链接调整的设定,则按照其内容,调整链接长度。这样,例如,通过步骤S1702的布局计算,取得图14的布局,当容器E的内容为空时,通过步骤S1714的布局计算,取得图18所示的布局。另外,当使容器的尺寸为0时,在成为零化对象的容器的中心线上压缩容器。例如,对于与图14的容器E连接的垂直方向的链接,变为容器E的上边和下边重叠在通过容器E的中心的水平轴(图18的805)上的状态。换言之,所谓使容器尺寸为0,是以纵横2条直线的任意一条或两者表现容器。
但是,使尺寸为0之后的容器的位置并不限于所述内容,也可以将边重叠在容器的上下边或左右边的一方上。此外,还可以在属性对话窗口(图15)上设定是将边重叠在中心轴上,还是将其他边重叠在容器的1个边上。
并且,在步骤S1715,布局编辑应用程序121预览该布局结果。以上是布局引擎的动作流程。
<实施例2>
对容器插入了空的数据时的链接长度的调整方法,除了第1实施例的如图15所示的链接调整方法以外,还可以考虑其他各种方法。例如,在图15所示的方法中所指定链接的调整值(长度和比率),适用于对插入了空数据的容器设置的所有链接。但是,当在容器的4个边上设置链接时,可以考虑根据情况要在上方向、下方向、右方向、左方向上设定为不同的调整值的情形。在第2实施例中,为了可以应对这样的情形,提供能够对各容器的各边设定链接长度的调整值的UI。
图20是该典型的属性对话窗口的例子。项目1206项目1207和项目1208与图15所示的项目相同。当选择项目1208时,框1302(Direction)内的各框为有效。但是,有效的框只是当前对该容器设置的链接所存在的边的方向。例如,在是如图14那样配置的容器E时,在上方向、下方向的2个边上设置链接,所以,在图20的属性对话窗口1301的框1302内,项目1303(Top)和项目1306(Bottom)为有效,项目1304(Left)和项目1305(Right)为无效,并变成灰色。
通过这样的第2实施例,在容器的各边上配置设定调整值的框,可以对各框从列表1307选择单位。
图21是表示按照由图20的对话窗口设定的链接的调整方法,调整图14的布局的结果的图。在图20的项目1303(Top)中设定尺寸20,在项目1306(Bottom)中设定尺寸30,所以,在图21中,位于容器E的上方向的链接716的尺寸变为从50减去20的30。由于链接717也位于容器E的上方向,所以,其尺寸变为从20减去20的0。另一方面,由于链接718位于容器E的下方向,所以,其尺寸变为从30减去30的0。同样地,由于链接719也位于容器E的下方向,所以,其尺寸变为从40减去30的10。这样,就如图21所示地调整了布局。
另外,当使在上下方向和左右方向具有链接的容器的尺寸为0时,连接在该容器上的容器之间有可能干扰。例如,连接在成为零化对象的容器的上方向的容器和连接在右方向上的容器,也可能因该对象容器的零化而相互干扰。当在布局计算中检测到这样的干扰时,在本实施例中,禁止该容器的零化。
如上所述,通过第2实施例,由于可以按各边的方向分别设定链接的调整值,所以,对于用户而言,可以进行更细致的指定,能够有效地填充产生了空数据的容器时的浪费的空间。此外,能够指定在将空的数据插入了容器时使哪个方向优先来填充空间。因此,能够取得更反映用户的意图的准确的布局结果。当然,不仅链接的方向,还存在对在插入空数据的容器设置链接的容器,逐个地设置链接的调整值的方法,按照该设定填充空间、进行布局的有效性也很明白。
<其它实施例>
另外,本发明的目的还可以通过以下方式实现,向系统或装置提供记录了实现上述实施例的功能的软件的程序代码的存储介质,该系统或装置的计算机(或CPU和MPU)读出并执行存储在存储介质中的程序代码。
这时,从存储介质读出的程序代码本身就能实现上述实施例的功能,存储了该程序代码的存储介质就构成本发明。
作为用于提供程序代码的存储介质,例如,可以使用floppy盘、硬盘、光盘、光磁盘、CD-ROM、CD-R、磁带、非易失性的存储卡、ROM等。
此外,不仅可以通过执行计算机所读出的程序代码,来实现上述实施例的功能,当然还包括以下情形基于该程序代码的指示,在计算机上运行的OS(操作系统)进行实际处理的一部分或全部,通过该处理,实现上述实施例的功能。
当然,还包括以下情形将从存储介质读出的程序代码写入插入计算机的功能扩展板或连接在计算机上的功能扩展单元所具备的存储器之后,基于该程序代码的指示,该功能扩展板或功能扩展单元所具备的CPU等进行实际处理的一部分或全部,通过该处理,实现上述实施例的功能。
权利要求
1.一种确定页面的布局的布局调整方法,包括局部区域设定步骤,设定要插入数据的局部区域的尺寸和位置的基本图形;计算步骤,基于要插入由上述局部区域设定步骤设定的局部区域中的数据,对各局部区域计算适于描绘该要插入的数据的尺寸;调整步骤,基于由上述计算步骤计算出的各局部区域的尺寸,调整页面内的布局;以及指定步骤,指定是否在分配给局部区域的数据为空时,使其尺寸为0,上述调整步骤,当上述指定单元的指定,是使所分配的数据为空的状态的局部区域的尺寸为0的指定时,将该局部区域的尺寸视为0,调整页面内的布局。
2.根据权利要求1所述的布局调整方法,其特征在于,还包括基本布局步骤,在页面内对由上述局部区域设定步骤设定的多个部分区域进行布局,确定基本布局;上述调整步骤,基于由上述基本布局步骤确定的基本布局中的各局部区域的关系,调整上述页面内的布局。
3.根据权利要求1所述的布局调整方法,其特征在于上述局部区域设定步骤,能够在使局部区域的尺寸为0时设定用于变更该局部区域上连接的链接的长度的变更信息;上述调整步骤,当将所分配的数据为空的状态的局部区域的尺寸视为0来调整页面的布局时,按照上述变更信息变更该局部区域上连接的链接的长度。
4.根据权利要求3所述的布局调整方法,其特征在于上述变更信息,表示缩短链接的长度;上述调整步骤,将该局部区域上连接的链接的长度,缩短由上述变更信息表示的长度。
5.根据权利要求3所述的布局调整方法,其特征在于上述变更信息,登录要在链接的各方向上缩短链接的长度;上述调整步骤,将该局部区域上连接的链接的长度,缩短与其方向对应地登录的长度。
6.根据权利要求3所述的布局调整方法,其特征在于上述变更信息,表示缩短链接的比率;上述调整步骤,按照由上述变更信息表示的比率,缩短该局部区域上连接的链接的长度。
7.根据权利要求1所述的布局调整方法,其特征在于,还包括显示步骤,预览显示由上述调整步骤调整的页面的布局。
8.根据权利要求1所述的布局调整方法,其特征在于,还包括打印步骤,以由上述调整步骤调整的页面的布局执行打印。
9.一种确定页面的布局的布局调整装置,包括局部区域设定单元,设定要插入数据的局部区域的尺寸和位置的基本图形;计算单元,基于要插入由上述局部区域设定单元设定的局部区域中的数据,对各局部区域计算适于描绘该要插入的数据的尺寸;调整单元,基于在上述计算单元计算出的各局部区域的尺寸,调整页面内的布局;以及指定单元,指定是否在分配给局部区域的数据为空时,使该尺寸为0,上述调整单元,当上述指定单元的指定,是使所分配的数据为空的状态的局部区域的尺寸为0的指定时,将该局部区域的尺寸视为0,调整页面内的布局。
10.根据权利要求9所述的布局调整装置,其特征在于,还包括基本布局单元,在页面内对由上述局部区域设定单元设定的多个部分区域进行布局,确定基本布局;上述调整单元,基于在上述基本布局单元确定的基本布局中的各局部区域的关系,调整上述页面内的布局。
11.根据权利要求9所述的布局调整装置,其特征在于上述局部区域设定单元,能够在使局部区域的尺寸为0时设定用于变更该局部区域上连接的链接的长度的变更信息;上述调整单元,当将所分配的数据为空的状态的局部区域的尺寸视为0来调整页面的布局时,按照上述变更信息变更该局部区域上连接的链接的长度。
12.根据权利要求11所述的布局调整装置,其特征在于上述变更信息,表示缩短链接的长度;上述调整单元,将该局部区域上连接的链接的长度,缩短由上述变更信息表示的长度。
13.根据权利要求11所述的布局调整装置,其特征在于上述变更信息,登录要在链接的各方向上缩短链接的长度;上述调整单元,将该局部区域上连接的链接的长度,缩短与该方向对应地登录的长度。
14.根据权利要求11所述的布局调整装置,其特征在于上述变更信息,表示缩短链接的比率;上述调整单元,按照由上述变更信息表示的比率,缩短该局部区域上连接的链接的长度。
15.根据权利要求9所述的布局调整装置,其特征在于,还包括显示单元,预览显示由上述调整单元调整的页面的布局。
16.根据权利要求9所述的布局调整装置,其特征在于,还包括打印单元,以由上述调整单元调整的页面的布局执行打印。
全文摘要
本发明提供一种布局调整方法和装置,在基于布局信息确定页面的布局时,所述布局信息表示用于在内部对基于所分配的数据的图像进行可视描绘的多个容器的页面内的配置,使布局信息具有指定在分配给容器的数据为空时,是否使其尺寸为0的指定信息。而且,在调整布局时,检测在多个局部区域中,所分配的数据为空的状态的容器,判定与检测出的容器对应的指定信息是否为使尺寸为0的指定,当是使尺寸为0的指定时,将该检测出的容器的尺寸视为0,调整页面的布局。
文档编号G06F17/21GK1648849SQ20051000510
公开日2005年8月3日 申请日期2005年1月28日 优先权日2004年1月30日
发明者小桥和文, 原健太, 牧野顺 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1