文件处理装置和文件处理方法

文档序号:6512831阅读:168来源:国知局
专利名称:文件处理装置和文件处理方法
技术领域
本发明涉及具有将登录在数据库中的记录的各字段布置在预先确定的位置来完成文件的自动布局功能的文件处理装置和文件处理方法。
背景技术
近年,由于商品的多样化,商品寿命变短,随着互联网的普及,利用它的消费者的客户服务指向增强等原因,CRM(客户关系管理)、一对一营销的必要性受到关注。目的在于,通过这些方法提高客户满意程度,开发、稳定客户。
所谓客户关系管理,就是基于顾客的数据库,实施遵循各需要的对应,提高客户满意度,提高公司的收益性。另外,一对一营销是数据库营销的一种,把客户的年龄、性别、兴趣、爱好、购买经历等个人属性信息做成数据库,分析其内容,提出符合客户需求的建议,作为典型的手法,例如有可变打印。最近,随着DTP(桌面出版系统)技术的进展和数字打印装置的普及,开发有对每个客户定制文档并输出的可变打印系统,要求生成对每个客户不同的量的内容进行最佳布局的文件。
以往,在可变打印系统中,在文档上用布局框(也称作容器)生成布局的定义,作为各容器的内容,对数据库的满足一定条件的记录和字段建立关联。通过这样地对数据库和布局建立关联,实现可变打印。
但是,由于文本和图像的容器的尺寸固定,所以,当在容器中插入数据库内的数据时,如果数据量大于容器尺寸,则发生文本的重叠(overlap)和图像的剪切(clipping),另外,当数据量小于容器尺寸时,就会空出间隙。
为了解决该问题,发明了自动布局系统。自动布局系统能够将文本和图像的容器尺寸设定为可变。在该自动布局系统中,容器的尺寸可变,并能够按照所插入的数据量使容器的尺寸变大。另外,还存在以下技术,在插入容器中的数据是文本的情况下,当插入了无法完全进入固定尺寸的容器内的数据时,缩小文本的字体尺寸,在容器内显示所有文本。但是,当设容器尺寸为可变时,产生在容器尺寸变大时,该容器与文档上的其它容器重叠的问题。另外,在调节字体尺寸的情况下,产生当文本量大时,字体尺寸变得过小的问题。
作为用于解决这些问题的另一种自动布局的技术,在专利文献1所记载的“布局设计装置”中公开了以下技术当某容器的尺寸变大时,减小相邻的容器的尺寸。
这样,在以往的可变打印系统中,存在以下功能为了适当地对尺寸不同的内容进行布局,可以按照内容的尺寸动态地改变布局框(容器)。
另外,在日本特开2000~48216号公报中记载有以下技术在1页文档中布置多个商品信息。在该方法中,当生成每名顾客的商品目录时,将1个商品信息(例如,一个商品的商品名、外观、说明书)的布局预先定义为主零件文件,在文档上预先定义能够布置主零件文件的区域。然后,按照主零件文件,对从数据库抽出的各商品信息的内容进行布局,将完成了布局的零件文件从文档的左上插入右下。
但是,如专利文献1所述,在将仅对数据库内的内容进行了布局的主零件文件插入文档中的方法中,没有记录和多重(multiple)记录的概念。数据库内的各商品信息,在通过主零件文件进行了布局之后,依次被布置在文档中,无法按照使用者的意志调整布置顺序和大小。因此,例如,当按照客户的嗜好生成邮寄广告时等,设计变得单调。即使希望生成使用者以该客户最喜欢的商品为中心地布置等,更有效的文档,也无法反应使用者的意图,确定各记录的布置和大小。

发明内容
本发明正是鉴于上述以往例而完成的,其目的在于,提供一种文件处理装置、文件处理方法和计算机程序,能够按照记录的属性指定布置该记录的区域,分配给各区域并对记录进行布局。
为了实现上述目的,本发明具有以下的结构。
一种能够按照要进行布局的数据动态地变更布局的文件处理装置,包括模板保持单元,保持用于从数据库抽出要进行布局的数据并布置的、具有设定了抽出条件的区域的模板;取得单元,从上述数据库,取得上述要进行布局的数据,该数据满足对由上述模板保持单元保持的模板所具有的上述区域设定的抽出条件;以及布置单元,将由上述取得单元取得的至少一个的上述要进行布局的数据并列布置在上述区域中。
通过本发明,由于能够对在模板上设置的各区域,指定布置记录等数据的条件,所以,能够将数据分配给各区域进行布局。由此,不单纯地按插入的顺序布置数据,也能与数据的原来的排列顺序等无关地、指定布置各数据的位置。
另外,由于能够指定布置记录的方向和图形,因此,能够实现各种布局图形。
另外,由于记录的布置固定,所以,即使记录个数多也无法自动地生成下一页,而能够生成单页的文件。
本发明的其他特征和优点,可以通过下面的参照附图进行的说明而得到明确。相同的标号表示相同或类似的部分。


附图包括在说明书中并结构说明书的一部分,用于说明本发明的实施例,并与说明书一起用于说明本发明的原理。
图1A表示实施例的计算机系统的结构图。
图1B是表示实施例的计算机模块的概略图。
图2表示实施例的其它计算机系统的结构图。
图3是表示实施例的包含菜单栏、工具栏、工作区、浮动托板的典型的应用程序的主窗口的图。
图4是用屏幕、工具、图标表示实施例的具有容器之间的链接、锚点和滚动条的典型的容器的一面的图。
图5A~5D是表示实施例的典型的容器规则的图。
图6是表示生成实施例的链接的流程的图。
图7A~7C是表示生成链接时的UI图例的图。
图8是表示实施例的布局计算的整体流程的图。
图9是表示实施例的布局计算的详细流程的图。
图10A~10C是与实施例的图9的流程对应的UI例。
图11是说明实施例的布局计算时的容器的集合的图。
图12是表示实施例的多记录的概要图。
图13是表示实施例1的流动区域的UI例的图。
图14是表示实施例1的整体流程的图。
图15是表示实施例1的流动区域的各种设定的流程的图。
图16A、16B是表示实施例1的进行流动区域的各种设定的对话框例的图。
图17A、17B是表示实施例1的子模板的布局例的图。
图18是表示实施例1的子模板的布局流程的图。
图19是表示实施例1的流动区域内的子模板的布局流程的图。
图20A、20B是表示在实施例1的流动区域内对子模板进行了布局的UI例的图。
图21A、21B是表示在实施例1的多个流动区域内对子模板进行布局的UI例的图。
图22A是表示实施例1的多个流动区域中的子模板的整体布局流程的图。
图22B是表示实施例1的多个流动区域中的子模板的整体布局流程的图。
图23是表示实施例1的多个流动区域中的子模板的布局计算流程的图。
图24是表示实施例1的布局规则设定对话框的例子的图。
图25是表示实施例1的布局规则设定流程的图。
图26A、26B是表示实施例1的设定布局规则时的布局例的图。
图27是表示实施例2的流动区域的链接的UI例的图。
图28是表示实施例2的流动区域的链接的设定流程的图。
图29是表示实施例2的设定流动区域的链接时的子模板的布局例的图。
图30是表示实施例2的设定流动区域的链接时的布局计算流程的图。
图31是表示实施例3的数据的排序流程的图。
图32是表示实施例3的数据的排序对话框的例子的图。
图33是表示模板数据的一例的图。
图34是表示定义了流动区域的模板数据的一例的图。
图35是本发明的文件处理装置的框图。
具体实施例方式下面,说明本发明的实施例。首先,说明发明的概要。本实施例涉及一种计算机软件,用于通过计算机实现按照文档模板(也简称为模板)中定义的容器(插入数据的局部区域也称作字段区),生成布置了数据库的记录等的文件的、即所谓可变打印的功能。可执行地加载了该软件的计算机,作为文件处理装置而起作用。在本实施例中公开了一种软件,具有不仅按照模板布置数据,而且按照模板生成文件的一部分,将该文件的一部分插入在其它模板上定义的区域(称作流动区域)来完成文档的功能(多记录功能)。能够插入的文件的一部分的个数,对一个流动区域不限于一个。还公开了以下技术当在模板上定义多个流动区域时,按照一定的条件,将生成完毕的文件的一部分,分配给各流动区域。
下面,说明可使用本发明的本实施例的计算机系统的结构和应用程序结构。
<系统结构>
图1A表示打印可变数据文档的系统100。本说明书所示的方法,通过以在图1B详细说明的通用计算机模块101执行预定的程序来实践。图1A所述的程序,由计算机模块101执行,如可在系统100上实施的布局编辑应用程序121那样,由软件的整体或一部分执行。特别是布局的编辑和打印的步骤,通过由作为本发明的文件处理装置的计算机101执行的软件的指示来实施。软件存储在例如如下所述的包括存储装置的计算机的可读介质中。可将软件从计算机的可读介质加载到计算机中,由计算机101执行。具有这样的软件或记录在介质中的计算机程序的计算机的可读介质是计算机程序制品。通过在计算机中使用该计算机程序制品,该计算机作为能进行文档的布局编辑和可变数据打印的装置而起作用。
在计算机模块101上,连接键盘132、鼠标133那样的指示设备等输入装置,并连接显示装置144或根据情况包括本地打印机145的输出装置。输入/输出接口138,可以从网络连接107连接计算机模块101,从而与系统100的其它计算机装置连接起来。典型的该网络连接107是局域网(LAN)或广域网(WAN)。
一般地,计算机模块101至少包括一个处理器135、例如由半导体随机存储器(RAM)和只读存储器(ROM)构成的存储器136、包括视频接口137的INPUT/OUTPUT(I/O)接口;用于键盘132和鼠标133的I/O接口143。
存储装置139,一般包括硬盘驱动器140和软盘驱动器141。虽然未在图1B显示,但还可以使用磁带驱动器。CD~ROM驱动器142提供非易失性的数据源。计算机模块101,按照GNU/LINUX或微软公司的Windows(注册商标)那样的操作系统,或根据基于计算机系统的常规操作模式的方法,使用通过相互连接总线134进行通信的计算机模块101中包含的各构成要素(符号135~符号143)。
作为图1B所述的布置的计算机的例子,可以考虑IBM兼容PC,SUN公司的Sparcstation,或包含它们的计算机系统。
图1A的布局编辑应用程序121,通常常驻在硬盘驱动器140中,由处理器135执行、读入、控制。在几个事例中,应用程序121在CD~ROM和软盘上被编码,通过相应的软盘驱动器142和CD~ROM驱动器141读入,提供给用户。或者作为另一种方法,还可以由用户从网络连接107读入应用程序121。也可以从包括磁带或ROM或集成电路、光磁盘或无线或计算机模块101与其他设备之间的红外线通信、PCMCIA卡那样的计算机可读卡、以及电子邮件通信和具有WEB站点上的记录信息的因特网或内联网的,其它的适当大小的计算机可读介质,将软件加载到计算机模块101内。上述例子只是相关的计算机可读介质的一例。有可能还使用其它计算机可读介质。
另外,布局编辑应用程序121,指示进行可变数据打印(VDP),包括2个软件组件。其中,第1组件是布局引擎105,它是用于通过以长方形的容器给出的限制和尺寸,计算构成容器的矩形和线的位置的软件组件。布局引擎105,作为确定各局部区域(容器)的尺寸和位置的应用程序来工作,通过将描绘信息输出到省略图示的打印驱动程序,打印驱动程序进行可变数据文档的图像描绘处理,生成打印数据。作为第2组件的用户界面103,使用户生成文档模板,在文档模板内提供与数据源建立关联的机制。用户界面103和布局引擎105,通过信道123通信。用于生成文档的数据源,一般是位于由运行数据库应用程序的其它计算机构成的数据库服务器117上的一般性的数据库119。主计算机101,通过网络连接107与数据库服务器117通信。可变数据打印应用程序121,生成保存在主计算机101或一般由其它计算机构成的文件服务器115中的文档模板。另外,可变数据打印应用程序121,生成由与数据合并的文档模板构成的文档。这些文档被保存在主计算机101的本地文件系统中,或保存在文件服务器115上,或由打印机113直接打印。打印服务器109,是向未直接连接到网络的打印机提供网络功能的计算机。打印服务器109和打印机113通过一般的信道111连接。
图2表示用于从图1A的结构,使布局引擎255独立并由引擎服务器227执行布局引擎的结构。引擎服务器227是一般的计算机。当保存在文件服务器115中的文档模板具有打印或其它目的时,能够与为了通过布局引擎255生成文档而保存到数据库119中的数据结合。这样的操作通过用户界面103请求,或请求只打印特定的记录。
<应用程序结构>
(主窗口)如图3所示,用户界面103包括由在操作时在视频显示器144上显示的应用程序窗口301形成的用户界面。窗口301由以下部分赋予特征能够变成不显示或能够移动到屏幕上的各地方的菜单栏302和工具栏303,以及能够根据鼠标133的位置或动作能移动地方的工作区306、选项的托板311、光标/指示设备313。
菜单栏302,如公开的技术那样,具有在菜单选项的阶层下扩展的多个菜单项304。
工具栏303,具有能够通过应用程序的特别模式变为不显示或显示的多个工具按钮和小部件(widget)305。
选项的标尺308,用于显示工作区内的指针、页、行、页边距向导、布局框(容器)或对象的位置。
托板311用于访问可变数据库那样的追加功能。托板311具有用于进行移动、调整尺寸、关闭的窗口控制312。托板311是选项,能够在工作区的前面显示,或隐藏在对象的背面。有时将托板311限制为只在应用程序窗口301的范围内显示,或者,有时也允许在应用程序窗口301的外侧部分地显示或显示整体。
工具栏区303如图4所示,至少具有以下的用户可选择的“按钮”。
*选择工具按钮403用于对容器的边进行选择、移动、尺寸变更、尺寸调整、锁住、解锁。通过在多个容器的周围拖动选择框,或在选择多个容器期间,持续按住CTRL键,能够选择多个容器。
*图像容器工具按钮404用于生成具有静态(固定)或可变图像的容器。
*文本容器工具按钮405用于生成具有静态(固定)或可变文本的容器。
*链接工具按钮406用于生成在容器之间建立关联的链接,用于控制链接的距离。
这些按钮,如公开的技术那样,作为按照操作状况变化的图标的工具提示来安装。
布局编辑应用程序121的图3所示的应用程序窗口301,能够通过在页面内对各容器和链接进行布局,确定基本布局。所谓基本布局,就在可变数据打印中成为基本的布局。当基本布局内的各容器为固定容器时,所有记录的打印结果的布局相同。另外,当基本布局内的各容器为后述的可变容器时,根据读入记录单位的数据的量和尺寸,在后述的限定范围内变动各容器的尺寸和位置。因此,由布局编辑应用程序121生成的文档模板,最终确定基本布局,当包含可变容器时,根据所读入的数据,调整最终的打印品的布局。
(文档模板)工作区306用于显示和编辑文档模板的设计。它能够使用户在初步准备后设计所打印的文档的概貌,能够理解所合并的文档如何根据可变数据的量或尺寸变化。
如果外部数据源(例如,数据库的字段等)与模板链接,则能够在容器上显示可变文本和图像,使得能够预览当前的文档。
当使光标移动到容器上时,或选择了容器时,总能显示文档的构造和成为描写可变数据的容器的可视的线索的对象。
工作区306由滚动条307、选项的标尺308和文档模板309赋予特征。文档模板309可以显示多个页面。
所给出的文档模板的页面尺寸,根据公开的技术由用户指定。例如,通过从菜单的“文件”选择“页面设定”,显示设定页面尺寸的对话框,在那里反映用户所指定的页面尺寸。各文档中的实际页面个数,有可能根据可变数据变化。当无法容纳在1页内,并在基本布局中没有在预定的用纸尺寸的页面中容纳各容器那样的限定时,自动生成追加的页面。当为了在预定的用纸尺寸的页面中容纳各容器而在基本布局中设定限定(能够通过后述的锚点图标等设定)时,在页面内各容器相互推挤地确定各容器尺寸和位置,根据需要缩小所插入的可变数据,对各记录动态地确定布局。
各页面内的边界线,是表示页面上的可打印的对象的最大宽度的页边距310。使用者能够定义页边距310。
另外,图4是能够在1页的文档模板309上显示的对象的例子。它们具有多个容器407、408,能够任意使用的锚点图标409、不固定的边410、链接412以及滚动条413。锚点图标409,能够设定在容器的矩形的角、边或容器的中央。当设定锚点图标409时,所设定的地方的位置固定。即,在图4的例子中,锚点图标409,被设定在容器407的左上角,所以,表示容器407在插入可变数据,可变数据的图像尺寸或文本量多时,能够向右和向下放大。当锚点图标409被设定在边上时,该边固定,能够向其余3个边的各方向放大。另外,当锚点图标409被设定在容器的中央时,容器的中央位置固定,并能够向4个方向放大,使得容器矩形的中央位置不改变。链接412将在后面详细叙述,表示容器407和容器408建立关联,表示能够一边保持对该链接设定的长度(可指定范围),一边使容器408向右移动。滚动条413,表示能够在与所设定的边平行的方向上移动。
(容器)容器是以记录单位,将固定或可变的文本、图像,从可变数据文件,插入文档模板内,并描绘的空间(将其称作局部区域),与其它容器和对象一起进行布局。操作鼠标133,使用指针313,如图3、图4等的用户界面画面所示,对容器进行移动、调整尺寸以及再生成。
更正确地说,容器具有设定的集合、可视的表现以及交互作用(interaction)和编辑动作。以下是容器的定义的全部。
*容器具有固定或可变的内容。可变内容意味着从数据源(例如,数据库的记录)取得,在不同的文档中可以不同,并且是动态的。作为可变内容,由于不适合打印,所以,不包括动画的内容、或以其它方法按照时间变化的内容。固定内容在用1个模板生成的所有文档中相同地显示。但是,当设定可变内容和链接时,有可能因包括可变内容的容器的位置和尺寸的变化,包括固定内容的容器在各文档中位置不同。
*容器具有用于内容的背景色、边界、字体风格等文本设定那样的装饰功能。将这样的设定称作容器属性。容器属性能够对各容器设定,但也能够进行是与某容器相同的容器属性的设定。
*容器在生成了文档时,与来自数据源的数据合并。装饰功能一般是所打印的输出品,是可视的,从而不管在怎样的固定内容中都是如此。可变内容作为来自数据源的特定的数据取得,显示或打印。存储在容器中的内容,能够通过例如打印,在屏幕144上显示,或该两种方式输出。
*容器具有用户界面。例如,具有用于容器的编辑和显示设定的人机对话的GUI。界面的要素一般显示在屏幕144上。用户界面103显示背景色或字体那样的容器的几个装饰功能。还具有用于进行容器的设定的编辑和显示的功能。作为用户界面功能的目的的例子,具有边界;或者以对话方式变更、显示容器的尺寸和位置的角图标;或者在容器从数据源合并数据时,用于表示容器的动作的涂上的数、线、图标、文本。
(对容器的限定)容器具有用于控制如何在容器中存储在各文档上显示或打印的内容的限定。这些限定,是用户通过1个文档模板控制多个文档的主要手段。作为限定的一例,有“该容器的内容的高度的最大值为4英寸”。作为其它限定的例子,有“容器的内容的左边,在各文档中必须在相同的水平位置显示”。在此所述的内容,是用于使用GUI,显示、编辑这样的限定的各种方法。
在数字打印技术中,已知有为了具有将图像定义在页面上的地方,而指定固定内容的布置的内容位置文件夹。在以下的说明中,容器具有位置和尺寸,它们能够以在公开的技术中已知的方法编辑、显示。
用户能够通过指定容器的位置、尺寸、限定等,指定文档的内容的位置和尺寸。因为多个文档是从一个文档模板生成的,所以,为了指定和显示容器的多个可能的设定和限定,必须使用用户界面。
一个容器的边,定义在文档内显示建立了关联的内容的虚拟的边界线。即,容器的左边,不管在使用同一模板的哪个文档内,都与布置与该容器建立了关联的内容的左端对应。同样地,容器的高度,可以理解为在使用同一模板而生成的文档内与该容器建立了关联的内容的高度的限定。在本说明书中,当参照用户界面103谈到容器的边或大小时,该区别变得明确。
在以下的讨论中,定义用于限制内容的显示的几个值的用语“固定”,在所有文档中相同。
*如果容器的宽度固定,则分配给建立了关联的内容的宽度,在使用包括该容器的模板而生成的所有文档中,关于包括该容器的页面变为相同(固定值)。
*如果容器的高度固定,则分配给建立了关联的内容的高度,在使用包括该容器的模板而生成的所有文档中,关于包括该容器的页面变为相同(固定值)。
*如果距离的限定固定,则所指定的距离(固定值),是用于使用包括该容器的模板而生成的所有文档的限定。
*如果容器的左右边固定,则意味着在使用包括该容器的模板而生成的所有文档中,关于容器的边关于水平方向的位置,关于包含该容器的页面相同。但是,容器的高度或垂直方向的位置有可能变化。例如,如果容器的左边固定,则与容器建立了关联的内容,在使用一个模板而生成的一个文档中,相近地显示在页面的上端,在其它文档中,有时也相近地显示在页面的下端。但是,左边的水平位置在所有的情况下都相同。
*如果容器的上下边固定,则边的垂直方向位置,在使用包括该容器的模板而生成的所有文档中,关于包括该容器的页面是相同的。但是,容器的宽度或水平位置有可能变化。
*容器的垂直轴与容器的右边和左边平行,是位于其中间的想象中的垂直线。如果容器的垂直轴固定,则容器的左右边的水平位置的平均,在使用包括该容器的模板而生成的所有文档中,关于包括该容器的页面是相同的。例如,在相异的文档中,相应的容器的左右边的水平方向的位置,有可能在离垂直轴远或近这一点上不同。但是,垂直轴在使用包括该容器的模板而生成的所有文档中,关于包括该容器的页面位于相同的水平位置。容器的高度和水平位置不受该限定的影响。
*容器的水平轴与容器的上边和下边平行,是位于其中间的想象中的水平线。与垂直轴相同,如果容器的水平轴固定,则限定容器的上边和下边的垂直方向的位置。但是,高度不受该限定的影响。
*如果水平轴、垂直轴都固定,则意味着容器的中心位置(垂直轴和水平轴的交点)固定。但是,容器的宽度和高度不受该限定的影响。
*如果容器的角、容器的边的中间位置或容器的中心位置固定,则与该容器建立了关联的内容,在使用包括该容器的模板而生成的所有文档中,关于包括该容器的页面显示在相同的地方。例如,如果容器的左上角固定,则意味着所布置的容器的左上位置,在使用包括该容器的模板而生成的所有文档中,关于包括该容器的页面变为相同。
*垂直边或垂直轴,能够与页面的左边或右边、或左页边距或右页边距、或其它水平位置建立关联,变为固定。同样地,水平边或水平轴,能够与页面的上边或下边、或上下页边距、或其它垂直位置建立关联,变为固定。
“固定”的相反词是意味着边、轴、角、中间位置或文档限定在文档之间(记录间)有可能变化的“可变”。例如,在页面内,期待根据可变数据的尺寸和量,动态地变更布局,但对于特定的容器,有时想将大小和位置固定,有时想将页面的角的容器的四角固定。因此,在本布局编辑应用程序121中,能够对各容器(局部区域),适当地设定是将边、轴、角、中间位置等固定,还是使之可变。由此,当用户确定文档模板的基本布局时,能够像用户所希望的那样生成基本布局。
<布局模式(容器的显示和编辑)>
进行可变打印的文档的生成步骤,能够分为以下2个阶段生成模板的模板生成处理(布局模式);和在所生成的模板中插入内容,生成文档的文档生成处理(将预览显示文档的情形称作预览模式)。
(新容器的生成方法)容器包括文本容器和图像容器等2种。文本容器具有文本和嵌入的图像。图像容器只具有图像。
如图4所示,通过用鼠标133点击文本容器工具404或图像容器工具405,在模板309上拖动四边形,从而在模板309上生成新文本容器和图像容器。
或者,能够在激活适当的工具404、405之后,通过在文档模板309上点击,简单地生成容器。当生成了新的容器时,为了插入默认尺寸的容器,或放入新容器的尺寸,显示对话框或其它提示。另外,还可以通过预先定义或计算出的计划器自动地生成、布置容器。能够由鼠标等输入单元选择在这里生成的容器,通过进行以右击指示属性等操作,显示容器的属性对话框,设定容器的限定。在容器的属性对话框UI(相当于局部区域设定单元)中,能够设定上述各种限定。另外,在容器的属性对话框中,能够确定容器的尺寸(宽度、高度)和位置,当为可变尺寸时,设定容器的基本图形(基本尺寸和基准位置),还可以设定最大容器尺寸(宽度、高度)和最小容器尺寸(宽度、高度)。
(容器的显示方法)在文档模板内生成的容器的边的状态,如图4所示,最好是在用户界面上图形显示。能够通过以公共的表现表示边的状态,进一步减少与状态对应的图像对象的种类。
图5A~图5D是表示容器的显示例的图。应用程序121,为了表现边的状态,用实线503或虚线504描绘边。容器将以下部分作为特征锚点(由在边的附近描绘的对象506、507、509表示的线、形状、图标)、把手(为了移动、修正,在边、形的附近描绘的控制点)502、滚动条(在边的两侧描绘的短平行线,图4的413)、放大缩小图标(505)以及颜色。
图5A~图5D所示的容器显示方法的规则如下所述。
1.如果各边固定,则用实线描绘该边。
2.如果宽度固定,则用实线503描绘左边和右边。
3.如果高度固定,则用实线503描绘上边和下边。
4.不描绘轴。
5.尚未描绘的边,在该边附近描绘放大缩小图标505,用虚线504描绘。
6.如果在垂直边或轴和水平边或轴的交点上,相交的边或轴都固定,则描绘锚点。
7.如果固定边的任何位置均未描绘锚点,则在该边的中央描绘滚动条。
8.如果在垂直边或轴和水平边或轴的交点上,尚未描绘锚点和滚动条,则描绘把手。
可变的边用虚线描绘。在按照规则6、7、8描绘的固定点上显示锚点,在固定的边上显示滚动条,在其它边上显示把手。
上述规则,优先由用户后来设定的限定。即,当以后设定其它限定时,如果上述规则影响要描绘的边,则变更实线和虚线的描绘内容。
描绘可变的边的地方依存于容器的内容。如后所述,进行将内容合并到文档模板中,在用户界面上显示文档的“动态校正处理”。
这些内容的表现,提供表示容器的边的状态的图形手段。该表现的解释如下所述。
*如图4的边410所示,虚线意味着与容器的内容对应的文档内的边的位置。
*实线意味着被限制的边。这是因为以实线表示的边固定(边414),或者容器的宽度或高度固定(在容器408中,两者均固定)。
*锚点意味着边或轴交点固定。因此,锚点在使用了包括该锚点的文档模板的所有文档中,出现在同一水平、垂直位置。当然,锚点被固定。图4的图标409,是表示相交的边414固定的锚点图标的例子。
*滚动条意味着建立了关联的边在该边的垂直方向上固定,但是,容器能够沿边移动到滑动了“滑动长度”的位置。例如,在图4中,通过滚动条413的操作,容器408的内容有时也能在文档内向左或向右移动并显示。
这些锚点和边的几个或全部,根据对哪个工具、哪个容器进行选择、加亮或激活,描绘或不描绘。一般地,容器的边和锚点用于表示设计文档模板,在使用了所生成的文档模板的打印品中不描绘。
容器的宽度和高度的基准值、最小值、最大值的基本图形的设定,显示在附属对话窗口中。
在图5A中,容器501的宽度和高度均不固定。固定的边503用实线503表现。可变的边504用虚线表现。放大缩小图标505是表示相邻的边504可变的指示器。
在图5B中,容器501的宽度和高度均可变。锚点图标506表示相交的两个边503固定。
在图5C中,容器501以由锚点图标507表示的边为中心,在能够均等地放大或缩小的状态下,宽度和高度均可变。
在图5D中,容器501,除了上边508固定,宽度和高度均可变。在上边508的中心表示的锚点图标509,表示该边508固定,容器的左边和右边,能够在通过锚点图标509垂直地描绘的中心轴(垂直轴)周围移动。
<文档模板的数据例>
图33表示文档模板的数据(称为模板数据)的一例。在图33中,模板数据3301存储在存储器136或硬盘140中。在模板数据中包括以下要素。
(1)整体尺寸3302表示模板整体的页面的尺寸。尺寸可以由例如纵和横的长度或定型用纸尺寸等表示。
(2)容器信息3303对布置在模板中的各容器,表示用于确定该容器的识别信息和容器的基准位置(位置信息)、边的长度(尺寸信息)、构成容器的边和点的属性(属性信息)、与容器建立关联的内容的信息等。位置信息和尺寸信息是在生成容器模板时定义的,位置信息为在生成容器时由用户设定的容器的基准位置。如果是位置可变的容器,则按照要插入容器的内容的尺寸(图像尺寸、文本量)变更大小,根据各容器的大小,动态地变更位置。如果是通过锚点等固定位置的容器,则表示固定的位置。这样的位置信息,至少包括能够确定容器的对角点的位置的信息。当然,对于所有点,可以具有模板上的位置,对于一个点,可以具有模板上的位置信息,对于其它点,可以具有相对的位置信息。即,还能够由容器的一个点和容器的尺寸定义。另外,对于固定的点,可以在模板上的位置定义,对于可变的点,可以在相对的位置定义。
属性信息,表示参照图4、图5A~图5D说明了的,容器的边、边、轴或它们的交点等的属性。一个容器,例如通过位置和尺寸,确定上边、下边、左边、右边、水平轴、垂直轴、各角点、中心点、宽度和高度。对各要素,通过属性信息定义是可变还是固定。当通过图4的用户界面生成文档模板时,在选择了容器的边、点和轴的状态下,通过从在托板311内显示的菜单“固定”、“可变”等,选择操作者所希望的项目,从而与所选择的点、边对应,对容器信息3303写入“固定”、“可变”中的任意的属性。生成容器后的既定值,例如全部为“可变”。另外,在本例子中,对一个边、轴“固定”,意味着不是边和轴的长度或长度方向的位置,而是关于与长度方向正交的方向的位置固定。另外,通过设定点、边的属性,当自动确定其它点、边的属性时,也写入该属性。例如,当指定角点为“固定”时,夹着它的边也为“固定”。反之也同样。例如,当指定中心点的位置为“固定”时,对中心点的属性写入“固定”,并且,水平轴和垂直轴的属性也写入“固定”。这时,如果宽度和高度保持可变,则宽度和高度的属性维持“可变”。
在对于关联的内容的信息(内容关联信息)中,例如包含表示它是文本容器还是图像容器的种类的信息、插入该容器中的数据源的标识符例如数据库名、记录名、字段名等的一部分或全部、用于抽出内容的条件式等关联信息。此外,当为文本容器时,在内容关联信息中也包含对于字体的信息例如字体种类、尺寸、颜色、斜体、加粗、下划线等文字修饰信息。
只保持在文档模板中设置的容器的数的容器信息3303。
(3)链接信息3304链接是容器之间的关联,是使由容器结合的2个容器之间的距离为固定(固定链接)或可变范围(可变链接)的信息。作为链接信息,例如对于水平方向和垂直方向,分别包含2个容器的标识符、表示在这些容器的相对的边之间设定链接的信息、对于沿着链接的方向的容器之间的距离。按每个所定义的各链接保持链接信息。作为链接信息的形式,对于水平方向和垂直方向,分别保持各容器的边的位置,保持表示在该边之间设定链接的信息。
(4)固定信息3305包含用于定义可变部分以外的固定部分的信息。例如在应用该模板生成的全部文档(全部记录)中能定义共用的文字和图像。对于文字和图像,也可以不包含数据,只定义位置信息。当然,也包含用于定义在模板上布置的位置的信息。
图34表示用于多记录功能的模板数据的一例。在图34中,在文档模板中定义称作流动区域的把其它模板作为子模板插入的区域。把子模板插入的区域称作流动区域,在一个流动区域中插入与多记录对应的数量的子模板。在图34中,在模板数据中包含流动区域信息3401。在模板数据中只包含在模板中包含的流动区域数的流动区域信息。在流动区域信息3401中包含以下的元件。
(5)表示全体的位置、尺寸、流动类型的流动区域的属性信息3402位置和尺寸如图33中说明的那样。流动类型是定义子模板插入到流动区域中的方式的符号。后面将描述细节,但是插入流动区域中的子模板的数由多记录的主列(后面描述)确定,因为可变,所以根据插入流动区域的子模板数来定义流动区域内的子模板的布局的信息是流动类型。
(6)子模板信息3403在子模板信息3403中包含表示把子模板中布置的内容与按照该子模板布局的内容(在本说明书中,把它称作布局完毕内容)插入的流动区域添加关联的布置信息。子模板信息3403例如是用于识别插入流动区域中的模板的信息,例如包含模板数据的文件(模板文件)的名称等。此外,也可以包含用于布置布局完毕内容的布置条件、指定以怎样的顺序插入布局完毕内容的流动类型。作为布置条件,保持成为子模板的布局对象的数据库的检索条件(检索式)等。此外,作为流动类型,从Z型、N型、V型等预先准备的选择分支内保持表示指定、被指定的流动类型的标识符。或者,也可以在数据库的记录中设置布置信息字段,在与该值一致的布置条件的值所对应的流动区域中,插入布局完毕内容。
(7)多记录信息3404包含与流动区域关联的数据库名、各记录中的字段名等标识符。对于所指定的字段名,从指定的数据库获得(读入)具有同一值的记录,作为原则,布置在一个流动区域中。作为原则,在限制与成为对象的记录与流动区域的尺寸相比是相当多的情况下,就可以得到上述限制,因此,在这种情况下,有必要生成其它文档等来进行例外的处理。
<链接的设定方法>
图6是表示链接的设定方法的流程图。此外图7A~图7C表示UI的例子。使用它们说明设定容器链接的方法。
首先,为了设定链接,生成用于设定链接的容器(步骤0601)。接着,使图4所示的链接工具按钮406变为选择的状态(步骤0602)。图7A~图7C表示生成2个容器,从选择链接工具的状态进行设定链接的动作时的用户界面例子。按顺序说明图7A~图7C。
图7A的边0701、0702与所述图4的边407、408相同,是固定的边。此外,锚点0703和0704与锚点409相同。首先,点击选择设定链接的一方容器(步骤0603)。接着如图7B所示,把鼠标指针移动到另一方容器,点击(步骤0604)。图7B的线0706表示连接在图7A中最初点击的位置和移动后的鼠标指针的位置的线,是对用户表示在哪个位置设定链接的UI。步骤0604结束后,容器变为图7C的状态,在设定的地方显示链接0707(步骤0605)。此外,通过设定链接,也自动变更表示容器的对象(步骤0606)。边0708是由虚线表示的可变的边。容器的边的状态如图7所示那样变化,是因为通过设定链接,需要使容器的边可变,是为了防止发生尽管设定了链接,但是全部边固定的矛盾而自动进行的处理。此外,放大缩小图标0709与图5的图标505相同,是通过设定链接来对用户可视地表示容器变化的方向的对象。在图7C的例子中,左容器的右边0708和右容器的左边0710变为可变,但是,这是一个例子,右容器也可以变为具有图4所示的滚动条413的设定。
从图33的数据处理的观点说明该处理,就变为以下那样。例如在步骤0601中,通过生成容器,定义容器信息3303。然后,在步骤0606中,布局编辑应用121把在步骤0603和步骤0604中选择的2个容器之间设定了链接的信息作为链接信息存储。然后,在步骤0606中,按照需要来变更设定链接的2个容器的相对的边的属性。例如,如果相对的边的至少一方可变,就没必要变更边的属性。可是,如果双方固定,就失去设定链接的意义,所以至少使一方可变。在图7的例子中,把双方变更为可变。当然,当变更边的属性时,布局编辑应用121对于变更的属性,对于容器信息3303中包含的属性变更的边,改写该属性信息。
在上述记载中,使用“相对”的表现,但是,除了在外观上线之间相对的情况,在线自身不相对(即2条线的长度方向的投影不重复)时,如果线的延长线处于相对的关系,就能在延长线之间设定链接。在本说明书中,还包含延长线相对的情况,对于由链接添加关联的容器,边表现为“相对”。即,例如在沿着模板的对角而布置的小容器之间也能够设定链接。
如上所述,如果由链接关联的容器的相对的边的一方可变,另一方固定,就有可能按照内容尺寸来移动可变的边。而且,按照可变的边的移动量,固定边一侧的容器自身平行移动(没有锚点时)。维持由链接定义的容器之间的距离(对于沿着链接的方向的距离)。如果双方的边可变,就按照内容的尺寸和量,使容器的尺寸变为可变,但是,这种情况下也维持容器之间的距离。
<预览模式(布局计算>
图8表示布局计算的流程。布局计算是对文档模板的容器实际插入数据时,按照内容的数据尺寸再次计算容器尺寸和容器布置的处理。在图8中,把指定预览模式的情形作为例子,因此,对模板插入内容而生成的文档显示在显示器144上。可是,当指定预览模式时,就变为预览显示来打印输出文档。
在图8中,首先选择预览模式(步骤0801)。在本实施例的自动布局系统的工作模式中包含布局模式,生成容器,在容器之间进行关联,生成定义布局的文档模板;预览模式,在生成的布局(模板)中插入记录,预览实际插入记录后的布局结果。
在预览模式中,插入实际的记录来计算布局。预览模式是在显示上的布局计算。在实际打印时,不插入数据来计算布局,但是,这时的计算方法与预览模式相同。
如果变为预览模式,就选择预览的纪录(步骤0802)。记录的选择,可以选择由操作者指定的记录,也可以从指定的数据库依次选择记录。如果进行记录的选择,就为了按照模板布置该记录而进行计算(步骤0803)。在步骤0803中,按照计算结果把记录布局并将其显示(0804)。对于其它记录,判断是否进行预览(步骤0805)。该判断可以根据操作者的指示,也可以判断对于预先指定的范围的预览是否结束。在步骤0805中,当判断为对于其它记录,不需要进行预览时,就结束预览模式(步骤0807)。
而如果对其它记录进行预览,就选择其它记录,再次进行布局的计算,布局记录来进行预览(步骤0806)。在不是预览模式的打印时,对于打印的全部记录,按顺序进行布局的计算。因此,步骤0801、0807不存在。此外,在步骤0805中,判断对于打印对象的全部记录,打印是否结束。
(布局计算步骤)图9是说明图8的步骤0803的布局计算的详细的流程图。此外,图10A~图10C是表示这时的UI显示例的图。不局限于图9,在本实施例中说明的流程图由图1A、图1B或图2的计算机执行。
首先,求出计算布局的容器集合(步骤0901)。把由链接添加关联的容器作为一个集合来进行布局计算。例如参照图11,则在页面上布置4个容器,对各容器设定关联。这时,容器A和容器B,容器C和容器D由链接添加关联。因此,容器A和容器B变为集合1,容器C和容器D变为集合2。即,参照图33所示的模板数据的链接信息3304,能判定由链接关联的容器组为一个容器集合。在图11中,如上所述,具有锚点1101、固定的边1102、控制器1103、表示可变边的变化方向的箭头1104、可变的边1105、链接1106、以及滚动条1107。
接着,为了计算布局,从在步骤0901中求出的容器的集合中选择一个集合(步骤0902)。例如,这可以按照模板数据的链接信息中的出现顺序。然后,对选择的容器的集合进行布局的计算。在此,进行布局的最优化,以使布局的容器尺寸和实际的容器尺寸尽可能减小差距(步骤0903)。
进行布局的最优化,使得在关联为可以动态改变尺寸的容器中,插入各自容器中的内容的尺寸和插入该内容的容器尺寸尽可能变为相同。当容器尺寸固定时,把内容变化倍数,收容在容器中,或者内容的一部分收容在容器中。
当关注的容器集合的一方的容器是固定尺寸,另一方为可变尺寸时,对于固定尺寸的容器,以上述方法进行布局。对于可变尺寸的容器,在固定尺寸的容器可移动的范围中,改变可变尺寸的容器的尺寸,插入内容。如果把尺寸扩大到最大也不能容纳时,把内容变化倍数,或者把其一部分插入到容器中。
当关注的容器集合的双方的容器为可变尺寸时,确定布局,使得尽可能均等地在双方的容器中收容内容。例如,如图7C所示,由链接关联的2个容器,其外侧的点固定,只有相对的边可变。这时,按照各内容的尺寸,暂且确定容器尺寸。然后,确定各容器的相对的边的位置,使得离沿着容器之间的链接的方向的距离的中间点成为相等的距离。当然,边的间隔是由链接信息所定义的距离。这样来确定各容器的尺寸。如果容器中容纳不下内容时,也可以使内容变化倍数,或者把其一部分剪切,插入到容器中。
当在容器集合中至少包含3个容器时,计算与各内容的尺寸对应的容器尺寸(即各可变边的长度),把离中点的、由链接信息定义的距离的位置确定为边的位置。对于链接的边为固定边的容器,按照添加关联的容器的边的移动,来使其位置移动。
如上所述,把由链接关联的容器作为1组,对于尺寸可变的容器,确定其尺寸,对于位置可变的容器,确定其位置。
以上述要领进行布局的最优化计算,当计算结果违反规则时,在此进行计算以便不违反规则(步骤0904)。这里,规则是生成布局时由用户设定的限制,是容器的尺寸、位置、链接的长度等。限制由模板数据内的容器信息中包含的边和点等属性信息和链接信息定义。特别是在属性信息中,具有“固定”的值的项目和链接信息成为布局上的限制。因此,当步骤0903的布局计算结束后,对于具有“固定”的属性的计算后的各容器的边和点的位置、尺寸等项目,与模板数据中的容器信息比较,如果存在值不同的项目,就判定为违反限制。此外,对于链接,如果链接信息中包含的链接长度(容器之间的距离)和步骤0903的布局计算结束后的设定链接的容器之间的距离不同,就判定为违反限制。
如果不违反规则地计算布局,则该容器集合的布局结束。然后,对于页面上的全部容器的集合,实施步骤0902~步骤0904,计算页面全体的布局(步骤0905)。
(布局的例子)图10A~图10C是布局计算时的UI显示例子。当然打印例子也是同样的。图10A表示在模板数据中初始定义的容器集合。在图10中,在模板中包含锚点1001和1002、固定的边1003和1004、可变的边1005、表示可变的边的变化方向的箭头1006、链接1008。在该状态下,选择记录,从记录把不同尺寸的内容插入各容器中。图10B表示在图10A的状态下重叠显示新的内容的尺寸。双点划线的矩形1009表示插入各容器中的内容的尺寸。然后进行布局的计算。图10C表示进行布局计算的结果。进行计算,使得计算后的各容器的尺寸与插入各容器的内容的尺寸的差变为相等,确定可变的边的位置。即确定布置填充内容的框。而且,不违反上述规则地计算该布置。如图10C所示,对于图10B所示的各容器,插入的内容尺寸1009和计算后的内容尺寸1010(即计算后的容器尺寸)的差相等。
<多记录(多数据)功能>
对于多记录,说明概略的内容。在通常的文档模板中,1记录与1文档对应,但是,与子模板对应的多记录是成为基准的项目变化的中断发生之前的记录,所以在1文档内插入多个记录。因此,希望作成与通常的文档模板所对应的可变数据的数据库、与子模板对应的可变数据的多记录的数据库不同的数据库。
图12是表示多记录及其布局方法的概要的图。数据库1204包含文档1201、页面1202、子模板1203、数据库1204。在图12中,在数据库1204中包含记录1~7。在把1记录布置在1文档中的通常的可变打印中,因为存在7个记录,所以这时生成7个文档。
但是,支持在1文档中布置多记录的多记录功能的本发明的可变打印,进行如下的处理。首先用户指定用于指定多记录的基准项目的列(字段)。把该指定的列称作主列。有时也把主列称作多数据条件。在本例子中,把字段名Name指定为主列。这样,其指定的字段值相同的记录组变为布置在1文档中的记录组。在该例子中,记录1~4是主列即Name的值为相同的“Tom”,因此布置在一个文档中。记录5~7是Name字段的值为相同的“Nancy”,所以发生中断,布局到另一个文档中(参照图12)。当然,指定了多记录的字段值不同的记录布置在不同的文档中。图12的文档的页面1202之所以作为各自不同的布局生成是因为在各文档中多记录的数不同。怎样根据多记录的数来布置子模板,如后上述,根据流动区域的属性信息3402的流动类型的标志,在4个子模板的情况下,按图12的上图所示那样来进行布局,在3个子模板的情况下,按图12的下图所示那样进行布局。
<多记录的布局处理>
图13和图14表示本发明的多记录处理的用户界面和处理步骤。
与图13的UI图一起说明图14的流程的各步骤。首先,通过按下图13的图标1303,转移至区域生成模式(步骤1401)。然后,在页边空白的区域1302内通过鼠标的拖拽来描画矩形(步骤1402)。描画的矩形在区域生成模式下是流动区域,其尺寸和位置信息存储为图34所示的模板数据的流动区域的属性信息3402(步骤1403)。在图13中,描画流动区域1306。在模板上除此之外还包含文本容器1304和图像容器1305。在用户界面上,通过使流动区域1306的表现和容器的表现不同,能使用户在视觉上容易识别。文本容器1304和图像容器1305从数据源读入可变数据,作为不同于各记录的文档来生成。流动区域1306如后上述,从多记录的数据库按照指定的主列来读入数据,直到发生中断,根据流动类型来确定布局。
接着对于生成的流动区域1306,由用户输入存储可变数据的多记录的数据库名、指定为主列的字段名称等标识符。把输入的标识符作为主列与该流动区域相关联,例如存储为图34的多记录信息3404(步骤1404)。
接着布局编辑应用121按照操作者的操作,判断对流动区域1306是否进行各种设定(步骤1405)。为了通过属性的设定来进行各种设定操作,如果进行该操作,例如在流动区域1306上点击鼠标指针等属性设定操作,则用户界面模块103显示属性对话框(步骤1406)。然后,通过显示的属性对话框保存输入的设定(步骤1407)。对于设定方法,以后参照图15、图16详细说明。
如果一个流动区域的生成结束,布局编辑应用121就根据操作者的输入判断是否还指定生成流动区域(步骤1408),如果进行生成的指定,就进入步骤1401,生成新的流动区域。此外,还设定属性。
此外,在步骤1409中,如果判定为输入预览布局的指示,就转移到预览模式。然后,布局编辑应用121进行预览计算(步骤1410)。用与图9所示的流程相同的步骤执行该布局的计算。即应用于选择适当的记录而生成的模板,显示其结果。
接着布局编辑应用121确认所设定的流动区域是一个还是多个(步骤1411)。如果是1个,则布局编辑应用121进行是一个流动区域的情况的布局计算(步骤1412)。对于该处理,以后参照图19、图18详细说明。如果是多个,就进行多个时的布局计算(步骤1413)。对于该处理,以后参照图22A、图22B、图23、图18详细说明。最后显示布局结果。(步骤1414)<属性设定处理>
图15表示在图14的步骤1407中的进行流动区域的各种设定(属性设定)的处理流程,图16A和图16B表示该设定对话框的例子。
参照图16A和图16B说明图15的属性设定方法。此外,后面描述上述子模板。首先,在图16A的文本框1602中,通过由用户指定,显示在流动区域中使用的子模板(步骤1501)。指定方法可以在文本框中直接指定子模板名,或使用文件打开图标1603,指定子模板名。图16A的1601表示属性对话框,1616表示鼠标指针。
接着布局编辑应用121判断是否设定有条件式(步骤1502),根据由用户输入的条件式,从连接的数据库抽出布置到流动区域中的数据(步骤1503)。区域1604表示输入条件式1605的区域。在文本框1606中输入连接的数据文件的字段名。在列表框1607中输入计算条件判定的运算符。在列表框1608中输入条件。对列表框1609输入连接条件式之间的运算符。对于列表框1606~1609,不仅可以直接输入,也可以从列表中选择。在图16A的例子中,对于称作ProductInfo.stp的数据库,设定ProductName字段的值是“Camera”,并且Cost字段的值为小于50000的条件。如果设定条件,就从数据库抽出数据,如果抽出数据,就在命中数显示栏1610中显示抽出的数。把该条件称作抽出条件。
接着布局编辑应用121判断是否输入使子模板插入到区域内的流动类型的指定(步骤1504),如果指定,就把指定的流动类型作为图34的属性信息3402的一部分存储。在例示栏1611中显示布局的图案(流动类型),用户从其中选择所需的图案,就能指定流动类型。矩形1612表示现在指定的布局图形。在图16A中指定Z型。流动类型也能设定为图16A中表示的Z型、N型、V型、W型以外的类型。通过按下按钮1613,显示属性设定对话框1617。然后,能选择特殊类型的圆形1619、斜型1618等流动类型。该流动类型并不局限于这里说明的类型,也可以是其他类型。此外,对于流动类型,在默认时,成为选择任意一个的状态,所以如果不需要设定,就可以不进行设定。此外,对于流动类型,根据布置在流动区域中的子模板的数量(根据布局条件,相当于符合的数据数),希望选择不同的流动类型。因此,图16A的选择布局流动类型的例示栏1611也可以按照子模板数来进行选择。
接着判断对设定的内容是否有修改(1506)。当由操作者按下“确定”按钮1615以外的按钮时,判断为有修改。当有修改时,在步骤1501~1505中执行与操作者的操作对应的步骤。当没有修改时即按下“确定”按钮1615时,布局编辑应用121可靠地保存所指定的各种设定值(1507)。因此,通过步骤1501以前的操作所指定的值,保存到虚拟的保存区,在步骤1501中,可以采用把这些值复制到属性信息3402所对应的项目中的方法等。如果按下取消按钮1614,则此前指定的各种设定全部取消,属性信息3402保持图15的步骤开始之前的状态而不进行变化。如果进行步骤1507,就关闭对话框(步骤1508)。
(子模板)对于上述子模板,说明概要和布局流程。图17A、图17B、图18表示按照子模板的记录的布局例子和布局流程。
子模板是在其中布置图像容器和文本容器、以设定了在这些容器中分配哪个数据的状态来保存的模板。数据自身与通常的模板没有特别的不同,由图33所示的模板数据定义。子模板在一个文档中使用多个相同布局时或在其它文档中沿用时是较方便的。能在布置在子模板内的图像容器和文本容器之间设定链接。因此,根据布局的数据,能最佳地改变布局尺寸(位置)。图17A和图17B表示使用子模板的记录的布局例子。1701和1704表示子模板的外框,1702和1705表示图像容器,1703和1706表示文本容器,1707表示链接。图17A和图17B是使用彼此相同的子模板的布局例子,但是图像、文本的尺寸彼此不同,所以布局结果不同。使用子模板的记录的布局处理的流程如图18所示。图18表示预览处理的例子。在打印时,把图18中的“显示”变为“打印”。
首先,布局编辑应用121获得布局的数据(步骤1801)。在预览时,操作者可以指定适当的记录。在打印时,从对象的数据库抽出适合于条件的记录,获得作为布局对象的数据。接着布局编辑应用121获得对各容器进行布局的数据的尺寸(步骤1802)。然后,布局编辑应用121根据获得的数据尺寸,对各容器计算布局(步骤1803)。步骤1803是在图9中说明的处理,包含最优化处理。如果确定最优化的布局,布局编辑应用121就把布局的数据插入到对该数据进行最优化的容器中,完成文档(步骤1804)。然后,把完成的文档作为预览图像来进行显示(步骤1805)。
(流动区域的布局方法(在文档中存在一个流动区域的情况))图19表示流动区域内的布局计算的流程。图19是设定一个流动区域时的步骤。首先,布局编辑应用121打开与流动区域关联的数据库(步骤1901)。然后,把尝试在流动区域中布局的记录数代入到设置在存储器的变量n中(步骤1902)。该变量n是用于指定想粘贴流动区域的数的值,也能从图16A和图16B的用户界面画面输入。当n为0即尝试布局的记录数为0时,不需要进行布局的处理,所以不进行处理就结束(步骤1903)。
接着在用于表示已经尝试布局(也包含正在尝试)的记录数的变量k中代入1(步骤1904)。此外,在用于计算对流动区域进行布局的子模板数的变量Num中代入0(1905)。
然后,从数据库获得第k个记录的数据(步骤1906)。这时,如果从数据库收到表示没有相应的数据的响应,就进入到步骤1913。
接着布局编辑应用121在布局的流动区域中,通过上述属性设定,确认是否设定条件式(步骤1907)。对于多记录,如上所述,把满足一定条件的记录插入一个流动区域中。该满足一定条件(条件式)的记录相当于与该流动区域关联的数据。因此,当设定条件式时,判定步骤1906中获得的数据是否满足设定的条件式(步骤1908)。然后,当对流动区域未设定条件式时,或在步骤1908中判断为满足条件式时,布局编辑应用121对于获得的第k个记录,按照与流动区域关联的子模板进行布局(步骤1909)。如果能用与流动区域关联的条件式检索数据库,则在步骤1906中,用该条件式抽出记录。这时,由该条件式抽出的记录一定满足与流动区域关联的条件。此外,如果可设定用于筛选适合于该条件式的条件,就在步骤1906中用该条件抽出记录。这时,步骤1908的判断是不可缺少的。在无法用条件检索数据库的结构的情况下,在步骤1906中依次获得记录。
对于按照子模板的布局步骤,如图18所述。如果按照子模板布局记录,就增加变量Num(步骤1910)。然后,为了对下一数据进行处理,把变量k加1(步骤1911)。此外,当在步骤1908中判断为不符合条件式的数据时,对该数据不进行布局处理,就进入步骤1911,获得下一记录。
接着比较记录数n和变量k(步骤1912)。如果变量k小于记录数n,就进入步骤1906,对于第k个数据,反复进行处理。如果变量k大于等于n,就结束使用子模板的记录的布局,进入把按照子模板布局的记录(它相当于上述布局结束的内容)布置到流动区域中的处理。
首先,布局编辑应用121从图34的属性信息3402获得流动区域的尺寸(步骤1913)。然后,布局编辑应用121从图33的尺寸信息3302获得布局的子模板的尺寸(步骤1914)。然后计算布置在流动区域内的布局完毕内容的尺寸(步骤1915)。在本实施例中,在步骤S1909的布局处理中,子模板的外框尺寸不根据子模板内的容器尺寸变更。因此,布局完毕内容的外框尺寸保持子模板的外框尺寸。在步骤S1915中,按照布置在流动区域中的布局完毕内容的数目来放大缩小布局完毕内容外框的尺寸。由变量Num指定布置在流动区域中的布局完毕内容的数。对于各内容,以相同的比例执行放大缩小。然后,在步骤1916中,把在步骤S1915中放大缩小(改变倍数)的内容布置到流动区域中,生成输出的图像。在进行打印的情况下也是同样的。
图20A和图20B表示把通过子模板而布局完毕的内容布置到流动区域内的例子。在图中表示页边空白2001、固定的容器2002和2003、流动区域2004、子模板2005和2006。在图20A中,在流动区域2004内布置4个布局完毕内容,计算各布局完毕内容的尺寸,使得恰当地布置到流动区域中。进行计算,使得布局完毕内容的各个尺寸全部变为相同。图20B表示在流动区域中布置5个布局完毕内容的例子。
最后,布局编辑应用121显示布局结果来结束处理(步骤1916)。这样,无论布置几个布局完毕内容,流动区域的尺寸都是固定的。通过这样在流动区域中布置内容,能避免根据布置的内容数来使文档数(页面数)变化的问题。这在文档数固定的“明信片”和“直接邮件”等中特别有效。
在本实施例中,确定尝试布局的记录数(变量n),把它作为布局处理的结束条件,但是也能把变量Num达到指定数作为结束条件。这样,还产生未完全布局的记录,但是,能限制插入到流动区域中的子模板数。
此外,也可以不预先确定尝试布局的记录数,将从数据库取完符合该条件的记录作为结束。
(流动区域的布局方法(在文档中存在多个流动区域时))下面说明在文档中设定多个流动区域时的布局处理的流程。图21A、图21B是表示在布局时,从数据库抽出数据,布置到多个区域中的例子,图22A、图22B表示对于多个流动区域的布局处理的流程,图23表示各流动区域中的内容的尺寸调整处理的流程。
在图21A、图21B中,数据列表2101表示数据库的数据列表的一部分。在图21A、图21B的例子中,把Name字段设定为主列,所以把Name字段的值相同的记录布置到1文档中。因此,No1~6的记录2102是Name字段值为“Tom”,所以布置到1文档中。再生成具有用于插入数据字段的ProductName字段和Description字段和Image1字段的容器的子模板,使该子模板关联流动区域2106、2107。
此外,对于流动区域2106,设定Category=Camera的条件,对于流动区域2107,设定Category=Printer的条件。因此,如2108、2109所示,把由子模板布置的布局完毕内容布置到与条件式对应的流动区域中。Category字段为“Camera”的记录(No1、2、5)布置到流动区域2106中,Category字段为“Printer”的记录(No3、4、6)布置到流动区域2107中。这是使用设定多个流动区域的模板时的布局处理的概要。在图22A、图22B、图23中表示处理的流程。
说明图22A、图22B的各个步骤。首先,布局编辑应用121获得尝试布局的数据(记录)的数(步骤2201)。当数据库是顺序文件等无法进行条件检索的数据库时,从数据库获得记录数。此外,在直接邮件等中,也可以将以一定条件限制的全部记录作为对象,把该数作为数据的数目来获得。这对于图19的步骤1902也是同样的。在图21A、图21B中,记录是No1~7,所以获得7。把获得的数代入变量n中(步骤2202)。
接着检查n的值,如果为0,则应该布局的数据不存在,所以该处理结束(步骤2203)。如果n的值不是0,就把1代入到变量k(步骤2204)。变量k是表示现在处理第几个数据的变量。然后获得设定的流动区域数(步骤2205)。计算在使用的模板的图34的模板数据中包含流动区域信息3401的数,获得该数。把获得的流动区域数代入到变量AreaNum中(步骤2206)。
接着把1到代入变量a(步骤2207)。该变量a是表示现在正在进行第几个流动区域的处理的变量。把变量a所表示的流动区域称作流动区域a。接着获得流动区域的尺寸和设定的条件,分别保存到构造体(记录型数据)的数组AreaInfo[1··AreaNum]中。数组AreaInfo[1··N]的各数组成分即构造体具有Size和Condition这2个字段。这些字段分别表示为AreaInfo[].Size和AreaInfo[].Condition。然后把流动区域a的尺寸和设定的条件分别代入到AreaInfo[].Size和AreaInfo[].Condition中(步骤2208)。希望按照AreaNum的数,在存储器上动态地确保数组AreaInfo[1··AreaNum]。
把0代入到Num[a]中(步骤2209)。在Num[a]中带入布置到流动区域a中的内容的数。接着把变量加1(步骤2210)。然后,确认变量AreaNum的值是否小于等于0,即确认对于设定的全部区域是否进行了处理(步骤2211)。如果处理未结束,就反复进行步骤2208~2210。如果对于全部区域,处理结束,就检查第k个纪录(步骤2212)。
然后,把1代入到变量a’中(步骤2213)。a’是为了对多个区域进行条件式的比较、布局的处理而使用的变量。接着,判定第k个记录是否满足代入到AreaInfo[].Condition中的条件(步骤2214、2215)。然后,如果满足条件,就按照与流动区域a’关联的子模板,对第k个记录进行布局(步骤2216)。然后,把布置到该流动区域a’中的内容的数Num[a’]加1(步骤2217)。
当在步骤2215中判定为不满足条件式时,对于下一流动区域,为了进行处理,把a’的值增加1(步骤2218)。然后,把变量a’的值与流动区域数AreaNum比较,如果a’小,就对该流动区域a’反复进行处理(步骤2219)。如果a’大,就将其作为不满足条件,对模板中设定的全部流动区域进行步骤2220的处理。把第k个记录布置到模板中设置的任意流动区域中,或者在对全部区域进行了尝试,可是不适合于任何流动区域的条件的情况下,把变量k增加1(步骤2220),与尝试布局的记录数比较(2221)。如果对于成为对象的记录全体,尝试未结束,就对于下一记录,反复进行从步骤2212开始的处理。如果对于全部记录已经结束,就进行各流动区域内的内容的尺寸调整(流动区域的最优化)处理(步骤2222)来结束处理。在图23中说明步骤2222的处理。
(流动区域的最优化)图23是对于多个流动区域的布局处理的流程。对各步骤加以说明。首先,把区域的数代入到AreaNum中(步骤2301)。然后,把1代入到a中(2302)。该变量a是表示现在正在对哪个流动区域进行处理的变量。接着从存储器上的构造体数组AreaInfo[1··AreaNum]获得AreaInfo[].Size(流动区域a的尺寸)和Num[a](布置到流动区域a中的内容数)(步骤2303)。然后,获得对流动区域a指定的(布置)子模板的默认尺寸(步骤2304)。然后,布局编辑应用121从获得的流动区域a的尺寸AreaInfo[].Size、布置在那里的内容数Num[a]、与流动区域a关联的模板的默认尺寸,计算布置到流动区域a中的内容的尺寸(步骤2305)。该计算方法与图20A、图20B中说明的方法相同。如果计算结束,就把变量a增加1(步骤2306)。比较变量a和变量AreaNum,确认对于全部区域,计算是否结束(步骤2307),如果未结束,就反复进行从步骤2303开始的处理。如果对于全部区域,子模板的布局结束,就把在步骤2305中放大缩小(改变倍数)的内容布置到对应的流动区域中,生成输出的图像。然后显示布局结果,结束处理(2308)。
(布局规则的设定)图24、图25表示流动区域中的布局规则的设定UI和流程。说明流程的各步骤。图24、图25的处理步骤通过对生成的模板的流动区域进行,可以进行已经存在的流动区域的设定变更。
首先,在图24的文本框2402中指定布局完毕内容的显示方法(步骤2501)。指定的显示方法有均等比例、右对齐、左对齐等。在该例子中,指定均等比例。此外,操作者通过使单选按钮2403为接通,判断是否指定了布置到流动区域中的布局完毕内容的数(步骤2502)。当指定了时,UI变更为包含文本框和旋转按钮,使得能设定内容的数(也称作布局数)。操作者如果在文本框2404中指定布局数的最大值和最小值,就把该值作为布局数保存(步骤2503)。此外,也可以不向文本框直接输入,而是用旋转按钮2405设定。当单选按钮2403为关闭时,文本框2404和旋转按钮2405变为灰色而不能被选择。
接着判断是否指定了布局图形(步骤2504)。通过单选按钮2406变为接通,判断为指定了布局图形的变更,用户界面变更为能指定变更后的状态。区域2407是用于指定布局图形的部分,当单选按钮2406关闭时,就变为灰色。如果单选按钮2406为接通,则能显示这里指定布局图形。然后,把指定的布局图形作为变更的流动区域的布局图形保存到图34的属性信息3402(步骤2505)中。
这里,通过布置在流动区域中的内容的数、布局的级数、每1级的数,用户能任意指定所设定的布局图形。在框2408中输入布置到关注的流动区域中的内容的数。然后,在框2409中输入在哪级中布置内容。在框2410中输入级编号,在框2411中指定在由框2410所示的编号的级中布置几个内容。在该例子中,能指定“级”,但是对于“列”,也能同样指定。此外,也能选择级和列的任意一个来进行制定。也能对双方进行指定。
首先,在指定布置的内容的数时,能以框2408指定的数限于该范围内的数。例如,如果把布局的内容的数设定为2~4,则能指定的个数为2、3、4。如果指定此外的值,就变为出错。然后,对于级数2410,操作者可以指定任意的数。根据指定的数,确定显示在框2411的数。在框2411中,指定在框2408中所指定的内容的个数中的几个而布置在该级中,因此,如果布局的数比框2408中指定的数大,就变为出错。例如,当在框2408中指定6个,作为级数,指定为2级时,在第1级中布置2个,在第2级中布置5个这样的指定就变为出错。
在要设定布局的数为6个、5个、4个等多个布局图形时,操作者按下追加按钮2413。如果进行该操作,则追加新的布局图形(步骤2506)。滚动条2412在指定的图案增加,在显示区域内容纳不下时进行显示。最后通过按下确定按钮2415,确定到此为止所指定的显示方法和布局图形,保存到流动区域信息3401的属性信息3402中(步骤2507)。此外如果按下取消按钮2414,就取消开始布局规则的设定后所指定的显示方法和布局图形。
图26A和图26B表示设定布局规则时的布局例子,图26A表示除了左对齐以外,未设定布局规则的流动区域2601的布局例子,在流动区域2601中布置3个内容。这样,用图16A、图16B中指定的布局类型(这里为Z型)对布局完毕内容进行布局,变为图26A那样的布局结果。
图26B表示设定不同于图26A的布局规则的流动区域2603的布局例子。这里设定的布局规则是均等比例,当布局个数为3时,为2级,在第1级布置1个,在第2级布置2个内容。如果在与图26A相同的区域中布置3个内容,则如图26B所示,在第1级布置1个,在第2级布置2个,以均等比例布置。通过这样设定布局规则,用户可以完成在自动插入中无法实现的自由度较高的布局。
在上述说明中,记载为打印的步骤和预览的步骤是相同的,但是在打印时,使用已经完成的模板和子模板来布局数据,所以模板和子模板的生成处理在打印时没必要进行。在打印时,替代模板和子模板的生成,进行模板和子模板的指定,按照指定的模板和子模板生成文件并打印。这对于实施例2、3也是同样的。
如上所述,根据本实施例的文件处理装置,能在文档模板中定义多个流动区域,能定义插入到各流动区域中的数据的条件,因此能根据该条件控制数据的布置。
此外,能对各流动区域定义各流动区域内的零件数据(相当于在子模板中布置的数据库的记录等可变数据)的布置,因此能对各流动区域以不同的布局来布置零件数据。
此外,能限制可插入到各流动区域中的零件数据的数目,因此,能防止以下的问题,即所插入的数据越难以辨认,就越小地进行显示或打印。
此外,能限制插入到各流动区域中的零件数据数,并且用流动区域的尺寸和零件数据的数确定插入到各流动区域中的零件数据的尺寸。因此,能按各流动区域进行控制,使得使用一个模板生成的零件数据的显示(打印)尺寸在某流动区域中大,在其它流动区域中小。
通过指定布置数据的流动区域,控制布置的流动区域中的零件数据的数和布置方法,能按操作者所希望的那样对使用一个子模板布置的彼此对等的零件数据进行布局,可以生成文件。而且能显示和打印它们。因此,通过直接邮件等,不仅能实现符合个人等对方的信息的提供,而且能用反映适合对方的信息的重要度的布局、例如把重要的信息布置在容易吸引注意的开始部分的布局等来生成文件。
本发明的实施例2,是包含在流动区域内把布局完毕内容布置,当溢出到流动区域外时,向其它流动区域布置布局完毕内容的方法的计算机程序、文书处理装置、自动布局系统。本实施例是在图34的模板数据3401中又包含定义流动区域之间的链接(区域链接)的区域链接信息;将被链接的流动区域的处理步骤,附加到对具有多个流动区域的模板布置数据的处理中。流动区域之间的区域链接不象容器之间的链接那样是用于把距离保持固定的信息,是用于指定插入溢出的内容的目标的信息。
<流动区域的链接>
图27、图28表示对于流动区域的链接的UI图和设定处理的流程。流动区域的链接意味着在生成多个上述流动区域的状态下,可以在2个区域之间设定关联。这里的关联意味着把溢出关联的第1个区域的子模板布置到另一个区域中。下面,对区域链接的设定流程的各步骤进行说明。
首先,转移到区域链接模式(步骤2801)。操作者通过用鼠标指针2709按下图27的工具按钮2708来进行指示,按照该指示来进行布局。接着如果用鼠标指针选择在关注的模板中包含的第1流动区域,就把该第1流动区域设定为设定区域链接的母流动区域,暂时保存表示该意思的信息(步骤2802)。
接着,如果用鼠标指针选择在关注的模板中包含的第2流动区域,就把该第2流动区域设定为设定区域链接的子流动区域,并暂时保存(步骤2803)。在步骤2802和步骤2803中指定的第1和第2流动区域必须是同一流动区域。然后,判断在指定的2个流动区域之间是否设定链接(步骤2804)。该判断根据操作者的输入进行。如果判断为设定区域链接,接着就判断母流动区域的设定是否由子流动区域继承(步骤2805)。这也根据操作者的输入来进行判断。链接的2个流动区域作为被分割为2个但实质为一个的流动区域而发挥功能,因此各种设定(在图15和图25的步骤中进行设定的设定等)必须是共用的。因此,子流动区域承继母流动区域的设定。如果不承继设定,就返回到步骤2802,再次进行设定,或结束链接的设定(步骤2806)。
如果由操作者输入确认由子流动区域承继母流动区域的设定的信息,就在母流动区域和子流动区域之间设定区域链接(步骤2807)。在数据上,例如在模板数据3401中附加表示第1流动区域为母流动区域,第2流动区域为子流动区域的流动区域信息。
同时,为了对用户显示流动区域的链接状态和母子关系,显示图27的箭头2707。这里,流动区域2705表示母流动区域,流动区域2706表示子流动区域。
<链接的流动区域的布局>
说明以图28的步骤设定链接的流动区域中的内容的布局。图29、图30表示布局例子和流程。说明图30流程的各步骤。该流程与实施例1中说明的图19的布局流程的步骤1913以后的步骤对应,当对流动区域设定区域链接时,代替图19的步骤1913以下的步骤,进行图30的处理。即在本实施例中,在图19的步骤1912和步骤1913之间判定对使用的模板所包含的流动区域是否设定区域链接,如果设定区域链接,就进入到图30的步骤3001。此外,在图14的步骤411的判定中,把设定区域链接的流动区域视为一个流动区域。在图23步骤2303之前判定对流动区域a是否设定有区域链接,如果设定,就代替步骤2303~2305,执行图30的步骤3001~3005。然后在此后图23的处理中,该母流动区域和子流动区域都作为处理完毕对待。
在图30中,首先,获得母流动区域的尺寸(步骤3001)。然后获得布局的内容(即与流动区域关联的子模板的尺寸)(步骤3002)。然后,当把该子模板尺寸的内容只按照变量Num的值(布置在流动区域内的内容的数)布置在母流动区域内时,判断是否发生溢出(步骤3003)。即判断在流动区域内无间隙地排列内容,是否能容纳Num的内容。例如能从子模板的纵横尺寸和流动区域的纵横尺寸,对于纵横各方向求出能布置子模板的最大数,通过乘以该数,能求出可以布置的子模板的最大数。在该值和变量Num的比较中,步骤3003可以判断。
如果发生溢出,就获得子流动区域的尺寸(步骤3004)。然后,包含主流动区域和子流动区域的尺寸,计算子模板的布局尺寸(步骤3005)。可是,母流动区域和子流动区域是不同的区,所以无法简单地把面积相加。首先,判定在母流动区域中容纳不下的数的内容若不缩小是否可容纳在子流动区域中。如果容纳,则缩小率为1。从而,布局的内容的尺寸是子模板的尺寸。
另一方面,如果不容纳,就用相同的缩小比率缩小全部内容。这时的计算方法与图19的流程中说明的方法在原则上相同,但是确定缩小比率,使得收容在母子流动区域中的内容数大于等于Num的最低的数。因此,考虑到尝试确定缩小比率的方法,即求出收容在流动区域中的内容数增加的最大的缩小比率,用该缩小比率把内容缩小,仍无法容纳Num个内容时,求出收容在流动区域中的内容数增加的下一个较大的缩小比率。
计算后,用确定的缩小比率把各内容改变倍数,首先,布局到母流动区域中但无法完全布局的内容,以确定的缩小比率改变倍数,布置到子流动区域中。最后显示布局结果来结束(步骤3006)。
图29表示在链接的流动区域内布置内容的例子。流动区域2901、2902由区域链接2902链接。在母流动区域中布置内容2904,在子流动区域中布置内容2905。如图29所示,在流动区域2901中布置4个内容,但是在第4个内容中发生溢出。当没有区域链接的设定时,在区域内布置4个子模板,所以必须缩小一个个内容。可是,通过进行链接的设定,在流动区域2902中也能布置子模板,所以能把溢出的内容布置到此处。
这样不用缩小到由子模板定义的小于等于尺寸的尺寸,就能布置内容。此外,即使在缩小的情况下,与没有区域链接的情况相比,也能减小缩小比例。
此外,通过用区域链接结合矩形的流动区域,来提高流动区域的形状的自由度。
在本实施例中,说明由区域链接关联的区域是2个流动区域,但是通过设定区域链接的连锁,对于大于等于3个的多个流动区域,也能视为与一个流动区域相同。
本发明的实施例3说明把实施例1中布置在流动区域中的记录按照存储在数据库中的顺序取出来进行布局的例子。在本实施例中,说明可以由用户进行数据库的排序的自动布局系统。
在进行数据的排序的处理以外,进行与实施例1相同的处理,因此,对其省略说明。
图31和图32表示数据的排序的流程和对话框的例子。说明流程的各步骤。首先,显示数据排序对话框(步骤3101)。然后,在图32所示的对话框中进行数据的排序。
在图32中,3201表示对话框,3202表示连接的数据文件名,3203表示数据文件的数据数,3204表示指定以哪个顺序排序的单选按钮,3205表示输入把数据排序的条件的列表框,3206表示显示排序结果的显示区,3207表示滚动条,3208表示取消按钮,3209表示确定按钮。在该对话框中设定的是排序的顺序和排序的条件。
接着设定输入的排序条件(3102),把数据库排序(步骤3103)。然后显示排序的结果(3104)。在该图的例子中,对于指定的排序键价格,按升序排列,显示结果。用户确认结果后,如果指示再检索,就回到步骤3102,反复进行处理。如果检索结束,用户就按下确定按钮。这时,把排序的数据库保存来结束。如果用户按下取消按钮,就不反映结果来结束(步骤3105)。通过把数据排序,在符合布局的条件的数据中,用户就能选择想优先插入区域内的商品。
图31的处理由用户界面的显示和操作图1A的计算机101执行,排序处理自身由数据库服务器117执行。
这样,可以按照将指定的字段作为关键字来排序的顺序,把记录布置到文档上。
图35表示总括本发明的文件处理装置的主要结构元件的功能框图。该框图是在上述实施例中所述的、由计算机执行的步骤功能框图。
图35所示的按照要布局的数据动态地变更布局的文件处理装置包括按照具有用于布置数据的区域、布置在该区域中的数据的布置条件的模板3501a,生成把应该布局的数据中的满足上述布置条件的数据布置到指定该布置条件的区域中的文书3501c的布置部件3502。
或者,按照应该布局的数据动态地变更布局的文书处理装置包括生成具有用于布置数据的区域、布置在该区域中的数据的抽出条件的模板3501a的模板生成装置3501;按照模板3501a,生成要布局的数据中的、将满足上述抽出条件的数据布置到指定该抽出条件的区域中的文件的布置装置3501。
此外,布置部件3502按照另外定义的子模板3501b把从数据源获得的数据布局,生成上述要布局的数据,按照上述模板布置生成的数据。
子模板3501a具有布置在单一文件上的数据的条件、即多数据条件,上述布置装置3502把满足上述多数据条件的数据布置在单一文件中。
布置装置3502当布置在上述区域中的数据不能容纳在该区域中时,用同样的缩小比例缩小数据,布置到上述区域中。
模板3501a包含多个上述区域,对各区域能具有不同的抽出条件。
模板3501a包含多个上述区域,具有把上述多个区域关联的链接信息,布置装置3502当布置在上述区域中的数据不能容纳在上述多个区域中的一个区域中时,布置到由上述链接信息关联的其它区域中。
还具有把数据源的数据以给定关键字排序的排序装置3505。
模板3501a按每个上述局域具有要布局的数据的布局规则,布置装置3502按照布局规则在上述区域内布置要布局的数据。
<其它实施例>
本发明可以应用于包含单个装置的设备或应用于由多个装置组成的系统。
而且,可以这样来实现本发明直接或间接地向系统或设备供给能实现上述实施方式的功能的软件程序,用系统或设备的计算机读出供给的程序代码,然后执行该程序代码。在这种情况下,只要该系统或设备具有该程序的功能,实现的模式就不必依赖于程序。
因此,由于本发明的功能由计算机实现,安装在计算机中的程序代码本身也实现本发明。换句话说,本发明的权利要求也覆盖以实现本发明的功能为目的的计算机程序。
在这种情况下,只要该系统或设备具有该程序的功能,该程序就可以以任何形式执行。例如,作为目标代码,是由解释器执行的程序,或是供给到操作系统的脚本(scrip)数据。
作为供给程序的存储介质,例如,可以是软盘、硬盘、光盘、光磁盘、CD-ROM、CD-R、CD-RW、磁带、非易失性存储卡、ROM、以及DVD(DVD-ROM和DVD-R)。
关于供给程序的方法,一个客户计算机可以使用该客户计算机的浏览器连接到互联网的网站,并且本发明的计算机程序或该程序的可自动安装的压缩文件可以下载到例如硬盘的记录介质。而且,本发明的程序可以通过将构成该程序的程序代码划分为多个文件并从不同的网站下载该文件来进行供给。换句话说,本发明的权利要求还覆盖一个下载到多个用户的WWW(万维网)服务器,由计算机实现本发明的功能的程序文件。
而且,也能对本发明的程序加密并存储在存储介质例如CD-ROM上,向用户分配存储介质,允许符合某些要求的用户经互联网从网站下载加密的密码信息,并且允许这些用户通过使用密码信息对程序进行解密和重新加密,由此,该程序安装到用户的计算机中。
此外,除了由计算机通过读入程序来实现根据该实施方式的上述功能的情况之外,还可以运行在计算机上的操作系统等进行全部或部分的实际处理以便可由该处理实现上述实施方式的功能。
此外,在从存储介质中读出的程序写入到插入计算机内的功能扩展板或写入到提供在连接于计算机的功能扩展单元中的存储器之后,安装到功能扩展板上的CPU等或功能扩展单元,进行全部或部分的实际处理以便可由该处理实现上述实施方式的功能。
那些熟知本技术的人将容易获得附加的利益和修改。因此,本发明在其更广阔的意义上并不局限于这里表示和描述的特殊细节和代表性的实施例。因此,在不脱离附加的权利要求书和他们的相等物中定义的概括发明概念的精神或范围的前提下,能进行各种修改。
在不脱离本发明的精神和范围的前提下,可进行各种变更和变形,因此,可以理解为,本发明不限于上述具体实施方式
,而是用下面的权利要求中来限定。
权利要求
1.一种能够按照要进行布局的数据动态地变更布局的文件处理装置,包括模板保持单元,保持用于从数据库抽出要进行布局的数据并布置的、具有设定了抽出条件的区域的模板;取得单元,从上述数据库,取得上述要进行布局的数据,该数据满足对由上述模板保持单元保持的模板所具有的上述区域设定的抽出条件;以及布置单元,将由上述取得单元取得的至少一个的上述要进行布局的数据并列布置在上述区域中。
2.根据权利要求1所述的文件处理装置,其特征在于对上述区域,进一步设定用于确定布置上述数据的位置的多个布置条件;还包括选择指示单元,从上述多个布置条件选择用于布置上述要进行布局的数据的条件;上述布置单元,按照由上述选择指示单元选择出的布置条件,将上述数据布置在上述区域中。
3.根据权利要求2所述的文件处理装置,其特征在于,还包括显示单元,显示所选择的布置条件的候补;由上述显示单元显示的上述布置条件,按照由上述取得单元所取得的数据个数变更。
4.根据权利要求1所述的文件处理装置,其特征在于,还包括模板生成单元,生成包括上述区域的模板。
5.根据权利要求3所述的文件处理装置,其特征在于上述区域具有具备用于插入上述数据的局部区域的子模板,还包括布局调整单元,在上述子模板中对插入上述局部区域中的上述数据进行布局调整。
6.根据权利要求5所述的文件处理装置,其特征在于上述布置单元,按照由上述取得单元所取得的数据个数,确定上述子模板的尺寸。
7.根据权利要求6所述的文件处理装置,其特征在于对上述区域,进一步设定作为要进行布置的数据的条件的多数据条件;上述布置单元,将满足上述多数据条件的数据布置在上述区域中。
8.根据权利要求7所述的文件处理装置,其特征在于上述布置单元,当布置在上述区域中的数据在该区域中容纳不下时,以统一的缩小比例缩小上述数据,布置在上述区域中。
9.根据权利要求4所述的文件处理装置,其特征在于上述模板包括多个上述区域,可以对各区域设定相异的抽出条件。
10.根据权利要求8所述的文件处理装置,其特征在于上述模板包括多个上述区域,进一步设定对上述多个区域建立关联的链接信息;上述布置单元,当布置在上述区域中的数据在上述多个区域中的一个中容纳不下时,布置到由上述链接信息建立了关联的其它区域中。
11.根据权利要求7所述的文件处理装置,其特征在于,还包括排序器,对上述数据库的数据以给定的键进行排序。
12.根据权利要求5所述的文件处理装置,其特征在于上述子模板,具有要进行布局的数据的布局规则信息;上述布局调整单元,按照上述布局规则信息,在上述子模板上对要进行布局的数据进行布局。
13.根据权利要求9所述的文件处理装置,其特征在于进一步对上述区域设定要进行布置的数据个数的上限;当上述取得单元取得了上述所设定的数据个数的上限以上的数据时,上述布置单元,布置上述所设定的数据个数的数据。
14.一种可以按照要进行布局的数据动态地变更布局的文件处理方法,包括取得步骤,从数据库取得数据,所述数据满足对由模板保持单元所保持的模板中包含的区域设定的、用于布置要进行布局的数据的抽出条件;以及布置步骤,将由上述取得步骤所取得的至少一个的上述要进行布局的数据,并列布置在上述区域中。
15.根据权利要求14所述的文件处理方法,其特征在于对上述区域,进一步设定用于确定布置上述数据的位置的多个布置条件;还包括选择指示步骤,从上述多个布置条件中,选择用于布置上述要进行布局的数据的条件;在上述布置步骤中,按照由上述选择指示步骤所选择的布置条件,将上述数据布置在上述区域中。
16.根据权利要求15所述的文件处理方法,其特征在于,还包括显示步骤,在显示部显示所选择的布置条件的候补;由上述显示步骤显示的上述布置条件,按照由上述取得步骤所取得的数据个数变更。
17.根据权利要求14所述的文件处理方法,其特征在于,还包括模板生成步骤,生成包含上述区域的模板。
18.根据权利要求16所述的文件处理方法,其特征在于上述区域具有具备用于插入上述数据的局部区域的子模板,还包括布局调整步骤,在上述子模板中对插入上述局部区域中的上述数据进行布局调整。
19.根据权利要求18所述的文件处理方法,其特征在于在上述布置步骤中,按照由上述取得步骤所取得的数据个数,确定上述子模板的尺寸。
20.根据权利要求19所述的文件处理方法,其特征在于对上述区域,进一步设定作为要进行布置的数据的条件的多数据条件;在上述布置步骤中,将满足上述多数据条件的数据布置在上述区域中。
21.根据权利要求20所述的文件处理方法,其特征在于上述布置步骤,当布置在上述区域中的数据在该区域中容纳不下时,以统一的缩小比例缩小上述数据,布置在上述区域中。
22.根据权利要求17所述的文件处理方法,其特征在于上述模板包括多个上述区域,可以对各区域设定相异的抽出条件。
23.根据权利要求21所述的文件处理方法,其特征在于所述模板包括多个所述区域,进一步设定对上述多个区域建立关联的链接信息;在上述布置步骤中,当布置在上述区域中的数据在上述多个区域中的一个中容纳不下时,布置到由上述链接信息建立了关联的其它区域中。
24.根据权利要求20所述的文件处理方法,其特征在于,还包括排序步骤,对上述数据库的数据,以给定的键进行排序。
25.根据权利要求18所述的文件处理方法,其特征在于上述子模板,具有要进行布局的数据的布局规则信息;上述布局调整步骤,按照上述布局规则信息,在上述子模板上对要进行布局的数据进行布局。
26.根据权利要求22所述的文件处理方法,其特征在于对上述区域进一步设定要进行布置的数据个数的上限;当由上述取得步骤取得上述所设定的数据个数的上限以上的数据时,在上述布置步骤中,布置上述所设定的数据个数的数据。
全文摘要
当进行将多个记录布置在一个文件中的多记录型可变打印时,指定布置记录的条件。在模板上定义流动区域(2106、2107),再对各流动区域定义例如那里的记录的限制条件。另外,另外对流动区域将定义插入那里的数据布局的子模板(2108)关联。在打印和显示时,从数据库(2101)依次取得记录,用子模板将具有同一主列的记录布局,按照条件式布置向流动区域(2106)或(2107)中的任意一个匹配的一方布置。
文档编号G06F17/21GK1648846SQ200510005060
公开日2005年8月3日 申请日期2005年1月31日 优先权日2004年1月30日
发明者小桥和文, 原健太, 牧野顺 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1