CN100337188C - 布局处理方法和信息处理装置 - Google Patents
布局处理方法和信息处理装置 Download PDFInfo
- Publication number
- CN100337188C CN100337188C CNB2005100934784A CN200510093478A CN100337188C CN 100337188 C CN100337188 C CN 100337188C CN B2005100934784 A CNB2005100934784 A CN B2005100934784A CN 200510093478 A CN200510093478 A CN 200510093478A CN 100337188 C CN100337188 C CN 100337188C
- Authority
- CN
- China
- Prior art keywords
- container
- layout
- size
- data
- data area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/387—Composing, repositioning or otherwise geometrically modifying originals
- H04N1/3871—Composing, repositioning or otherwise geometrically modifying originals the composed originals being of different kinds, e.g. low- and high-resolution originals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1848—Generation of the printable image
- G06K15/1849—Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
- G06K15/1851—Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives parted in a plurality of segments per page
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Document Processing Apparatus (AREA)
- Processing Or Creating Images (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明提供一种布局处理方法和信息处理装置,根据插入多个容器的每一个中的内容数据,动态地变更具有该多个容器的模板的布局。判断是否从设定布局时的基准尺寸变更数据区域的尺寸,以适应插入该数据区域的内容数据的大小;在判断为从基准尺寸进行变更的情况下,根据插入各数据区域的内容数据的大小确定数据区域的尺寸,而在判断为不从基准尺寸进行变更的情况下,用基准尺寸确定数据区域的尺寸。这里,对于设定了第1布局属性的数据区域,在插入该数据区域的内容数据的大小小于该数据区域的基准尺寸,且未受到来自通过链接与该数据区域建立了关联的数据区域的影响的情况下,判断为不从基准尺寸进行变更。
Description
技术领域
本发明涉及一种用于生成、编辑并打印由文本、图像构成的文档的技术,更详细地说,涉及适于可变数据文档的生成、编辑及打印的技术。
背景技术
近年来,由于商品的多样化,商品寿命变短,随着互联网的普及,对消费者的客户服务增强等原因,CRM(Customer RelationshipManagement:客户关系管理)、一对一营销的必要性备受关注。这些方法,对于提高客户满意程度,开发、稳定客户,非常有效。
一对一营销是数据库营销的一种,把客户的年龄、性别、兴趣、爱好、购买经历等个人属性信息做成数据库,分析其内容,提出符合客户需求的方案。作为典型的具体做法,例如有可变打印。特别是,最近,随着DTP(desktop publishing:桌面出版系统)技术的进展和数字打印装置的普及,开发出对每个客户定制文件并输出的可变打印系统。在这样的可变打印系统中,要求为每个客户生成对不同的量的内容进行最佳布局的定制文件。
一般,在可变打印系统中,生成这样的定制文件时,在文档上对容器进行布局。容器是用于描画内容的局部区域,也称作字段区。即,在文档上对这样的容器进行布局,将数据库与布局建立关联(将数据库的各内容与各容器建立关联),通过这样的作业,生成定制文件(文档)。在本说明书中,将这样的文档称作可变数据文档。
在这样的可变打印系统中,可以将因顾客而异的内容插入进行了布局的各容器中。因此,当插入到内容中的数据的尺寸可变,而与之相对应容器的尺寸固定时,就产生以下的问题。例如,当插入比容器的尺寸大的尺寸的文本数据时,无法将所有文本显示在该容器内。或者,当插入比容器的尺寸大的尺寸的图像数据时,该图像的一部分就会缺失。将这样的问题称作溢出。
另外,当内容是图像数据时,还要考虑将该图像缩小,并描画在容器内,但有可能产生图像极小的弊端。此外,还提出了以下技术:在插入无法完全进入固定尺寸的容器内的文本数据时,可以缩小文本的字体尺寸,在该容器内显示所有文本。但会产生以下问题,在这样调节字体尺寸时,字体尺寸变得过小,从而造成文档整体的平衡被破坏,或变得难以阅读。
作为用于解决这样的问题的自动布局的技术,在日本特开平7-129658号公报的“布局设计装置”中公开了以下技术:当某容器的尺寸增大时,为了保持与相邻的容器的间隔,而减小该相邻的容器的尺寸。
但是,在上述专利文献1中,虽然记载了容器尺寸根据文本的输入而不断放大,但当容器的尺寸放大了时,相邻的容器为了保持间隔而被缩小了。因此,存在这样的问题,即:随着输入的文本量的增加,相邻的容器不断被缩小。
而且,在专利文献1中,没有考虑到通过将上述那样的数据库与各容器建立关联并插入内容数据,从而对每个顾客生成定制文件的可变打印系统。
另外,作为考虑了可变数据打印的布局方法,有生成固定的容器并在其中插入内容数据的方法。然而,在使用固定尺寸的容器时,如果插入比容器尺寸大的尺寸的内容数据,则产生溢出。另外,要想缩小字体尺寸而勉强地插入,则产生字体尺寸变得极小的问题。另外,人们考虑根据插入的内容数据的大小,使容器的尺寸放大或缩小。但是,在对多个容器建立了关联的状态下,当一个容器的尺寸被放大了时,只有随着一个容器的尺寸的放大而缩小相关联的容器,而不能进行考虑了容器间的尺寸平衡的布局处理。
这里,作为考虑建立了关联的多个容器间的尺寸平衡的布局方法,考虑在根据插入各容器的内容数据的大小变更各容器的尺寸的情况下,调整各容器尺寸的变化量的布局处理。通过这样的处理,建立了关联的容器可以进行考虑了尺寸平衡的布局处理。
但是,就该布局方法而言,容器的尺寸总是随着插入的内容数据的大小而变更。因此,即使在进行布局方面要维持预先设定好的容器尺寸时,容器尺寸也变更得违背了用户的意愿。
例如,当插入比容器尺寸大的尺寸的内容数据时,必须考虑溢出和字体尺寸,因此,希望容器尺寸根据内容数据的大小放大。然而,当插入比容器尺寸小的尺寸的内容数据时,用户未必希望与内容数据一致地缩小容器尺寸。例如,考虑希望维持预先设定了的容器的尺寸的情况。
如上所述,产生了下面的问题,即:即使在考虑要根据容器使用预先设定了的基准的尺寸进行布局的情况下,容器的尺寸也总是根据所插入的内容数据的大小变更,而不能得到用户想要的布局。
发明内容
本发明正是鉴于上述问题而完成的,其目的在于,通过使之能够对各容器设定能适当维持进行布局时所设定的数据区域(容器)的尺寸那样的布局属性,从而实现反映了用户意图的布局处理。
为了达到上述目的,本发明提供一种布局处理方法,根据插入多个数据区域的各区域中的内容数据,动态地变更具有该多个数据区域的模板的布局,所述布局处理方法包括:
判断步骤,判断是否在布局设定时的基准尺寸的基础上,变更数据区域的尺寸,以适应插入该数据区域的内容数据的大小;
布局确定步骤,在上述判断步骤判断为在基准尺寸的基础上进行变更的情况下,根据插入各数据区域的内容数据的大小,确定上述数据区域的尺寸,而在上述判断步骤判断为不改变基准尺寸的情况下,用上述基准尺寸确定上述数据区域的尺寸;
其中,上述判断步骤,对于设定了第1布局属性的数据区域,在插入该数据区域的内容数据的大小小于该数据区域的基准尺寸,且未受到来自通过链接与该数据区域建立了关联的数据区域的影响的情况下,判断为不改变基准尺寸。
本发明的其他特征和优点,将通过下面的参照附图进行的说明而得到明确。在所有附图中,相同的标号表示相同或类似的部分。
附图说明
附图包括在说明书中并构成说明书的一部分,用于说明本发明的实施例,并与说明书一起用于解释本发明的原理。
图1A是表示实施例的可变打印系统的结构的图。
图1B是表示图1A中的主计算机的结构的概要的图。
图1C是说明可变数据打印的概要的图。
图2是表示实施例的可变打印系统的其他结构的图。
图3是表示包括菜单栏、工具栏、工作区、选项托板的实施例的用户界面的例子的图。
图4是表示用户界面上的容器的显示例的图。
图5A~图5D是说明实施例的容器规则的图。
图6是说明实施例的链接的生成处理的流程图。
图7A~图7C是表示生成链接时的用户界面的变动例的图。
图8是表示实施例的布局引擎进行的布局计算处理的流程图。
图9是表示实施例的布局引擎进行的布局计算处理的流程图。
图10A~图10C是用于说明实施例的布局计算处理的图。
图11是说明实施例的布局计算时的容器的集合的图。
图12是表示通过可变链接配置了容器时的用户界面的显示例的图。
图13是说明用于通过实施例的用户界面设定可变链接的处理的流程图。
图14是表示实施例的链接的设定对话框的图。
图15是表示基于固定链接的布局结果的例子的图。
图16是表示基于可变链接的布局结果的例子的图。
图17A~图17F是说明本实施例的基准尺寸优先的布局方法的图。
图18A、图18B是说明基准尺寸优先的容器与内容尺寸优先的容器建立了关联时的布局处理的图。
图19A、图19B是说明基准尺寸优先的容器与内容尺寸优先的容器建立了关联时的布局处理的图。
图20A~图20C是说明基准尺寸优先的容器与内容尺寸优先的容器建立了关联时的布局处理的图。
图21A~图21C是表示基准尺寸优先的容器相互之间建立了关联时的布局处理的一例的图。
图22A、图22B是表示在本实施例的布局处理中容器尺寸不变的例子的图。
图23A是说明采用所设定的布局方法处理1个容器的程序的流程图。
图23B是表示图23A的基准尺寸处理的流程图。
图24是表示用于基于UI属性对话框进行设定处理的处理的流程图。
图25A~图25D是表示利用应用了基准尺寸优先的布局方法的容器的、典型的布局处理的例子的图。
图26是表示UI属性对话框的显示例的图。
图27A~图27F是说明内容尺寸优先的布局处理的图。
图28是表示基于布局编辑应用程序的布局编辑处理的功能结构的例子的图。
具体实施方式
下面,参照附图详细说明本发明的优选实施例。
<系统结构>
首先,参照图1A和图1B说明本实施例的可变打印系统的结构。图1A是表示用于打印可变数据文档的可变打印系统100的结构例的框图。此外,图1B是更详细地表示图1A所示的主计算机101的结构的框图。在本实施例中说明的可变打印处理,由作为布局调整装置的主计算机101(由通用计算机模块构成)执行。可以在系统100上实施的布局编辑应用程序121(本发明的布局调整程序),在主计算机101中,执行其整体或一部分。特别是用于布局编辑的处理、用于打印可变数据文档的处理,通过由主计算机101执行的软件来实现。
布局编辑应用程序121,存储在计算机的可读介质中,从该计算机的可读介质加载到主计算机101的存储器136中并执行。存储了这样的软件或计算机程序的计算机的可读介质是计算机程序产品。通过在计算机中使用该计算机程序产品,提供适于文档的布局编辑和可变打印的装置。
如图1B所示,在主计算机101上通过输入输出接口143,将键盘132、鼠标133那样的指示设备等作为输入装置连接。此外,通过视频接口137连接作为输出装置的显示装置144。还能通过输入输出接口138连接本地打印机145等。此外,输入输出接口138还具有将主计算机101连接到网络107上的功能。据此,能够通过网络将主计算机101连接在系统100内的其他计算机装置上。作为网络107的典型的例子,能够列举局域网(LAN)或广域网(WAN)。
此外,如图1B所示,主计算机101至少包含一个处理单元135、由例如半导体随机存储器(RAM)和只读存储器(ROM)构成的存储单元136。存储设备139包括:可以与存储程序等的计算机可读介质之间交换数据的硬盘驱动器140和floppy(注册商标)盘驱动器141。另外,虽然未在图1B显示,但还可以将磁带驱动器等作为存储设备139使用。CD-ROM驱动器142,作为非易失性的数据源来提供(当然,还可以通过CD-ROM提供计算机程序)。
主计算机101,按照GNU/LINUX或微软公司的windows(注册商标)那样的操作系统或典型的操作系统,或者根据基于在相关技术中已知技术所形成的计算机系统的常规操作模式的方法,通过相互连接的总线134,利用进行通信的、计算机模块101的构成部分135~143。即,由上述135~143表示的各结构,通过总线134可通信地连接起来,并由安装在主计算机101中的操作系统利用。
另外,作为图1B所示的主计算机101的例子,可以考虑IBM兼容PC,SUN的Sparcstation,或包括这些的计算机系统。
<布局编辑应用程序的概要>
在本实施例中,布局编辑应用程序121常驻在硬盘驱动器140中,由处理器135控制执行、读入。从布局编辑应用程序121的程序的媒介存储装置和从网络107取得的数据,对应于硬盘驱动器140而使用半导体存储器136。
在一个例子中,布局编辑应用程序121的已编码的程序,存储在CD-ROM或floppy(注册商标)盘上。并且,所存储的程序,通过相应的驱动器142、141读入,并安装到硬盘驱动器140上。或者,作为其他例子,布局编辑应用程序121,也可以从网络107读入主计算机101内,并安装到硬盘驱动器(HDD)140上。软件还可以从磁带,ROM,集成电路,光磁盘加载到主计算机101内。或者,也可以通过主计算机101与其他设备之间的红外线等无线通信,PCMCIA卡那样的计算机可读卡,以及电子邮件通信、包含带有WEB站点上的记录信息的互联网或企业内部互联网的其他适当的计算机,加载到主计算机101内。这些是计算机可读介质的例子,当然,还可以使用其他计算机可读介质。
在图1A中,本发明的布局编辑应用程序121,使计算机进行可变打印(也叫做可变数据打印(VDP))。布局编辑应用程序121包含2个软件组件,即,布局引擎105和用户界面103。布局引擎105是这样的软件组件,即:按照给与作为局部区域的容器(矩形的范围)的尺寸和位置的限定,从存储在数据库119中的可变数据中,逐个地读入记录。并且,根据所读入的数据和容器的限定,计算插入所读入的数据的容器的大小和位置等。此外,在本实施例中,布局引擎105还进行,描画分配给容器的数据,生成可变数据文档的图像的处理。但本发明不限于此,布局引擎105还可以作为确定各局部区域(容器)的尺寸和位置的应用程序而工作。并且,通过向省略图示的打印机驱动器(printer driver)输出描画信息,打印机驱动器进行可变数据文档的图像描画处理,生成打印数据。用户界面103,可以由用户进行容器的布局和属性设定,使用户生成文档模板。此外,用户界面103提供使文档模板内的各容器和数据源建立关联的机制(mechanism)。用户界面103和布局引擎105通过信道123通信。
图1C是说明本实施例的可变数据打印的概要的图。通过布局编辑应用程序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上。在图1C中,如上所述,布局编辑应用程序121的布局引擎105,生成由合并了数据的文档模板构成的可变数据文档。这些文档,保存在主计算机101的本地文件系统中,或保存在文件服务器115上,或被发送给打印机113打印。打印服务器109是用于向没有直接连接到网络的打印机提供网络功能的计算机。打印服务器109和打印机113通过一般的信道111连接。
<其他的系统结构例>
图2是与图1A类似的框图,但追加了引擎服务器227。存储在引擎服务器227中的布局引擎225,是布局引擎105的分离版本(version)。一般的计算机用于引擎服务器227。为了根据打印或其他目的生成可变数据文档,布局引擎225,将保存在文件服务器115中的文档模板和保存在数据库119中的数据结合。这样的操作通过用户界面103来请求。
<布局编辑应用程序的说明>
下面,说明布局编辑应用程序121。
[主窗口]
用户界面103,在操作时在视频显示器144上,显示由图3所示的应用程序窗口301形成的用户界面画面。该窗口301具有菜单栏302、工具栏303、工作区306和选项托板311。菜单栏302、工具栏303可以不显示,或移动到屏幕上的各种地方。此外,工作区306可以通过鼠标133的操作使其移动地方。此外,托板311是可选的,光标/指示设备313表示鼠标133所指示的位置。
菜单栏302,作为公知的技术如人们所知那样,具有在菜单选项的层级下扩展的多个菜单项304。
工具栏303具有,可以通过应用程序的特殊模式变成不显示状态或变成显示状态的,多个工具按钮和控件305。
标尺308是可选的,用于显示工作区内的指针、页面、行、边缘引导(margin guide)、容器或对象的位置。
托板311用于调用可变数据库那样的追加功能。托板311具有用于进行移动、尺寸调整、关闭的窗口控件312。托板311是可选的,能够显示在工作区的前面,或隐藏在对象的背面。托板311被限定只能在应用程序窗口301的范围内显示,或允许在应用程序窗口301的外侧显示其一部分或整体。
在工具栏303上配置有图4所示的、可由用户选择的“按钮”。
(1)选择工具按钮403:用于进行容器的边的选择、移动、尺寸变更、尺寸调整以及锁住/解锁。容器的选择,通过在容器的周围拖动选择框来进行。此外,可以一边按住CTRL键,一边对多个容器进行选择,通过这样的操作来选择多个容器。
(2)文本容器工具按钮404:用于生成具有静态或可变文本的容器。
(3)图像容器工具按钮405:用于生成具有静态或可变图像的容器。
(4)链接工具按钮406:用于生成在容器之间进行关联的链接,还用于控制链接的距离。
布局编辑应用程序121的如图3所示的应用程序窗口301,通过在页面内对各容器和链接进行布局,可以确定基本布局。所谓基本布局,就是在可变数据打印中作为基本的布局。当基本布局内的各容器为固定容器时,所有记录的打印结果的布局相同。此外,当基本布局内的各容器为后述的可变容器时,根据以记录为单位读入的数据的量和尺寸,在后述的限定的范围内变动各容器的尺寸和位置。因此,由布局编辑应用程序121生成的文档模板,最终确定基本布局。当包括可变容器时,最终的打印品的布局,根据所读入的数据进行布局调整。
[文档模板]
在图3中,工作区306用于显示和编辑文档模板(180:基本布局)的设计。另外,有时也将文档模板简称为模板。它可以在用户设计文档模板的过程中,向用户显示要打印的文档的概貌。由此,用户能够容易地理解与数据源(190)合并了的文档,如何基于可变数据的量和尺寸而变化。
此外,当数据源与文档模板建立了关联时,在布局后的各容器上显示相应的可变文本和图像,以便能够进行当前文档的预览。
进行文档模板中的文档构造和可变数据容器的描写的可视的线索(容器的框线、锚点、滑块、链接等),总是在生成文档模板时显示。并且,当进行插入可变数据的预览时,在使光标移动到容器上,或选择了容器时,显示可视的线索。
工作区306包括滚动条307、可选的标尺308和文档模板309。文档模板309能够表示有多个页面。此外,文档模板309表示图1C的文档模板180。
所给出的文档模板的页面尺寸,用公知的技术,由用户指定。例如,通过从菜单的“文件”选择“页面设定”,显示设定页面尺寸的对话框,在那里反映用户指定的页面尺寸。各文档中的实际的页数,有可能根据建立了关联的数据源内的可变数据变化。这是因为,当在文档模板内像可变表那样设定根据可变数据的量而变更大小的字段的情况下,当读入的可变数据无法容纳在1页内时,自动生成追加的页面。
在各页面内显示的边界线310,是表示页面上的可打印的对象的最大宽度的、任意的页边距。
图4是表示能在1个页面的文档模板309上显示的对象的例子的图。作为这样的对象,具有:容器407、408,任意使用的锚点图标409,固定的边411、414,未固定的边410,链接412以及滑块413。锚点图标409可以设定在容器的矩形的角、边、或容器的中央。当设定锚点图标409时,所设定的地方的位置固定。即,在图4的例子中,锚点图标409,设定在容器407的左上角。因此,表示当容器407插入可变数据,可变数据的图像尺寸或文本量多时,能够向右和向下放大。当锚点图标409被设定在边上时,能够固定该边,而向其余3个边的各方向放大。此外,当锚点图标409被设定在容器的中央时,能够固定容器的中央位置,容器矩形的中央位置不变地向4个方向放大。链接412将在后面详细叙述,它表示容器407和容器408建立了关联,表示在保持对该链接设定的长度(可指定范围)的同时,容器408能向右移动。滑块413表示能够在与所设定的边水平的方向上移动。
[容器]
这里,对容器进行说明。容器是将固定或可变的文本/图像,从可变数据文件插入文档模板内,并描画的空间(将其称作局部区域或数据区域),如图4所示,与其他容器和对象一起布局。通过用户界面画面,按照来自用户的操作指示,通过鼠标133的操作,对容器进行移动、尺寸调整和再生成。另外,将插入容器中的数据作为内容或内容数据。
更正确地说,容器具有设定的集合、可视的表现以及交互作用(interaction)和编辑动作。以下是对本实施例的容器的定义。
(1)容器具有固定或可变的内容。可变内容是指,从数据源取得的数据有可能在各文档即各记录上不同,可以说是动态(活动)的。但是,作为本实施例的可变内容,动画的内容或以其他方法按时间变化的内容,因为不适合打印,所以,不打算在此讨论。同样,固定内容在使用1个容器生成的所有文档中,相同地表示。但是,当设定了可变内容和链接时,受可变内容的影响,固定内容有可能在各文档中位置不同。
(2)容器具有用于内容的背景色、边界、字体风格那样的与文本设定相同的装饰功能。将这样的设定称作容器属性。容器属性能对每个容器设定,但也能够进行是与某容器相同的容器属性的设定。
(3)容器在生成文档时,与来自数据源的数据合并。装饰功能在所打印的输出品中是可视的,这在任何固定内容中也是如此。可变内容提供来自数据源的特定数据的显示。容器的该表达方式,能够被打印,或在视频显示器144的屏幕上显示。
(4)如图4所示,容器具有作为可视的线索的用户界面。例如,具有用于容器的编辑和显示设定的交互式图形用户界面(GUI)。GUI的各元素显示在视频显示器144的屏幕上,但不作为文档打印。布局编辑应用程序121的用户界面103,显示背景色和字体那样的容器的若干装饰功能,还具有能够对容器的设定进行编辑和显示功能。
[对容器的限定]
容器具有关于控制如何结合显示在各文档中的内容的限定。这些限定(包括将固定/可变内容与容器结合),是用户通过一个文档模板控制多个文档的主要方法。作为限定的一个例子,有“该容器的内容高度最大值为4英寸”。此外,其他的限定的例子,有“容器的内容的左边,在各文档中必须在相同的水平位置显示”。在此所述的内容,是用于使用GUI,显示、编辑这样的限定的各种方法。
在数字打印技术中,已知有为了具有将图像定义在页面上的地方,而指定固定内容的布置的内容占位符。容器具有位置和尺寸,以在公开的技术中已知的方法编辑、显示它们。因此,在以下的说明中,聚焦于可变数据打印方面特殊的方法中的显示和编辑。
通过使用容器,用户能够指定文档的内容的尺寸(描画尺寸)和位置。因为通过一个文档模板生成多种文档,所以,对容器设定多个可能性和限定,而为了这些设定(指定)和显示,使用预定的用户界面。
一个容器的边,定义在文档内显示建立了关联的内容的虚拟的边界线。因此,提到容器的左边,与提到能在各文档中显示关联的内容的区域内的最左的边是相同的。同样,提到容器的高度,可以理解为在所生成的文档中关联的内容的高度的限定。在本说明书中,当参照用户界面103提到容器的边或大小时,该区别变得清楚。
在以下的记载中,定义用于限定内容的显示的某个值的用语“固定”,在所有文档中都是相同的。
(1)当容器的宽度固定时,分配给关联的内容的宽度,在所有文档中都相同。
(2)当容器的高度固定时,分配给关联的内容的高度,在所有文档中都相同。
(3)当距离(链接的长度)固定时,所指定的距离,为所有文档的限定。
(4)当容器的左右边固定时,意味着关于页面的边的水平位置,在所有文档中都相同。但是,容器的高度或垂直方向的位置有可能变化。例如,当容器的左边固定时,关联的内容的显示位置,在所有文档中其左边的位置为相同的水平位置,但有可能在某文档中显示在页面的上方,而在其他文档中则显示在页面的下方。
(5)当容器的上下边固定时,意味着页面的边的垂直位置在所有文档中都相同。但是,容器的宽度或水平位置有可能根据文档变化。
(6)容器的垂直轴是与容器的右边和左边平行,位于其中间的虚拟的垂直线。如果容器的垂直轴固定,则该容器的左右边的水平位置的平均(即,左右的中央位置)在所有文档中都相同。在该限定下,容器的宽度有可能变化。但是,从左右边离垂直轴最远的容器到最近的容器,垂直轴在所有文档中都处于相同的水平位置。另外,容器的高度和垂直位置不受该限定的影响。
(7)同样地,如果水平轴固定,则容器的上边和下边的平均位置被限定在垂直方向上的同一位置。但是,容器的宽度和水平位置不受该限定的影响。
(8)当水平轴和垂直轴均固定时,意味着容器的中心位置被固定。但是,容器的宽度和高度不,受该限定的影响。
(9)当容器的角位置、容器的边的中间位置、或容器的中心位置固定时,各位置在所有文档中都处于相同的地方。例如,如果容器的左上角固定,则意味着所配置的容器的左上位置在所有文档中都相同。
(10)垂直边或垂直轴,可以与页面的左边或右边,或左页边距或右页边距,或其他水平位置建立关联而固定。同样地,水平边或水平轴,可以与页面的上边或下边,或上下页边距,或其他垂直位置建立关联而固定。
“固定”的反意词是“可变”,“可变”意味着容器的边、轴、角、中间位置或文档限定,可能在文档间(记录间)变化。例如,在页面内,希望根据可变数据的尺寸和量,动态地变更布局,但对于特定的容器,有时希望固定大小和位置,另外,有时希望使页面的角上的容器的四角固定。因此,在本布局编辑应用程序121中,能够对各容器(局部区域),适当地设定是固定边、轴、角和中间位置,还是使其可变。由此,当用户确定文档模板180的基本布局时,能够如用户所希望的那样生成基本布局。
[容器的显示和编辑]
(新的容器的生成方法)
容器包括文本容器和图像容器2种。文本容器具有文本和嵌入的图像。图像容器只具有图像。
如图4所示,通过用鼠标133点击文本容器工具404或图像容器工具405,在文档模板309上拖动四边形,从而在该文档模板309上生成新文本容器或图像容器。
或者,还可以在激活适当的工具404、405后,通过在文档模板309上点击,来简单地生成容器。这时,按照鼠标133的点击操作,在模板上插入默认尺寸的容器,并且,提供用于设定该新容器的尺寸等的对话框或其他提示。另外,容器的尺寸可以自动地提前定义,或者考虑由计算出的分离器(skimmer)生成、配置,等各种方法。能够用鼠标等输入装置选择在此生成的容器,通过右击进行属性的指示等操作,从而显示容器的属性对话框,设定容器的限定。在容器的属性对话UI(相当于局部区域设定装置)中,能够设定上述各种限定。此外,在容器的属性对话框中,能够确定容器的尺寸(宽度、高度)和位置,当为可变尺寸时,可以设定容器的基本图形(基本尺寸和基准位置),还可以设定最大容器尺寸(宽度、高度)和最小容器尺寸(宽度、高度)。用上述那样的手段所设定的容器的尺寸是布局设定时的基准尺寸,在此对所设定的容器插入可变数据(内容数据)。另外,该基准尺寸有时也根据插入的内容数据的大小或关联的容器的尺寸变更而变更,其细节将在后面说明。
[容器的显示方法]
图5A~图5D举例说明关于容器的边的显示规则。
布局编辑应用程序121,为了表现容器的边的状态,用实线(项目503)或虚线(504)表示边,并且,使用以下部分:锚点(如在边的附近描画的506、507、509所示的线、形状、图标)、句柄(为了进行移动、修改,在区域的边上或附近描画的控制点502)、滑块(在边的两侧描画的短平行线,图4的413)、放大缩小图标(505)以及颜色。
图5A~图5D所示的容器显示方法的规则如下所述。
(1)为了固定各边,用实线描画。
(2)宽度固定时,用实线描画左边和右边。
(3)高度固定时,用实线描画上边和下边。
(4)不描画轴。
(5)在尚未由(1)~(3)描画的各边的附近描画放大缩小图标,以虚线描画这些边。
(6)在垂直边和水平边,或垂直轴和水平轴的各线对中,如果两者固定,则在其相交点描画锚点。
(7)在各固定边上,如果在边的任意位置都未描画锚点,则在边的中央描画滑块。
(8)在垂直边和水平边,或垂直轴和水平轴的各线对中,如果尚未描画锚点和滑块,则在其相交点描画句柄。
由规则(1)、(2)、(3)定义的线,如上所述,被固定或被限定,因此用实线描画。像规则(5)那样,可变的边以虚线描画。由规则(6)、(7)、(8)定义的,固定的点表示锚点,几条固定的边表示滑块,其他表示句柄。
由用户后来所设定的限定,优先于上述规则。即,当以后设定其他限定时,如果上述规则影响要描画的边,则变更实线和虚线的描画内容。
描画可变的边的地方,依赖于容器的内容。如后面将要说明的那样,使用“动态校正处理”,“动态校正处理”的意思是,在将内容合并到文档模板中,且在用户界面上成为可见的。能够使用其他方法进行替代的执行,用于在所有文档中被平均化的容器的内容区或用户界面上,确定可变的边的布局位置。
这些内容的表现,提供表示容器的各边的状态的图解(graphical)手段。该表现的解释如下所述。
(1)如图4的边410那样,虚线意味着,根据容器的内容,文档内的边的位置发生变化。
(2)实线意味着被限定的边,这是因为以实线表示的边固定(边414),或容器的宽度和高度固定(在容器408中,4条边是实线,两者均固定)。
(3)锚点意味着边或轴交叉的地方固定。因此,锚点在使用了包括该锚点的文档模板的所有文档中,出现在同一水平、垂直位置。当然,锚点被固定。图4的图标409是锚点图标的例子,意味着边414的交叉位置固定。
(4)滑块意味着相关的边的长度固定,但有可能并行移动。例如,在图4中,滑块413表示容器408的内容,显示在文档内以特定的图表表示的位置的左或右。例如,当插入与容器408建立了关联(设定了链接)的容器407的数据的图像尺寸或文本量少时,容器407的尺寸变小。因此,容器408向左滑动(并行移动)地布置并显示。此外,当容器407的尺寸变大时,相反地,容器408向右滑动地布置。
根据对哪个工具、哪个容器进行选择、加亮或激活,对这些图标和边的几个或全部,进行描画或不描画。一般地,容器的边和图标是设计文档模板的工具,所以,在打印品中不描画。
另外,如上所述,容器的宽度和高度的基本值、最小值、最大值的基本图形的设定,显示在附属对话框中。
在图5A中,容器501的宽度和高度二者均不固定(可变)。固定的边503用实线表示,可变的边504用虚线表示。放大缩小图标505表示相邻的边504可变。也可以代替或追加地使用其他形式的指示器(indicator)。
在图5B中,容器501的宽度和高度二者均可变。为了明确地表示交叉的两条边503的角的位置被固定,而添加锚点图标506。
在图5C中,容器501表示这样的状态,即:容器的宽度和高度二者均可变,以任意的锚点图标507表示的点为中心,均等地扩展周围。即,容器501能够以锚点图标507为中心放大或缩小。这里的放大/缩小是指,锚点图标507的位置总处于容器501的中心点那样地,进行布局调整。
在图5D中,容器501的上边508固定,但宽度和高度二者均可变。位于上边508的中心地显示的锚点图标509固定。而且,容器501的左边和右边,放大、缩小在通过锚点图标509垂直地描绘的中心轴(垂直轴)的周围。
[链接]
链接表示容器与容器之间的关联。所谓关联,表示容器间的距离,通过链接建立了关联的容器之间,受到相互的布局变更的影响地计算布局。这里所说的相互的布局变更的影响,是指根据所插入的内容数据,由于容器的基准尺寸变更而产生的容器间的推挤(后述的“推力”或“拉力”)。图4的412所示的部分就是链接,在图4中,将容器407与容器408建立了关联。关于链接的设定方法,以及通过链接建立了关联的容器的布局计算方法,将在后面说明。
[链接的设定方法]
下面,说明用于在容器之间建立关联的链接的设定。图6是表示链接的设定方法的流程图。此外,图7A~图7C表示设定链接时的用户界面(UI)的变化例。用图6、图7A~图7C说明对容器设定链接的方法。
首先,在步骤S601中,布局编辑应用程序121,在用户界面画面的工作区306上,显示为编辑而选择出的文档模板。为了设定链接,需要在文档模板上,生成用于设定链接的容器(最少2个)。用图7A~图7C,表示在步骤S601生成2个容器,再设定链接时的用户界面的变化例。
接着,在步骤S602中,布局编辑应用程序121,判断上述链接工具是否变为选择状态(通过点击图4的按钮406,变为选择状态)。如果链接工具不是选择状态,则根据需要执行其他的各种处理(步骤S609),回到步骤S602。
在图7A中,设容器701和702全部由固定的边构成。此外,703和704与图4的409相同,意味着锚点。705意味着鼠标指针。那么,在链接工具为选择状态期间,用户点击设定链接的2个容器中的一个(称为容器701)来选择。按照该操作,布局编辑应用程序121的用户界面103,识别指定了第1容器(步骤S603),保持特别指定所选择的容器的信息。此外,在画面上显示与以后的鼠标指针的移动对应的轨迹(步骤S604)。例如,图7B的线段706,表示将图7A的状态下的点击位置与当前的鼠标指针的位置连接的线,可以通过该UI向用户明确表示在哪个位置设定链接。
接着,如图7B所示,用户将鼠标指针移动到另一个容器(容器702)并点击。按照该操作,用户界面103识别指定了第2容器(步骤S605),布局编辑应用程序121,在由步骤S604保持的第1容器,和由步骤S605识别出指定的第2容器之间设定链接(步骤S606)。
这样,在由用户选择出的两个容器701、702之间设定链接时,显示链接UI707(步骤S607)。进而,接受该链接设定,容器的显示状态成为图7C的状态(步骤S608)。即,通过设定链接,自动地变更容器的UI。这里,由链接建立了关联的边为可变,以虚线表示。在图7C中,708是以虚线表示的边,表示上述那样可变的边。
另外,像图7C那样的容器的边的状态的变化,是由于设定了链接而需要使容器的边可变,从而自动地执行,其目的在于,防止发生尽管设定了链接但所有的边却是固定的这样的矛盾。此外,709与图5A~图5D中的505相同,是通过设定链接,在视觉上对用户表示容器能够发生变化的方向的标记。此外,在图7C的例子中,左侧的容器的右边和右侧的容器的左边变为可变的状态,但这是一个例子,例如,右侧的容器也可以变化为具有图4的413所示的滑块的设定。
<布局引擎进行的布局计算处理>
[布局计算方法(整体流程)]
本实施例的布局编辑应用程序具有布局模式,该布局模式使用用户界面103生成容器,并在该容器之间进行关联(链接设定),从而生成布局。另外,本实施例的布局编辑应用程序具有预览模式,该预览模式通过布局引擎105,将数据源的各记录插入所生成的布局,并预览实际插入了记录之后的布局结果。在该预览模式中,插入实际的记录,按照上述优先级计算布局。但是,预览模式是在显示上的布局计算。在实际打印时,布局引擎105也向各容器插入数据并计算布局,而此时的计算方法与预览模式相同。
图8表示布局计算的流程。首先,选择预览模式(步骤S801)。如果是预览模式,则布局编辑应用程序121,使用户从数据源选择要预览的记录,确定将所选择的记录的各字段数据插入各容器(步骤S802)。当确定向各容器插入字段数据后,布局编辑应用程序121,进行用于对该记录进行布局的计算,并根据需要进行布局调整(步骤S803)。步骤S803中的布局计算的细节,将在后面说明。进而,布局编辑应用程序121,显示在步骤S803计算出的布局(步骤S804)。布局编辑应用程序121,根据用户的指示判断是否还对其他记录进行预览(步骤S805)。如果在步骤S805中判断为不必对其他记录进行预览,则结束预览模式(步骤S807)。如果判断为对其他记录进行预览,则布局编辑应用程序121,选择其他记录再次进行布局计算,进行预览(步骤S806)。
另外,在非预览模式下进行打印时,依次对要打印的全部记录进行布局的计算。因此,步骤S804不存在,步骤S805进行是否已将要打印的记录全部处理的判断。将在步骤S803中进行了布局计算的结果,进行描画输出,用打印机驱动器生成为打印数据,并在打印机中输出打印数据。此时,在对于所有记录(为了打印而被指定的所有记录),打印数据的输出结束的时刻,结束本处理。
[布局计算方法(细节)]
下面,说明基于上述步骤S803进行的布局计算的细节。图9是表示本实施例的未设定布局的优先级时的布局计算的方法的流程图。此外,图10A~图10C是表示此时的UI显示例的图。另外,由于图9只是用于说明布局计算的处理方法的流程图,所以,相当于对可变数据打印的1个记录进行打印/预览时的布局计算方法。当为多个记录时,重复进行以下的处理。这些处理通过主计算机101内的处理器135控制而实现。
首先,布局编辑应用程序121,求出计算布局的容器的集合(步骤S901)。布局计算,将建立了关联的容器作为一个集合进行计算。例如,参照图11,在页面上布置好4个容器,并对各容器设定了关联。此时,容器A与容器B、容器C与容器D通过链接建立了关联。因此,容器A、B成为集合1,容器C、D成为集合2。即,将由链接所连接的容器组指定为一个集合。如上所述,1101表示锚点,1102表示固定的边,1103表示控制器,1104表示指示着可变的边的变化方向的箭头,1105表示可变的边,1106表示链接,1107表示滑块。
接着,布局编辑应用程序121,从在步骤S901求出的容器的集合中,选择一个用于计算布局(步骤S902)。然后,对所选择出的容器的集合,进行布局的计算。首先,对所选择出的容器的集合中包含的可变元素即2个容器(A、B),根据所插入的内容数据的图像尺寸或文本量,计算各容器不受任何限定时的大小。
具体而言,布局编辑应用程序121,判断容器A是图像数据用容器,还是文本用容器。该判断如上所述,可以根据对容器设定的属性来进行判断。接着,布局编辑应用程序121,读入插入容器A的数据,当容器A为图像数据用容器时,该图像数据的尺寸(宽度、高度的像素数以及析像度)为不受容器A的限定时的尺寸。此外,当容器A为文本用容器时,该文本数据也可以基于字符数,由容器A的容器属性指定的字体类型、字体尺寸、字符间距、行间距等字符属性,计算要插入容器A的数据量。布局编辑应用程序121,能够识别处于数据源的内容数据和建立了关联的容器的属性。还能够通过上述计算,计算出内容数据的大小,从而判断是否与容器的基准尺寸不同。另外,当内容数据的大小与容器的基准尺寸不同时,也能够判断其大小关系。
这里,当是文本用容器时,如果不考虑限定就无法确定容器A的纵横比例,因此,适用限定。在图11的例子中,容器A在左上角和左下角设定了锚点,因此,高度(纵向)固定。由此,布局编辑应用程序121,判断是否能够将计算出的数据量(文本量)的字符,插入作为容器A的基本图形设定的宽度(横向)可变的容器A中。当判断为能够全部插入时,容器A的以基本图形设定的尺寸(宽度、高度)不变更。此外,当判断为不能全部插入时,容器A通过设定锚点而高度固定,因此,向横向延伸。这里,布局编辑应用程序121,计算容器A的宽度变为多少能插入所计算的数据量的字符,并算出容器A的尺寸。
接着,布局编辑应用程序121进行布局的最优化,使得尽可能地减小被布局的容器尺寸与实际的内容尺寸的差(步骤S903)。布局的最优化这样进行,即:使得在可动态地改变尺寸地建立了关联的容器中,插入各容器的内容的尺寸与被布局的容器的尺寸的差,尽可能相同。布局编辑应用程序121,求出在步骤S902中计算出的容器的集合的尺寸,即,容器A、容器B及链接1106(这里为固定链接)的合计尺寸,并求出该合计尺寸与基本布局中的该容器的集合的尺寸(在图11的例子中,相当于容器A与容器B的各自的锚点图标的距离)的差。当在上述步骤计算出容器A或容器B的宽度增大时,产生差值。布局编辑应用程序121,通过将该差值平均分配给容器的集合中的各元素,来进行布局调整。
布局编辑应用程序121,进行布局的最优化,当违反了规则时,再次计算使得不违反规则(步骤S904)。这里所说的规则,是由用户在布局生成时设定的限定,是容器的尺寸的可变范围、位置的限定,在可变链接时链接长度的变化的限定等。如果没有违反规则地计算了布局,则该集合的布局完成。并且,布局编辑应用程序121,对页面上的所有集合实施步骤S902~S904的处理,计算页面整体的布局(步骤S905)。
图10A~图10C是未设定优先级的布局时的UI例。
图10A表示某记录被插入、布局已被确定的状态。1001和1002表示锚点,1003和1004表示固定的边,1005表示可变的边,1006表示指示着可变的边的变化方向的箭头,1008表示链接。在该状态下,变更记录,插入不同尺寸的内容。图10B表示将新的内容的尺寸重叠于图10A的状态上。1009表示在各自的容器中插入的内容的尺寸。然后,进行布局的计算。图10C表示布局计算后的结果。进行计算,使得计算后的各容器的尺寸,与实际插入的内容的尺寸的差相等,且不违反上述规则。如图10C所示,图10B所示的所插入的内容尺寸(1009)与计算后的内容尺寸(1010),两者具有同等的差异。
[长度可变的链接的设定]
图12表示用于设定可变链接的用户界面。与图4相同,具有应用程序窗口301和工具栏303。在图12的状态下,在文档模板309上存在容器1203和容器1204。容器1203包括锚点图标1201和固定的边1205;容器1204包括锚点图标1202和固定的边1206。在容器1203与1204之间具有可变尺寸的链接1209,连接着容器1203与容器1204。因为在容器1203与容器1204之间设定有链接,所以,容器1203的右边1207和容器1204左边1208用虚线表示。因此,指示器1210、指示器1211,显示在各容器上,分别表示边1207和边1208可变。
此外,图14是链接设定装置中的用户界面画面,是用于设定链接1209的信息的对话框1401的例子。该对话框由以下部分构成:标题栏1402、工具按钮1403、进行对话框的开关的按钮1404、设定各种信息的区域1409。在该对话框中,可以进行链接类型是可变长度(1407)的链接,还是固定长度(1406)的链接的择一性选择。当链接类型可变时,可以设定链接长度的最小值(最小距离1410)、最大值(最大距离1412)以及基准值(基准距离1411)。图14的对话框1401,在下述情况下显示,例如,通过用图6、图7A~图7C说明的链接的设定操作,在2个容器之间设定了链接之后,在通过点击等操作选择设定的链接时显示。或者,也可以在刚设定了链接之后,自动显示关于该链接的对话框1401。这里,各容器之间的距离的基准值1411,是在插入了数据时各容器的尺寸没有变更的情况下,所使用的链接的长度。
图13是说明利用本实施例的用户界面103进行的可变链接的设定程序的流程图。例如,在图11的容器A与容器B之间,以用图6、图7A~图7C说明的程序设置链接时,首先设置固定尺寸的链接。然后,选择该链接执行图13所示的处理,从而能够使该链接,从固定尺寸的链接1106(图11)的状态,变化成可变尺寸的链接1209(图12)。这些处理通过主计算机101内的处理器135的控制而实现。
首先,用鼠标将所需要的链接(例如,链接1106)设置成选择状态,当进行用于显示链接属性的预定的操作时,将布局编辑应用程序121的用户界面103,作为链接属性的显示指示的输入来识别(步骤S1301)。当识别链接属性的显示指示后,显示与选择状态的链接(以下,称作对象链接)对应的属性对话框1401(图14)。接着,用户界面103显示链接属性(步骤S 1302)。另外,作为链接的选择操作,与设定容器的基本图形时相同,也可以是鼠标的右击或键盘的特定键的操作等的任意一个。
在步骤S1302显示的对话框1401上显示所选择的链接的当前状态。在本例中,因为选择了链接1106,所以,在该阶段链接尺寸固定,在链接类型1405中,表示固定长度的固定长度1406已被选择。
为了在该对话框1401中,将链接从固定尺寸变更为可变尺寸,在链接类型1405中,选择用于将链接尺寸设定为可变的可变长度1407。由此,在链接距离1408内配置着的最大距离1412、最小距离1410、基准距离1411变为有效,并可以进行数值的设定。用户为了设定链接的可变尺寸,在最大距离1412中设定该链接长度的最大值,在最小距离1410中设定最小值,在基准距离1411中设定当前值。
当结束设定时,用户通过一般的对话框开关按钮1404指示该设定的应用。用户界面103,当检测出该指示后,处理从步骤S1303向步骤S1304以后进展,使该对象链接反映上述设定状态。
即,首先,在步骤S1304中,布局编辑应用程序121判定对象链接是固定尺寸还是可变尺寸。如果指定了固定尺寸,则进入步骤S1308,将对象链接设定为“固定尺寸”,在步骤S1307中,设对象链接的显示状态为表示“固定链接”的“实线”。
另一方面,在步骤S1304,如果指定了可变尺寸,则进入步骤S1305,布局编辑应用程序121,将对象链接设定为“可变尺寸”。然后,在步骤S1306中,注册由上述对话框1401设定的对象链接的当前值(基准值)、最大值、最小值。然后,在步骤S1307中,设对象链接的显示状态为表示“可变链接”的“虚线”。结果,链接的UI显示,变化为如图12的链接1209所示的状态(步骤S1306)。以上的对话框1401的设定信息被存储在存储器中。
另外,还可以在设定于基准距离1411的当前值中,将作为当前布局而配置的容器之间的距离作为缺省值自动地输入。
图15表示使用了固定尺寸的链接时的布局结果。布局计算方法如上所述地进行。例如,在图12中,可以考虑在容器1203和容器1204上,分别插入了不同尺寸的图像数据的情况。此时,这样地进行设定,即:视各容器的数据大小为最佳;容器1203在要接近与所插入的图像尺寸相同的框1504(最佳容器尺寸)时,向右变更尺寸;同样地,容器1204在要接近与所插入的图像尺寸相同的框1505(最佳容器尺寸)时,向左变更尺寸。但是,容器1203由于锚点1201而不能移动左边1212,容器1204由于锚点1202而不能移动右边1213,如果要像上述那样变更尺寸,则只有缩小两者的间隔。但是,在容器间设定了固定尺寸的链接1503,而在计算布局时维持其长度,因此,容器1203和容器1204的尺寸被变更。
结果,容器1203和容器1204,无法确保符合数据的纵横比例的最佳的尺寸,最终如图15所示,变得比最佳尺寸(框1504、框1505)小。即,由于链接1503的尺寸固定,因此,容器1501和容器1502无法达到最佳尺寸(在图15中,以各容器内的点划线表示的范围是数据所具有的纵横比例)。
另一方面,图16表示在与图15同样的状态下使链接为可变尺寸的情况。这时,在上述的例子中,在容器1203与容器1204之间,如图所示地设定有可变尺寸的链接。因此,在变更容器1203和容器1204的尺寸时,通过缩小链接尺寸,能够使容器1203和容器1204的尺寸大于图15的例子。结果,能够达到符合所插入的数据尺寸的最佳尺寸,或者能够设定更加接近插入数据尺寸(最佳尺寸)的容器的框。图16表示该结果,可变链接1209为布局计算的结果,即成为可变链接1603所示的尺寸状态。这时,容器1203和容器1204分别成为最佳尺寸(符合数据尺寸的大小)。
[基准尺寸优先的布局方法]
图17A~图17F是说明本实施例的基准尺寸优先的布局方法的图。基准尺寸是指,在生成容器时(布局设计时)所设定的基准尺寸。
图17A表示容器中没有插入任何内容时的状态。此时的容器1701的尺寸是布局设计时的尺寸,表示基准尺寸。矩形1701表示容器,将上边、左边、下边设定为固定,将右边设定为可变。为了在显示上区别边的状态,上边、左边、下边用实线表示,而右边用虚线表示。
图17B表示在容器1701中插入文本的内容,成为容器1702的状态。如容器1702所示,作为内容的文本,从容器的左上方向右下方书写。在该例子中,容器1702中所插入的内容尺寸小于容器1702的尺寸。采用本实施例的基准尺寸优先的布局方法,在这种情况下,为了使基准尺寸优先,而不改变容器的尺寸。在图17B中,1703表示容器1702的右边没有与内容尺寸保持一致地移动的动作。
图17C表示在容器1701中插入与图17B的情况不同的文本的内容时的另一个例子。所插入的文本,从容器的左上方向右下方书写。在该例子中,容器1704中所插入的内容尺寸大于容器1704的尺寸。因此,图17C表示文本从容器1704溢出的情况。此时,为了显示所有内容,希望使容器1704的尺寸变化。
图17D表示在图17C的基础上进行了布局处理的状态。容器1705表示图17C的容器1704的尺寸发生变化后的状态。由于容器1705的右边被设定为可变,所以容器能向右放大,箭头1706表示容器1705将要向右放大的状态。要显示所有插入到容器中的内容的结果,是容器1704最终变成容器1705那么大,结果,能够显示所有插入到容器1705中的内容。1707表示容器1705的右边的原来的位置(基准尺寸下的位置)。它是与图17C中容器1704的右边相同的位置。布局计算后的容器1705的右边处于1707的位置的右侧,因此,可知容器尺寸变大了。
图17E表示文本内容已进入容器时的其他例子。该例子表示不仅受由插入内容带来的影响,还受由外部要素带来的一些影响的情况。外部要素的典型的例子是容器。图17E表示容器1708受到外部要素的影响1709的状态。另外,在容器1708中插入有文本的内容,该文本从容器的左上方向右下方写入。在该例子中,容器1708中所插入的内容尺寸小于容器1708的尺寸。因此,如在图17B中说明的那样,没有发生由内容尺寸引起的容器1708的尺寸的变化。但是,此时容器的右边受到了由外部要素带来的一些影响1709,因此,希望使容器尺寸改变并进行布局。
图17F表示在图17E的状态下,即将进行布局处理前的状态。在此说明外部要素1711推压容器1710时的动作。因为是在进行布局处理前,所以,容器1710与图17E的容器1708的尺寸相同。当外部要素1711推压容器1710时,容器1710不保持尺寸,而是在与外部要素1711之间进行布局计算。箭头1713表示外部要素1711推压容器1710的方向。另外,箭头1712表示容器1710被外部要素1711推压,从而进行与外部要素1711之间的布局计算。1714表示在容器1710与外部要素1711的布局上的冲突状态。以后,将处于图17E中的箭头1709那样的、来自外部要素的用于推压的力记为“推力”。
如上所述,基准尺寸优先的布局方法,遵循以下3点规则,来控制布局处理。
1.当插入了小于容器尺寸的内容,且没有来自外部要素的影响时,不改变容器尺寸。
2.当插入了大于容器尺寸的内容时,要亲自使容器尺寸改变。
3.当与容器尺寸无关地,受到外部要素影响时,进行与外部要素之间的布局计算。这里所说的影响是指,如上所述来自外部要素的推力,或用图19A、19B在后面说明的拉力。
由于能够对每个容器设定该基准尺寸优先的布局属性,因此,能够进行反映了用户预先设定的容器的基准尺寸的布局处理。
[内容尺寸优先的布局方法]
图27A~图27F是说明内容尺寸优先的布局方法的图。
图27A表示在容器2701中插入了文本内容的状态的一例。容器的状态与图17A相同,只有容器的右边被设定为可变。另外,在容器2701中,文本内容从容器2701的左上方向右下方写入。在该例子中,容器2701中所插入的内容尺寸小于容器2701的尺寸。但是,就内容尺寸优先的布局方法而言,因为使内容尺寸优先,所以,与内容的尺寸保持一致地改变容器的尺寸。
图27B表示在图27A的状态下,进行了基于内容尺寸优先的布局处理的状态。容器2702表示图27A的容器2701的尺寸变化后的大小。由于容器2702的右边被设定为可变,所以,能够通过使容器的右边移动来缩小容器尺寸。箭头2703表示容器2702将要向左缩小的状态。要与容器2702中所插入的内容保持一致并缩小容器的尺寸,结果,容器2701最终变成容器2702那么大。进而,结果就能够形成与容器2702中所插入的内容保持一致的容器尺寸。2704表示容器2702的右边的原来(基准)尺寸位置。它是与图27A的容器2701的右边相同的位置。由于布局计算后的容器2702的右边处于2704的位置的左侧,所以可知容器尺寸变小了。
图27C表示在容器2705中插入了文本内容的状态的另一个例子。在容器2705中插入文本内容,文本从容器的左上方向右下方写入。在该例子中,容器2705中所插入的内容尺寸大于容器2705的尺寸。因此,图27C表示文本从容器2705溢出。此时,因为要显示所有内容,所以,希望改变容器2705的尺寸。
图27D表示在图27C的基础上进行了布局处理的状态。容器2706表示图27C的容器2705的尺寸发生变化后的大小。由于容器2706的右边被设定为可变,所以,容器能向右放大。箭头2707表示容器2706将要向右放大的状态。要显示所有插入到容器2706中的内容的结果是,容器2705最终变成容器2706那么大,结果,能够显示所有插入到容器2706中的内容。2708表示容器2706的右边的原来(基准)尺寸位置。它是与图27C中容器2705的右边相同的位置。布局计算后的容器2706的右边处于2708的位置的右侧,因此,可知容器尺寸变大了。以上,用图27C、图27D说明的布局处理,与用图17C、图17D说明的布局处理,结果相同。
图27E表示将文本内容插入到容器2709的状态的其他例子。该例子表示不仅受插入内容的影响,而且还受外部要素的一些影响的情况,容器2709受到了作为外部要素的影响的推力2710。另外,在容器2709中插入文本内容,该文本从容器的左上方向右下方写入。在该例子中,插入到容器2709的内容尺寸,与容器2709的尺寸完全相等。因此,由于通常容器2709的尺寸已经是理想的尺寸了,因而不再变化。但是,在图27E的情况下,容器的右边受到了来自外部要素的一些影响(推力)2710,因此,希望使容器尺寸改变并进行布局。
图27F表示在图27E的状态下,即将进行布局处理前的状态。在此说明外部要素2712推压容器2711时的动作。因为是在布局处理前,所以,容器2711与图27E的容器2709的尺寸相同。当外部要素2712推压容器2711时,容器2711不保持尺寸,而是在与外部要素2712之间进行布局计算。箭头2714表示外部要素2712推压容器2711的方向。另外,箭头2713表示容器2711被外部要素2712推压,从而进行与外部要素2712之间布局计算。2715表示在容器2711与外部要素2712的布局上的冲突状态。
如上所述,内容尺寸优先的布局方法,遵循以下2点规则来控制布局处理。即:
1.无论容器尺寸的大小如何,都要改变尺寸,使得容器总为内容尺寸那么大。
2.尽管所插入的内容尺寸与容器尺寸完全相同、不需要改变容器尺寸,但当有来自外部要素的影响时,进行与外部要素之间的布局计算。这里所说的影响,也是指如上所述的推力或拉力。
这样,由于能够对每个容器设定内容尺寸优先的布局属性,由此,能够使容器根据所插入的内容尺寸进行尺寸变更,因此,可以生成反映了内容的实际尺寸的布局。
[对容器设定基准尺寸优先和内容尺寸优先]
可以对每个容器设定是采用上述基准尺寸优先的布局方法,还是采用内容尺寸优先的布局方法。
图26是表示设定容器的属性的用户界面(UI)对话框的一例的图。属性对话框能够利用例如键盘132、鼠标133选择容器,通过在弹出菜单上选择或按键盘上的Alt键等使之显示。在本实施例中,是否将容器的边缘设为可变,以及应用哪种布局方法,或与之相伴的设定,都显示在属性对话框内。
该属性对话框2601由以下部分构成:标题栏2602,工具按钮2603,进行属性对话框的开、关的按钮2604,设置各种信息的区域2651。该属性对话框2601中具有边缘状态(2611),所述边缘状态包括用于设定是否使容器尺寸可变的选项2612~2615。选中该选项后,容器尺寸(2621)内的基准尺寸的输入框(2625、2529)和单位制的输入框(2627、2631)之外的输入框,变为允许操作。而基准尺寸的输入框(2625、2529)和单位制的输入框(2627、2631),因为表示容器的基准尺寸,所以总是允许操作的。在该例子的情况下,在边缘状态2611中,只在右(右边)2614的可变前面加上标记,因此,该容器只能在横向(实际上是右方)改变尺寸。由此,在容器尺寸2621中,宽度尺寸的项目2624和2626变为允许操作,而高度尺寸的项目2628和2630仍为不允许操作。
图形2622是可视地辅助容器宽度尺寸的指定的位图(bit map);图形2623是可视地辅助容器高度尺寸的指定的位图。在输入框2624(最小尺寸)中设定容器宽度的最小值。现在这里已设定了值80。在输入框2625(基准尺寸)中显示有容器的基本宽度。在输入框2626(最大尺寸)中设定容器宽度的最大值。现在这里已设定了值120。同样,有时输入框2628中设定容器高度的最小值,输入框2629中设定容器的基本宽度,输入框2630中设定容器高度的最大值。在列表框2627和列表框2631中,设定容器尺寸的单位。虽然在这里作为单位的例子显示着mm,但也考虑英寸、像素等。在该属性对话框2601中,除上述部分外,还具有使基准尺寸和内容尺寸中的哪一个优先地进行布局计算的选择按钮2642、2643(布局方法2641)。这2个选择按钮,在没有将容器尺寸设定为可变时,不需要设定计算方法的优先。由此,布局方法2641,当在上述边缘状态2611中选项2612~2615中的任意一个被选中时,变为允许操作。因为在这里选择了选择按钮2642(基准尺寸优先),所以,对该容器进行使基准尺寸优先的布局计算。
通过使用布局方法2641,能够对各容器进行是进行使基准尺寸优先的布局计算,还是进行使内容尺寸优先的布局计算的设定。通过这样设定,能够实现是进行生成预先设计好的文档模板的布局处理、还是进行反映所插入的容器尺寸的布局处理这样的考虑了用户意图的布局处理。
图24是表示用图26说明的、基于UI属性对话框的设定处理的流程图。这些处理通过主计算机101内的处理器135进行控制而实现。当在未图示的布局编辑画面上选择了容器,并通过例如在弹出菜单上进行选择来指示UI属性对话框的显示后,显示该容器的UI属性对话框(图26)(步骤S2402、步骤S2403)。步骤S2404~步骤S2406,是对UI属性对话框中的操作限定的控制。首先,对边缘状态2611内的各边的项目判断是否将容器边缘设定为可变(步骤S2404)。然后,在至少1个边被设定为可变时,根据被设定为可变的边,使容器尺寸的最大值和最小值的输入框(2624、2626、2628、2630)变为允许操作(步骤S2405)。另外,同时使布局方法的选择项目也变为允许操作(步骤S2406)。
当利用UI属性对话框的确定按钮指定设定的执行后,关闭该属性对话框,并将设定内容应用到相应的容器上(步骤S2407、步骤S2408)。另一方面,当利用取消按钮指示取消后,放弃设定内容,并关闭该属性对话框(步骤S2409、步骤S2410)。
[对容器的处理]
图23A、图23B是表示关注某1容器,该容器如何按照所设定的布局方法来动作的流程图。这些处理通过主计算机101内的处理器135进行控制而实现。
在图23A中,首先将数据从数据库等中取出插入容器(步骤S2302)。然后,判断对该容器所设定的布局方法是基准尺寸优先还是内容尺寸优先(步骤S2303),如果是内容尺寸优先,则进行协商处理(步骤S2304)。这里所说的协商处理,是指在上述图8或图9中进行了说明的布局计算。然后,显示布局结果(步骤S2306)再结束。
另一方面,在步骤S2303中,如果对容器所设定的布局方法是基准尺寸优先,则进行基准尺寸处理(步骤S2305),显示布局结果(步骤S2306)。在基准尺寸处理中,根据由流程图23B所示的处理,进行布局计算。
在基准尺寸处理中,首先,判断插入该容器的数据(内容)是否小于或等于容器尺寸(步骤S2312)。即,检查与所插入的数据相对应的显示是否从该容器中溢出,如果未溢出,则判定为“内容尺寸小于或等于容器尺寸”。在“内容尺寸小于或等于容器尺寸”时,判断是否有来自其他建立关联的容器的推压(推力)或拉(拉力)这样的影响(步骤S2313)。为了在没有影响的情况下保持原样不进行任何布局处理,即不改变容器尺寸地,在步骤S2306中保持原样地显示布局结果,而结束图23B的处理。
在步骤S2312中,如果内容尺寸比容器尺寸大,则进行协商处理(步骤S2314),再结束本处理。其协商结果作为布局结果来显示(步骤S2306)。另外,在步骤S2313中,如果判断为有来自其他容器的的影响(推力或拉力),则对该容器和相关联的容器进行协商处理(步骤S2314),再结束本处理。其协商结果作为布局结果来显示(步骤S2306)。在步骤S2314中进行的协商处理,是在上述图8或图9中进行了说明的布局计算。
[在对基准尺寸优先和内容尺寸优先的容器建立了关联时的布局处理的例子]
图18A、图18B、图19A~图19C、图20A~图20C是表示在对应用了基准尺寸优先的布局方法的容器,和应用了内容尺寸优先的布局方法的容器建立了关联的情况下,它们如何进行布局处理的图。
图18A表示配置容器1801和1802,并插入了内容的状态。容器1801与容器1802通过链接1803建立了关联。并且,对容器1801设定基准尺寸优先的布局方法,对容器1802设定内容尺寸优先的布局方法。容器1801的上边、左边、下边被设定为固定,且右边被设定为可变。容器1802的上边、右边、下边被设定为固定,左边被设定为可变。在容器1801和容器1802中插入文本内容,该文本从容器的左上方向右下方写入。
在容器1801中,插入容器1801中的内容尺寸小于容器1801的尺寸。由此,就基准尺寸优先的布局方法而言,首先,由于使基准尺寸(容器的基准尺寸:生成容器时所确定的尺寸)优先,所以,容器1801不发生由自身的内容尺寸引起的变化。另一方面,在容器1802中,所插入的内容尺寸大于容器1802的尺寸。在图18A中,用文本从容器1802溢出来表示这样的状态。就内容尺寸优先的布局方法而言,首先,由于使内容尺寸(从数据库等插入的数据尺寸)优先,所以,为了显示所有内容,而改变容器1802的尺寸。
图18B表示在图18A的基础上进行了布局处理的状态。容器1805是通过布局处理,图18A的容器1801的尺寸变化后的容器。另外,容器1806是通过布局处理,图18A的容器1802的尺寸变化后的容器。容器1801被设定了基准尺寸优先的布局方法,而容器1802为了与内容尺寸保持一致而推压容器1801。因此,容器1801受到容器1802的影响(推力)1804。由此,对容器1801与容器1802,在其间执行协商处理并计算布局。在图18B中,容器1801变成容器1805的尺寸,容器1802放大成容器1806的尺寸。1809表示容器1806的左边的原来(基准)尺寸位置。它是与图18A的容器1802的左边相同的位置。布局计算后的容器1806的左边处于1809的位置的左侧,因此,可知容器尺寸变大了。相应地,容器1805的尺寸变小了。
图19A表示配置容器1901和1902,并插入了文本内容的状态。容器1901与容器1902通过链接1903建立了关联。另外,对容器1901设定基准尺寸优先的布局方法,对容器1902设定内容尺寸优先的布局方法。容器1901的上边、左边、下边被设定为固定,且右边被设定为可变。容器1902的上边、右边、下边被设定为固定,且左边被设定为可变。
在容器1901和容器1902中插入文本内容,该文本从容器的左上方向右下方写入。插入容器1901中的文本内容的内容尺寸小于容器1901的尺寸,如上所述,在设定有基准尺寸优先的容器1901中,不发生由内容尺寸引起的容器尺寸的变化。另一方面,插入容器1902中的文本内容尺寸也小于容器1902的尺寸。但是,就内容尺寸优先的布局方法而言,为了与内容尺寸保持一致,执行使容器1902的尺寸变化的处理,因此,产生如1904所示的箭头那样的拉力。
图19B表示在图19A的基础上进行了布局处理后的状态。容器1905与图19A的容器1901相对应。另外,容器1906与图19A的容器1902相对应。为了容器1902与内容尺寸保持一致而拉容器1901,因此,容器1901受到来自容器1902的拉力1904。因此,由于对容器1901设定了基准尺寸优先的布局方法,所以通常不进行容器尺寸的变更。但是,此时为了使容器1902的尺寸与内容尺寸保持一致,而进行尺寸的变更处理,成为容器1906的状态,由此时产生的拉力1904,容器1901变成容器1905那么大。这样,不仅可以通过上述推力,还可以通过拉力使基准尺寸变更。
在图20A中,具有容器2001和容器2002,它们通过链接2003建立了关联。对容器2001设定基准尺寸优先的布局方法,对容器2002设定内容尺寸优先的布局方法。另外,容器2001的上边、左边、下边被设定为固定,且右边被设定为可变。容器2002的上边、右边、下边被设定为固定,且左边被设定为可变。在容器2001和容器2002中插入文本内容,该文本从容器的左上方向右下方写入。在容器2001中,插入容器2001中的文本内容的尺寸大于容器2001的尺寸。由此,文本从容器2001中溢出。就基准尺寸优先的布局方法而言,由于此时要显示所有内容,因此,要改变容器的尺寸。在容器2002中,所插入的文本内容的尺寸也大于容器2002的尺寸。由此,文本从容器2002中溢出。就内容尺寸优先的布局方法而言,首先,由于使内容尺寸优先,所以,为了与内容的尺寸保持一致,而要改变容器2002的尺寸。
图20B表示从图20A到即将进行布局处理前的状态。容器2004与图20A的容器2001相对应,容器2005与容器2002相对应,在两容器间产生的影响,由箭头2007、2008表示。该影响为两容器的相互推挤,因此,箭头2007、2008为推力。容器2004被设定了基准尺寸优先的布局方法,但由于内容尺寸大,所以,要放大容器尺寸。容器2005被设定了内容尺寸优先的布局属性,因此,要放大容器2005,使得与内容尺寸保持一致。因此,在两容器之间产生互相推挤,因此,在容器2004与容器2005之间执行协商处理并计算布局。2009表示容器2004与容器2005之间发生了布局的冲突。此时,容器2004要朝箭头2007的方向改变容器尺寸,容器2005要朝箭头2008的方向改变容器尺寸。由此,相互之间由于互相推挤而产生了冲突。
图20C表示在图20B的基础上进行了布局处理后的状态。容器2010表示图20B中容器2004的尺寸变化后的大小。另外,容器2011表示图20B中容器2005的尺寸变化后的大小。与图20B相比,从容器尺寸与内容尺寸的差(内容的溢出量)来看,容器2004大,因此,协商处理的结果,是容器2004(朝箭头2103的方向)放大成容器2010那么大。2014表示容器2010的右边的原来(基准)尺寸位置。它是与图20B的容器2004的右边相同的位置。布局计算后的容器2010的右边处于2014的位置的右侧,因此,可知容器尺寸变大了。由此,容器2011的尺寸变小了。另外,容器2010和容器2011内的内容的字体,为了全部显示在容器内而被缩小了。
[在对基准尺寸优先的容器建立了关联时的布局处理的例子]
图21A~图21C是表示对基准尺寸优先的容器建立了关联时的布局处理的一例的图。
在图21A中,具有容器2101和2102,它们通过链接2103建立了关联。对容器2101、2102设定基准尺寸优先的布局方法。容器2101的上边、左边、下边被设定为固定,且右边被设定为可变。容器2102的上边、右边、下边被设定为固定,且左边被设定为可变。在容器2101和容器2102中插入文本内容,该文本从容器的左上方向右下方写入。在容器2101中,所插入的文本内容的尺寸大于容器2101的尺寸。因此,在图中表示文本从容器2101中溢出。此时,为了要显示所有内容,而要改变容器的尺寸。另一方面,在容器2102中,所插入的文本内容的尺寸小于容器2102的尺寸。因为容器2102为基准尺寸优先,所以,不因所插入的内容尺寸而改变容器尺寸。
图21B表示从图21A到即将进行布局处理前的状态。容器2104与图21A的容器2101相对应,容器2105与容器2102相对应。容器2104被设定了基准尺寸优先的布局方法,但由于内容尺寸大,所以要放大容器尺寸。容器2105要维持尺寸,但由于被容器2104推压,所以,在容器2104与容器2105之间执行协商处理。2109表示容器2104与容器2105之间发生了布局的冲突。此时,容器2104要朝箭头2107的方向改变容器尺寸,容器2105要朝箭头2108的方向改变容器尺寸(因为内容尺寸比容器尺寸小)。
图21C表示在图21B的基础上进行了布局处理后的状态。容器2110表示布局计算后的容器2104。另外,容器2111表示布局计算后的容器2105。在图21C中,容器2104变成容器2110那么大,朝箭头2113的方向放大。2114表示容器2110的右边的原来(基准)尺寸位置。它是与图21B的容器2104的右边相同的位置。布局计算后的容器2110的右边处于2114的位置的右侧,因此,可知容器尺寸变大了。另一方面,容器2105的尺寸被缩小,变成了容器2111。
[容器尺寸不变的例子]
图22A表示在对应用了基准尺寸优先的布局方法的容器与应用了基准尺寸优先的布局方法的容器建立了关联的状态下,各容器尺寸完全不变的情况。另外,图22B表示在对应用了基准尺寸优先的布局方法的容器与应用了内容尺寸优先的布局方法的容器建立了关联的状态下,各容器尺寸完全不变的情况。
在图22A中,表示应用了基准尺寸优先的布局方法的容器2201和2202。这些容器通过链接2203建立了关联。容器2201的上边、左边、下边被设定为固定,且右边被设定为可变。容器2202的上边、右边、下边被设定为固定,且左边被设定为可变。在容器2201和容器2202中插入文本内容,该文本从容器的左上方向右下方写入。在容器2201和容器2202中所插入的文本内容的尺寸小于各自的容器尺寸。因此,在设定了基准尺寸优先的两容器中,容器的尺寸不发生变化。因此,不产生如箭头2204、箭头2205所示的影响,不进行基于协商处理的布局计算。因此,在这样的例子中,成为容器尺寸不变,布局完全不变的结果。
在图22B中,容器2206和容器2207通过链接2208建立了关联。然后,对容器2206设定基准尺寸优先的布局方法,对容器2207设定内容尺寸优先的布局方法。容器2206的上边、左边、下边被设定为固定,且右边被设定为可变。容器2207的上边、右边、下边被设定为固定,且左边被设定为可变。在容器2206和容器2207中插入文本内容,该文本从容器的左上方向右下方写入。
在容器2206中,所插入的内容的尺寸小于容器尺寸,不产生容器尺寸的变化。另一方面,在容器2207中,所插入的内容的尺寸与容器2207的尺寸相同。因此,内容尺寸优先的布局结果,是容器尺寸不发生变化。因此,不会因容器2206和容器2207而产生影响,不进行基于协商处理的布局计算。因此,在这样的例子中,成为容器尺寸不变,布局完全不变的结果。
[基准尺寸优先的布局的例子]
在图25A~图25D中,介绍了利用应用基准尺寸优先的布局方法的容器的典型布局。图25A~图25D是左右的容器采用基准尺寸优先的布局方法动作时的例子。
在图25A中,左侧的容器2501和右侧的容器2503各自被设定了基准尺寸优先。另外,表示在各容器中分配了DB字段,并通过链接2502建立了关联的状态。容器2501的上边、左边、下边被设定为固定,且右边被设定为可变。另外,容器2503的上边、下边被设定为固定,且左边被设定为可变。容器2501的左边和容器2503的右边位置固定。另外,2541和2542是用于表示(A)~(D)的位置固定的线,但在实际的布局上不显示。以下,参照图25B~图25D,说明实际插入了内容数据时的布局方法。
图25B是从数据库对图25A的设定状态的各容器插入了内容的状态。左侧的容器2511中插入了字符串(内容数据)“Bixus”,右侧的容器2513中插入了字符串(内容数据)“Photos!”。容器2513中插入的内容,其尺寸与容器尺寸相同,另外,容器2511中插入的内容小于左侧的容器2511的尺寸,因此,各容器尺寸不变。这样,通过采用基准尺寸优先的布局方法,达到了要尽量维持最初生成的布局(配置、外观)的用户的要求。具体来讲,例如,用户在该布局中将标题(2501)和炸弹(bomb)(2503)配置在左右,并分别添加背景色。这样,因为在配上了颜色那样的布局中,考虑纸面上的平衡、外观地配置容器,所以,希望尽量预先保留在该布局中。因此,尽管容器的边缘被设定成可变,还是尽量不改变大小,从而能够满足用户的要求。
图25C是表示对各容器,将“Image reader c3232”从数据库插入到左侧的容器、将“Colors!”从数据库插入到右侧的容器的状态的图。此时,由于插入到左侧的容器即容器2521中的内容大,所以,希望改变容器尺寸使之变大。当容器尺寸变大了时,产生推压链接着的容器2523的“推力”2524。虽然也考虑缩小字体,但在“标题”这样的情况下,希望尽量使字体尺寸不太小地进行布局。但是,由于容器2521的左边和容器2523的右边位置固定,所以要以原来的尺寸显示所插入的2个内容数据,就必须超出2541和2542地进行布局。因此,插入到容器2521和容器2523中的内容的尺寸(此时为字体尺寸)被缩小。但是,因为考虑到希望尽量不缩小上述那样的标题等的字体尺寸,所以,进行布局计算,使得其变化量(缩小率)最小。
图25D是表示对各容器,将“XYZ”从数据库插入到左侧的容器,将“Handy&Super High Class!”从数据库插入到右侧的容器的状态的图。这是插入到右侧的容器即容器2533中的内容大而推压容器2531的例子。此时,虽然也考虑缩小容器2533中所插入的内容的字体,但是,对于用户来说,炸弹的内容也是要请求的内容,因此,要尽量大地显示。因此推压容器2531,希望使用因容器2531被推压而产生的区域。基准尺寸优先的布局方法是能够覆盖以上那样的全部例子的有效的布局方法。
当表示以上说明的自动布局系统(布局编辑应用程序121)的功能结构时,则例如如图28那样。
在图28中,布局编辑应用程序121实现下述功能:根据插入多个数据区域的每一个中的内容数据,动态地变更具有该多个数据区域的模板的布局。判断部2701判断是否从设定布局时的基准尺寸,变更数据区域的尺寸,以适应插入该数据区域(容器)的内容数据的大小。布局确定部2702,在由判断部2701判断为从基准尺寸进行变更的情况下,根据插入各数据区域的内容数据的大小,确定数据区域的尺寸。另外,布局确定部2702,在由判断部2701判断为不从基准尺寸进行变更的情况下,用基准尺寸确定数据区域的尺寸。这里,判断部2701,对于设定了第1布局属性(基准尺寸优先)的数据区域,在插入该数据区域的内容数据的大小小于该数据区域的基准尺寸,且未受到来自通过链接与该数据区域建立了关联的数据区域的影响的情况下,判断为不根从基准尺寸进行变更。另外,判断部2701,对于设定了第2布局属性(内容尺寸优先)的数据区域,在插入了与所设定的基准尺寸不同的尺寸的内容数据的情况下,或在受到通过上述链接建立了关联的数据区域的影响的情况下,判断为从基准尺寸进行变更。
如上所述,通过本实施例,布局编辑应用程序121能够判断内容数据的大小与容器的基准尺寸是否不同。另外,通过本实施例,还能够识别对各容器所设定的布局属性(基准尺寸优先或内容尺寸优先)。在插入内容数据时,根据来自插入各容器的内容数据和通过链接建立了关联的容器的影响(推力或拉力)以及布局属性,判断对各容器所设定的基准尺寸是否需要变更。当判断为需要变更时,则与插入数据区域的内容数据的大小保持一致地变更容器的尺寸;当判断为不需要变更时,则将基准尺寸作为容器的尺寸。
另外,在用户进行布局时,能够为每个容器分配是基准尺寸优先还是内容尺寸优先,并能够生成更好地反映用户意图的布局。即,可以对一个一个的容器指定采取基准尺寸优先的布局方法,或使内容尺寸优先的布局方法。由此,能够增加布局方法的选项,反映用户的意图,生成更称心如意的布局。
另外,基准尺寸优先的布局方法,是指用于尽量维持进行了布局的容器尺寸的布局方法。是在尺寸被破坏、容器被推压或被拉的情况下,进行与内容尺寸保持一致的计算的布局方法。即,是这样的布局方法,使用户能够适当地对各容器设定作为现有技术的固定尺寸的容器和可变尺寸的容器这二者的功能。这样,基准尺寸优先的布局方法,是受到来自从数据库插入的内容尺寸或其他容器的影响,自动地判断有无尺寸变更的划时代的布局方法。
如上所述,通过本发明,能够适当地维持进行布局时所设定的数据区域的尺寸,能够实现反映了设计布局时的用户意图的布局处理。
Claims (10)
1.一种布局处理方法,根据插入多个数据区域的每一个中的内容数据,动态地变更具有该多个数据区域的模板的布局,所述布局处理方法包括:
判断步骤,判断是否从设定布局时的基准尺寸变更数据区域的尺寸,以适应插入该数据区域的内容数据的大小;以及
布局确定步骤,在上述判断步骤中判断为从基准尺寸进行变更的情况下,根据插入各数据区域的内容数据的大小,确定上述数据区域的尺寸,在上述判断步骤中判断为不从基准尺寸进行变更的情况下,用上述基准尺寸确定上述数据区域的尺寸,
其中,上述判断步骤,对于设定了第1布局属性的数据区域,在插入该数据区域的内容数据的大小小于该数据区域的基准尺寸,且未受到来自通过链接与该数据区域建立了关联的数据区域的影响的情况下,判断为不从基准尺寸进行变更。
2.根据权利要求1所述的布局处理方法,
上述判断步骤,对于设定了第2布局属性的数据区域,在插入了与所设定的基准尺寸不同的尺寸的内容数据的情况下,或在受到上述通过链接建立了关联的数据区域的影响的情况下,判断为从上述基准尺寸进行变更。
3.根据权利要求2所述的布局处理方法,
还包括设定步骤,对上述多个数据区域的每一个,分别设定上述第1布局属性或第2布局属性中的任意一个。
4.根据权利要求3所述的布局处理方法,
对上述多个数据区域的每一个,设定是否为尺寸可变;
当设定为尺寸可变时,可在上述设定步骤中对该数据区域设定上述第1布局属性或第2布局属性中的任意一个。
5.根据权利要求4所述的布局处理方法,
在通过上述链接对设定了上述第1布局属性的数据区域和设定了上述第2布局属性的数据区域建立关联的情况下,设定了上述第2布局属性的数据区域,根据所插入的上述内容数据的大小确定布局。
6.一种信息处理装置,进行根据插入多个数据区域的每一个中的内容数据,动态地变更具有该多个数据区域的模板的布局的布局处理,所述信息处理装置包括:
判断装置,判断是否从设定布局时的基准尺寸变更数据区域的尺寸,以适应插入该数据区域的内容数据的大小;以及
布局确定装置,在由上述判断装置判断为从基准尺寸进行变更的情况下,根据插入各数据区域的内容数据的大小,确定上述数据区域的尺寸,在由上述判断装置判断为不从基准尺寸进行变更的情况下,用上述基准尺寸确定上述数据区域的尺寸,
其中,上述判断装置,对于设定了第1布局属性的数据区域,在插入该数据区域的内容数据的大小小于该数据区域的基准尺寸,且未受到来自通过链接与该数据区域建立了关联的数据区域的影响的情况下,判断为不从基准尺寸进行变更。
7.根据权利要求6所述的信息处理装置,
上述判断装置,对于设定了第2布局属性的数据区域,在插入了与所设定的基准尺寸不同的尺寸的内容数据的情况下,或在受到上述通过链接建立了关联的数据区域的影响的情况下,判断为从上述基准尺寸进行变更。
8.根据权利要求7所述的信息处理装置,
还包括设定装置,对上述多个数据区域的每一个,分别设定上述第1布局属性或第2布局属性中的任意一个。
9.根据权利要求8所述的信息处理装置,
可对上述多个数据区域的每一个,设定是否为尺寸可变;
当设定为尺寸可变时,可由上述设定装置对该数据区域设定上述第1布局属性或第2布局属性中的任意一个。
10.根据权利要求9所述的信息处理装置,
在通过上述链接对设定了上述第1布局属性的数据区域和设定了上述第2布局属性的数据区域建立关联的情况下,设定了上述第2布局属性的数据区域,根据所插入的上述内容数据的大小确定布局。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004252897A JP4111519B2 (ja) | 2004-08-31 | 2004-08-31 | レイアウト処理方法、情報処理装置及びコンピュータプログラム |
JP252897/2004 | 2004-08-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1744027A CN1744027A (zh) | 2006-03-08 |
CN100337188C true CN100337188C (zh) | 2007-09-12 |
Family
ID=35995847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100934784A Expired - Fee Related CN100337188C (zh) | 2004-08-31 | 2005-08-30 | 布局处理方法和信息处理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7847971B2 (zh) |
JP (1) | JP4111519B2 (zh) |
CN (1) | CN100337188C (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4047308B2 (ja) * | 2004-08-06 | 2008-02-13 | キヤノン株式会社 | レイアウト処理方法、情報処理装置及びコンピュータプログラム |
JP4332477B2 (ja) * | 2004-08-06 | 2009-09-16 | キヤノン株式会社 | レイアウト調整方法及び装置並びにプログラム |
JP4332480B2 (ja) * | 2004-08-31 | 2009-09-16 | キヤノン株式会社 | レイアウト調整方法及び装置並びにプログラム |
JP2006277727A (ja) * | 2005-03-04 | 2006-10-12 | Canon Inc | レイアウト処理方法、情報処理装置及びコンピュータプログラム |
JP2007334510A (ja) * | 2006-06-13 | 2007-12-27 | Canon Inc | 自動レイアウトシステム及び方法 |
JP2010097564A (ja) * | 2008-10-20 | 2010-04-30 | Canon Inc | 情報処理装置及びレイアウト処理方法 |
US10210260B2 (en) | 2010-10-20 | 2019-02-19 | Microsoft Technology Licensing, Llc | Templates for displaying data |
US9263002B2 (en) * | 2011-11-30 | 2016-02-16 | Microsoft Technology Licensing, Llc | Application and user interface framework interaction |
US10789412B2 (en) * | 2012-02-20 | 2020-09-29 | Wix.Com Ltd. | System and method for extended dynamic layout |
CN106649299B (zh) * | 2015-07-28 | 2020-09-15 | 阿里巴巴集团控股有限公司 | 一种网页区块懒加载的方法和装置 |
US9959257B2 (en) * | 2016-01-08 | 2018-05-01 | Adobe Systems Incorporated | Populating visual designs with web content |
US10409895B2 (en) * | 2017-10-17 | 2019-09-10 | Qualtrics, Llc | Optimizing a document based on dynamically updating content |
JP7554087B2 (ja) * | 2020-10-05 | 2024-09-19 | シャープ株式会社 | 画像形成装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07129658A (ja) * | 1993-11-02 | 1995-05-19 | Toppan Printing Co Ltd | レイアウトデザイン装置 |
US5559934A (en) * | 1992-03-11 | 1996-09-24 | Chinon Industries, Inc. | Label printing apparatus and wordprocessor |
CN1381795A (zh) * | 2001-04-18 | 2002-11-27 | 无敌科技(西安)有限公司 | 应用于掌上型浏览装置的自动格式排版方法 |
JP2003081237A (ja) * | 2001-09-12 | 2003-03-19 | Ishida Co Ltd | 商品情報印字装置、商品情報印字方法、およびプログラム |
CN1424669A (zh) * | 2002-12-30 | 2003-06-18 | 北京北大方正电子有限公司 | 一种自动排版方法 |
JP2004015215A (ja) * | 2002-06-04 | 2004-01-15 | Seiko Epson Corp | レイアウト制御装置およびそのプログラム並びにレイアウト制御方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845303A (en) * | 1994-12-06 | 1998-12-01 | Netpodium, Inc. | Document processing using frame-based templates with hierarchical tagging |
US6230173B1 (en) * | 1995-07-17 | 2001-05-08 | Microsoft Corporation | Method for creating structured documents in a publishing system |
US6584479B2 (en) * | 1998-06-17 | 2003-06-24 | Xerox Corporation | Overlay presentation of textual and graphical annotations |
US6470016B1 (en) * | 1999-02-09 | 2002-10-22 | Nortel Networks Limited | Servicing output queues dynamically according to bandwidth allocation in a frame environment |
US6826727B1 (en) * | 1999-11-24 | 2004-11-30 | Bitstream Inc. | Apparatus, methods, programming for automatically laying out documents |
US6760043B2 (en) * | 2000-08-21 | 2004-07-06 | Intellocity Usa, Inc. | System and method for web based enhanced interactive television content page layout |
JP4462819B2 (ja) * | 2002-09-26 | 2010-05-12 | ソニー株式会社 | 情報処理装置および方法、記録媒体、並びにプログラム |
JP4165888B2 (ja) * | 2004-01-30 | 2008-10-15 | キヤノン株式会社 | レイアウト制御方法、レイアウト制御装置及びレイアウト制御プログラム |
JP4332480B2 (ja) * | 2004-08-31 | 2009-09-16 | キヤノン株式会社 | レイアウト調整方法及び装置並びにプログラム |
-
2004
- 2004-08-31 JP JP2004252897A patent/JP4111519B2/ja not_active Expired - Fee Related
-
2005
- 2005-08-26 US US11/211,469 patent/US7847971B2/en not_active Expired - Fee Related
- 2005-08-30 CN CNB2005100934784A patent/CN100337188C/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5559934A (en) * | 1992-03-11 | 1996-09-24 | Chinon Industries, Inc. | Label printing apparatus and wordprocessor |
JPH07129658A (ja) * | 1993-11-02 | 1995-05-19 | Toppan Printing Co Ltd | レイアウトデザイン装置 |
CN1381795A (zh) * | 2001-04-18 | 2002-11-27 | 无敌科技(西安)有限公司 | 应用于掌上型浏览装置的自动格式排版方法 |
JP2003081237A (ja) * | 2001-09-12 | 2003-03-19 | Ishida Co Ltd | 商品情報印字装置、商品情報印字方法、およびプログラム |
JP2004015215A (ja) * | 2002-06-04 | 2004-01-15 | Seiko Epson Corp | レイアウト制御装置およびそのプログラム並びにレイアウト制御方法 |
CN1424669A (zh) * | 2002-12-30 | 2003-06-18 | 北京北大方正电子有限公司 | 一种自动排版方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4111519B2 (ja) | 2008-07-02 |
US20060050287A1 (en) | 2006-03-09 |
CN1744027A (zh) | 2006-03-08 |
US7847971B2 (en) | 2010-12-07 |
JP2006074224A (ja) | 2006-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100337188C (zh) | 布局处理方法和信息处理装置 | |
CN100351770C (zh) | 布局调整方法和装置 | |
CN100337187C (zh) | 布局调整方法、布局调整装置及程序 | |
CN1648894A (zh) | 文件处理装置和文件处理方法 | |
CN1648849A (zh) | 布局调整方法和装置 | |
CN1731391A (zh) | 布局处理方法、信息处理装置 | |
CN1731399A (zh) | 信息处理装置及其控制方法 | |
CN1648846A (zh) | 文件处理装置和文件处理方法 | |
CN1313916C (zh) | 布局控制方法和布局控制装置 | |
CN1110745C (zh) | 具有面向目标的打印接口的操作系统 | |
CN1811691A (zh) | 信息处理装置及其控制方法 | |
CN1790338A (zh) | 布局处理方法、装置以及程序 | |
CN1815435A (zh) | 文档处理装置和文档处理方法 | |
CN1731390A (zh) | 信息处理装置和信息处理方法 | |
CN100338573C (zh) | 设计用户界面样式的方法以及具有自适应用户界面的设备 | |
CN1828516A (zh) | 布局控制装置和布局控制方法 | |
CN1731397A (zh) | 信息处理装置及其控制方法 | |
CN1731819A (zh) | 布局调整方法和装置 | |
CN1940912A (zh) | 文件作成系统、文件作成方法、程序以及存储介质 | |
CN1912825A (zh) | 信息处理装置及其控制方法 | |
CN1577241A (zh) | 信息处理装置及其方法 | |
CN1303515C (zh) | 打印控制方法及设备 | |
CN1842126A (zh) | 信息处理装置、图像处理装置和方法及为此的存储介质 | |
CN1115650C (zh) | 图象生成系统和方法 | |
CN1910577A (zh) | 图像文件一览显示装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070912 Termination date: 20210830 |
|
CF01 | Termination of patent right due to non-payment of annual fee |