CN1731391A - 布局处理方法、信息处理装置 - Google Patents
布局处理方法、信息处理装置 Download PDFInfo
- Publication number
- CN1731391A CN1731391A CNA200510089810XA CN200510089810A CN1731391A CN 1731391 A CN1731391 A CN 1731391A CN A200510089810X A CNA200510089810X A CN A200510089810XA CN 200510089810 A CN200510089810 A CN 200510089810A CN 1731391 A CN1731391 A CN 1731391A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- container
- size
- layout
- data
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/197—Version control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Document Processing Apparatus (AREA)
- Processing Or Creating Images (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明提供一种布局处理方法、信息处理装置,该布局处理方法根据插入多个数据区域的各区域中的数据,动态地变更具有上述多个数据区域的模板的布局。在本发明的布局处理方法中,抽取通过链接建立了关联的数据区域的集合,对已抽取的数据区域的集合中所包含的多个数据区域,根据插入各数据区域的内容数据所要求的内容尺寸,以及基于对各数据区域所设定的优先度的权重,确定各数据区域的区域尺寸,根据这样确定了的多个数据区域的区域尺寸,对数据进行布局并输出。
Description
技术领域
本发明涉及用于生成、编辑并打印由文本、图像构成的文档的技术,更详细地说,涉及适用于可变数据文档的生成、编辑及打印的技术。
背景技术
近年来,由于商品的多样化,商品寿命变短,随着互联网的普及,对消费者的客户服务增强等原因,CRM(Customer RelationshipManagement:客户关系管理)、一对一营销的必要性备受关注。这些方法,对于提高客户满意程度,开发、稳定客户,非常有效。
一对一营销是数据库营销的一种,把客户的年龄、性别、兴趣、爱好、购买经历等个人属性信息做成数据库,分析其内容,提出符合客户需求的方案,作为典型的具体做法,例如有可变打印。特别是,最近,随着DTP(desktop publishing:桌面出版系统)技术的进展和数字打印装置的普及,开发出对每个客户定制文件并输出的可变打印系统。在这样的可变打印系统中,要求为每个客户生成对不同的量的内容进行最佳布局的定制文件。
一般,在可变打印系统中,生成这样的定制文件时,在文档上对容器进行布局。容器是用于描画内容的局部区域,也称作字段区。即,在文档上对这样的容器进行布局,将数据库与布局建立关联(将数据库的各内容与各容器建立关联),通过这样的作业,生成定制文件(文档)。在本说明书中,将这样的文档称作可变数据文档。
在这样的可变打印系统中,能够将因顾客而异的内容插入所布局的各容器中。因此,当插入到内容中的数据的尺寸可变,而与之相对应容器的尺寸固定时,就产生以下的问题。例如,当插入比容器的尺寸大的尺寸的文本数据时,无法将所有文本显示在该容器内。或者,当插入比容器的尺寸大的尺寸的图像数据时,该图像的一部分就会缺失。将这样的问题称作溢出。
另外,当内容是图像数据时,还要考虑将该图像缩小,描画在容器内,但有可能产生图像极小的弊端。此外,还公开了以下技术:在插入无法完全进入固定尺寸的容器内的文本数据时,能够缩小文本的字体尺寸,在该容器内显示所有文本。但会产生以下问题,在这样调节字体尺寸时,字体尺寸变得过小,从而造成文档整体的平衡被破坏,或变得难以阅读。
作为用于解决这样的问题的自动布局的技术,在日本特开平7-129658号公报的“布局设计装置”中公开了以下技术:当某容器的尺寸增大时,为了保持与相邻的容器的间隔,而减小该相邻的容器的尺寸。
但是,在背景技术所述的自动布局系统中,当根据数据库的数据的尺寸自动进行布局计算时,用户无法设定如何使尺寸变化。例如,设有两个尺寸可变的容器A和容器B,将数据从数据库插入到这两个容器中。在插入到容器A和容器B中的数据都变大而无法容纳在容器内时,进行计算,使得插入到容器A和容器B中的数据的尺寸均等地缩小并容纳在容器内。
在上述一对一营销中,为了符合用户需要生成目录和小册子(pamphlet),有这样的要求,即:将插入用户想要的商品的内容数据的容器,优先于其他容器,做成较大的容器。但是,在上述自动布局系统中,无法生成这样的反映用户意图的布局。
发明内容
本发明正是鉴于上述问题而完成的,其目的在于,使得能够根据基于对各数据区域所设定的优先度的权重,确定用于插入数据的数据区域的尺寸,实现能够较好地满足用户需求的布局处理。
为了解决上述问题,本发明提供一种布局处理方法,根据插入多个数据区域的各区域中的内容数据,动态地变更具有该多个数据区域的模板的布局,所述布局处理方法包括:抽取步骤,抽取通过链接建立了关联的数据区域的集合;确定步骤,对于在上述抽取步骤中所抽取的数据区域的集合中所包含的多个数据区域,根据插入各数据区域的内容数据所要求的内容尺寸,以及基于对各数据区域所设定的优先度的权重,确定各数据区域的区域尺寸;以及输出步骤,根据在上述确定步骤所确定的上述多个数据区域的区域尺寸,对上述内容数据进行布局并输出。
另外,本发明提供一种执行上述布局处理方法的信息处理装置。
本发明的其他特征和优点,可以通过下面的参照附图进行的说明而得到明确。在所有附图中,相同的标号表示相同或类似的部分。
附图说明
附图包括在说明书中并构成说明书的一部分,用于说明本发明的实施例,并与说明书一起用于解释本发明的原理。
图1A是表示实施例的可变打印系统的结构的图。
图1B是表示图1A中的主计算机的结构的概要的图。
图1C是说明可变数据打印的概要的图。
图2是表示实施例的可变打印系统的其他结构的图。
图3是表示包括菜单栏、工具栏、工作区、选项托板的实施例的用户界面的例子的图。
图4是表示用户界面上的容器的显示例的图。
图5A~图5D是说明实施例的容器规则的图。
图6是说明实施例的链接的生成处理的流程图。
图7A~图7C是表示生成链接时的用户界面的变动例的图。
图8是表示实施例的布局引擎进行的布局计算处理的流程图。
图9是表示实施例的布局引擎进行的布局计算处理的流程图。
图10A~图10C是用于说明实施例的布局计算处理的图。
图11是说明实施例的布局计算时的容器的集合的图。
图12是表示通过可变链接配置了容器时的用户界面的显示例的图。
图13是说明用于通过实施例的用户界面设定可变链接的处理的流程图。
图14是表示实施例的链接的设定对话框的图。
图15是表示利用固定链接的布局结果例的图。
图16是表示利用可变链接的布局结果例的图。
图17是表示本实施例中的、可在容器内设定关于尺寸的优先度的自动布局处理的流程图。
图18是表示实施例的优先度的设定处理的流程图。
图19A~图19C是表示实施例的、设定优先度时的用户界面例的图。
图20是表示实施例的优先度显示处理的流程图。
图21A~图21C是表示实施例的、进行优先度显示处理时的用户界面例的图。
图22是表示实施例的、进行优先度显示处理时的用户界面例的图。
图23是表示实施例的其他优先度显示处理的流程图。
图24是表示进行图23所示的优先度显示处理时的用户界面例的图。
图25是表示实施例的、考虑了优先度的布局计算的整体处理的流程图。
图26是表示关于水平或垂直方向的布局计算处理的流程图。
图27是表示图26的步骤S2612的处理的细节的流程图。
图28是表示未考虑优先度时的布局计算例的图。
图29是表示考虑了优先度时的布局计算例的图。
图30是说明考虑了纵横比例的布局计算处理的流程图。
图31A~图31C是表示考虑了纵横比例的布局计算的一例的图。
图32是表示考虑了纵横比例和优先度的布局计算处理的流程图。
图33是表示考虑了纵横比例和优先度的布局计算处理中的、布局调整处理(S3210)的流程图。
图34是表示考虑了纵横比例和优先度的布局计算的处理例的图。
图35是表示考虑了纵横比例的布局计算的处理例的图。
图36是表示在图35的布局计算中加进优先度时的布局计算的处理例的图。
图37是表示由布局编辑应用程序进行的布局处理的功能结构例的框图。
具体实施方式
下面,参照附图说明本发明的优选实施例。
<系统结构>
首先,参照图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内,并安装到硬盘驱动器140上。软件还可以从下述介质加载到主计算机101内,即:磁带,ROM,集成电路,光磁盘,在主计算机101与其他设备之间的红外线等无线通信,PCMCIA卡那样的计算机可读卡,以及包含电子邮件通信、带有WEB站点上的记录信息的互联网或企业内部互联网的其他适当的计算机。这些是计算机可读介质的例子,当然,还可以使用其他计算机可读介质。
在图1A中,本发明的布局编辑应用程序121,使计算机进行可变打印(也叫做可变数据打印(VDP)),包含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个记录进行打印/预览时的布局计算方法。当为多个记录时,重复以下的处理。
首先,布局编辑应用程序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的数据量。这里,当是文本用容器时,如果不考虑限定就无法确定容器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)。图11的对话框1401,在下述情况下显示,例如,通过用图6、图7A~图7C说明的链接的设定操作,在2个容器之间设定了链接之后,在通过点击等操作选择设定的链接时显示。或者,也可以在刚设定了链接之后,自动显示关于该链接的对话框1401。这里,各容器之间的距离的基准值1411,是在插入了数据时各容器的尺寸没有变更的情况下,所使用的链接的长度。
图13是说明利用本实施例的用户界面103进行的可变链接的设定顺序的流程图。例如,在图11的容器A与容器B之间,以用图6、图7A~图7C说明的顺序设置链接时,首先设置固定尺寸的链接。然后,选择该链接执行图13所示的处理,从而能够使该链接,从固定尺寸的链接1106(图11)的状态,向可变尺寸的链接1209(图12)变化。
首先,用鼠标将所需要的链接(例如,链接1106)设置成选择状态,当进行用于显示链接属性的预定的操作时,将布局编辑应用程序121的用户界面103,作为链接属性的显示指示的输入来识别(步骤S1301)。当识别链接属性的显示指示后,显示与选择状态的链接(以下,称作对象链接)对应的属性对话框1401(图14),接着,用户界面103显示链接属性(步骤S1302)。另外,作为链接的选择操作,与设定容器的基本图形时相同,也可以是鼠标的右击或键盘的特定键的操作等的任意一个。
在步骤S1302显示的对话框1401上显示所选择的链接的当前状态。在本例中,因为选择了链接1106,所以,在该阶段链接尺寸固定,在链接类型1405中,表示固定长度的固定长度1406已被选择。
为了在该对话框1401中,将链接从固定尺寸变更为可变尺寸,在链接类型1405中,选择用于将链接尺寸设定为可变的可变长度1407。由此,被在链接距离1408内配置着的最大距离1412、最小距离1410、基准距离1411变为有效,并可以进行数值的设定。用户为了设定链接的可变尺寸,在最大距离1412中设定该链接长度的最大值,在最小距离1410中设定最小值,在基准距离1411中设定当前值。
当结束设定时,用户通过一般的对话框开关按钮1404指示该设定的应用。当检测出该指示后,处理从步骤S1303向步骤S1304以后进展,用户界面103,使该对象链接反映上述设定状态。
即,首先,在步骤S1304中,布局编辑应用程序121判定对象链接是固定尺寸还是可变尺寸。如果指定了固定尺寸,则进入步骤S1308,将对象链接设定为“固定尺寸”,在步骤S1307中,设对象链接的显示状态为表示“固定链接”的“实线”。
另一方面,在步骤S1304,如果指定了可变尺寸,则进入步骤S1305,布局编辑应用程序121,将对象链接设定为“可变尺寸”。然后,在步骤S1306中,注册由上述对话框1401设定的对象链接的当前值(基准值)、最大值、最小值。然后,在步骤S1307中,设对象链接的显示状态为表示“可变链接”的“虚线”。结果,链接的UI显示,变化为如图12的链接1209所示的状态(步骤S1306)。以上的对话框1401的设定信息被存储在存储器中。
另外,还可以在设定于基准距离1411的当前值中,将作为当前布局而配置的容器之间的距离作为缺省值自动地输入。
图15表示使用了固定尺寸的链接时的布局结果。布局计算方法如上所述地进行。例如,在图12中,可以考虑在容器1203和容器1204上,分别插入了不同尺寸的图像数据的情况。此时,这样设定,即:视各容器的数据大小为最佳;在要接近与所插入的图像尺寸相同的框1504(最佳容器尺寸)时,容器1203向右变更尺寸;同样地,在要接近与所插入的图像尺寸相同的框1505(最佳容器尺寸)时,容器1204向左变更尺寸。但是,容器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分别成为最佳尺寸(符合数据尺寸的大小)。
[能够对容器设定关于尺寸的优先度的自动布局处理]
图17是表示本实施例中的、可对容器设定关于尺寸的优先度的自动布局处理的流程图。
首先,在步骤S1701中,对各容器设定尺寸确定时的优先度。对于步骤S1701的优先度设定处理,将参照图18、图19A~图19C在后面说明。接下来,在步骤S1702中,为了确认在步骤S1701所设定的优先度,而询问用户是否在用户界面上进行显示。如果有旨在使其显示的指示,则进入步骤S1703,使之在视频显示器144上显示在步骤S1701中设定的优先度。对于步骤S1703的优先度显示处理,将参照图20~图24在后面说明。
当在步骤S1702指示为不必进行优先度的显示的情况下,或结束步骤S1703的显示作业后,进入步骤S1704,询问用户是进行预览还是进行打印。在指示为进行预览或打印的情况下,进入步骤S1705,在布局模板中合并容器,进行自动计算布局的处理。在进行该布局计算时,使用在步骤S1701中设定的“优先度(比例)”进行计算。具体而言,将所设定的优先度(比例)作为权重赋给各容器的,计算容器尺寸(区域尺寸)。对于步骤S1705的布局计算,将参照图25之后的附图在后面说明。在该整体流程的步骤中的、显示步骤和预览或打印的步骤,并非只进行1次,也可以由用户指定,反复进行任意的次数。
[优先度设定处理]
图18是表示实施例的优先度的设定处理(图17的S1701)的流程图。
首先,在步骤S1801中,识别用户所选择的要设定优先度的容器。这里,识别是指:在用鼠标点击等选择出已进行了布局的容器时,使之显示图5A~图5D的502所示的句柄等,并转移到选择状态。接下来,在步骤S1802中,使之显示与已识别出的容器对应的优先度设定对话框。作为使之显示这种对话框的方法,可以通过弹出菜单或主菜单使之显示等来实现。图19A~图19C表示该对话框的显示例。
图19A表示对话框的整体图。标号1900表示优先度设定对话框的概貌。标号1901表示用于进行关闭对话框的指示的按钮。标号1902是用于设定是否使优先度的设定有效的复选框。另外,复选框1902的缺省值为空,优先度的设定为无效。单选按钮1903,在从由系统一侧预先准备的值中选择要设定的优先度时,选择的单选按钮。列表框1904在单选按钮1903被选定时变为有效,箭头按钮1905,在用鼠标按下后,列表显示可选择的优先度。标号1906是用户将要设定的优先度的值设为任意值时选择的复选框。当复选框1906被选定时,文本框1907变为有效,可以输入值。能够在该文本框1907中,输入任意的值来设定优先度。
通过按下测试按钮1908,假定使用在本对话框所设定的优先度,执行确认布局变化的测试处理。这时所设定的优先度,是在相应的容器的属性中暂时设定的,当测试处理结束时,恢复为执行前的属性值。该按钮是为了提高可用性而准备的,在实施本发明时不是必须的,而是任意准备的。通过按下确定按钮1909,从而将在本对话框中设定了的优先度应用于相应的内容的缺省值,并关闭对话框。通过按下取消按钮1910,从而不将在本对话框中设定了的优先度应用于相应的内容,并关闭对话框。
图19B表示在优先度设定对话框1900中,使用预先在系统中准备的优先度时的例子。使复选框1902有效,设定优先度。当设使单选按钮1903有效后,列表框1904变为有效,如1913、1915所示那样列表显示,可以选择所希望的优先度。该列表显示,通过按下箭头按钮1905来执行,显示预先在系统中准备的优先度。这里,准备有高(75%)、中(50%)、低(25%)。在此所示的优先度是一个例子,还可以设定为其他优先度。将用户从列表1915中选择出的优先度显示在框1913内。通过按下确定按钮1909,将所选择出的优先度设定为该容器的属性。
图19C表示在优先度设定对话框1900中,设定由用户以任意的值指定的优先度的情况。使复选框1902有效,设定优先度。当使单选按钮1906有效时,文本框1907有效,能够输入优先度(数值)。用户可以对能够输入的文本框1907指定任意的值。通过按下确定按钮1909,将在文本框1907所指定的优先度设定为该容器的属性。这样,由于能够设定各种优先度,因此,易于生成用户想要的布局。
返回图18,在步骤S1803中,如上所述,进行对容器设定由对话框1900所指定的优先度的处理。在步骤S1804中,由用户确认优先度的设定是否结束,如果需要也对其他容器设定优先度,则反复进行从步骤S1801开始的处理。如果优先度的设定结束,则结束本处理。
[优先度显示处理(之一)]
接下来,说明步骤S1703的优先度显示处理。图20是表示优先度显示处理的流程图。以下,用图21A~图21C和图22的用户界面的显示例,详细说明各步骤的处理。
首先,在步骤S2001中,转变成优先度显示模式。优先度显示模式是指,为了在用户界面上对用户显示,在上述优先度设定处理中对容器设定的所希望的优先度,而进行显示的模式。该模式以提高可用性为目的进行设定,通过使之显示优先度,明确表示当前容器的设定状态。
作为向优先级显示模式转变的方法,例如可以使用图21A~图21C所示的界面。图21A~图21C表示通过本实施例的自动布局系统所提供的菜单栏(2101)的显示菜单,显示的菜单列表(2102)。菜单列表中具有多个项目,其中具有“显示优先度”这样的项目(2105)。该菜单列表与一般的Windows(注册商标)应用程序相同,也具有如标号2103所示的2层结构的菜单项目,或者如标号2104所示的复选标记。当使鼠标指针2106移动到项目上时,如图21B所示,显示网线(2107),使得表示该项目已被选择。然后,当在该状态下点击鼠标时,如图21C所示,显示复选标记2108,转变到优先度显示模式。在优先度显示模式的情况下进行以上动作时,能够解除优先度显示模式。另外,当然,以上所示的方法表示一般的情况,向显示模式转变的方法可以不限于该方法。另外,也可以是不特别设定优先度显示模式,而总进行优先度显示的模式。
返回到图20的流程图,在步骤S2002中,确认是否在作为自动布局系统的布局画面的容器(这里,为容器C)上附有鼠标(mouseover)。如果在容器C上附有鼠标,则进入步骤S2003,通过用户界面显示容器C、和通过链接与容器C建立了关联的容器的优先度。
图22表示用户界面中的优先度的显示例。在图22中,标号2201表示本实施例的自动布局系统的布局画面。标号2202表示在Windows(注册商标)的对话框设定的窗口的最小化、缩小/放大、关闭的按钮。标号2203表示本系统的各种工具按钮,图示的是一例。标号2204表示本系统的布局页面,在该页面内配置容器生成布局模板。标号2205表示容器。标号2206表示表明容器间的关联的链接。标号2207表示与标号2205相同的容器。为了说明的方便,从上依次标注为A、B、C。标号2208表示鼠标指针。标号2209表示UI显示的优先度。在图22中,鼠标指针位于容器A上(在容器A上附有鼠标)。于是,例如图22的2209所使那样,在各容器中显示,容器A、通过链接与容器A建立了关联的容器B、容器C的优先度。可以清楚在该例子中,容器A被设定为高(75%),容器B、容器C被设定为中(50%)。
返回图20,在步骤S2004中,判断是否进行了使显示模式结束的指示。结束显示模式的指示的例子如上所述。如果结束已被指示,则使优先度显示模式结束。另一方面,如果继续进行优先度显示模式,则反复进行从步骤S2002开的处理。
[优先度显示处理(之二)]
关于优先度显示处理,示出的其他例子。图23是表示优先度显示处理的其他例子的流程图。为了说明各步骤的细节,使用图24的用户界面显示例。
首先,在步骤S2301中,转变为优先度显示模式。因为步骤S2301的处理与上述步骤S2001相同,因此省略说明。接下来,在步骤S2302中识别由鼠标选择出的容器。在上述优先度显示处理中,显示附有鼠标的容器和与该容器有关联的容器的优先度,但在本优先度显示处理中,显示用户用鼠标任意地选择出的容器的优先度。如图24所示,对容器A~H进行了布局。将鼠标指针2403移动到所希望的容器上,按下点击按钮,从而选择容器。被选择出的容器,如2401所示,2401明确表示容器的边缘发生变化,并被选择。在步骤S2303中,显示所选择出的容器的优先度。优先度如2402那样显示。
这样,通过显示优先度,用户能够把握以怎样的经过、原由来确定布局。
接下来,在步骤S2304中,判断是否进行了使显示模式结束的指示。结束显示模式的指示的例子,如在优先度显示处理(之一)所述那样。如果指示了结束,则使优先度显示模式结束。另一方面,如果继续进行优先度显示模式,则反复进行从步骤S2302开的处理。因此,在继续进行优先度显示模式期间,每当通过鼠标操作选择了容器时就显示该容器的优先度。但是,考虑到提高可用性,也可以当再次选择已经选择一次的容器时,返回到非选择状态。这时,按预定的键(例如控制键)同时点击鼠标,选择容器,从而使多个容器为选择状态,如图24所示,也可以同时显示多个容器的优先度。
[考虑了优先度的容器尺寸计算]
图25是表示实施例的、考虑了优先度的布局计算的概要的流程图。
首先,在步骤S2501中,取得对正进行布局的各容器所设定的优先度。接下来,在步骤S2502中,对页面的水平方向进行布局计算。接下来,进入步骤S2503,对页面的垂直方向进行布局计算。关于这些布局计算的细节将在后面说明。然后,在步骤S2504中,将步骤S2502和步骤S2503中的水平、垂直方向的布局计算结果,设定为布局后的计算结果。
以下,参照流程图26详细说明步骤S2502和步骤S2503的布局计算。
首先,在步骤S2601中,抽取成为布局计算对象的容器的集合(由通过链接建立了关联的容器构成的集合),在步骤S2602中,将所抽取的容器的集合个数赋给R。接下来,进入步骤S2603,将0赋给变量r。在步骤S2604中,当R为0时,即,要计算的容器的集合为0个时,意味着不存在正进行布局的容器,因此,不进行计算而结束本处理。另外,当R不为0时,在步骤S2605中进行R与r的比较。当r<R时,为了对由r指定的容器的集合进行布局计算,进入步骤S2606。相反,当r≥R时,意味着对于要计算的容器的集合所有计算结束,因此,结束本处理。
从S2606开始是实际的布局计算处理。首先,在步骤S2606中,抽取由r指定的容器的集合(以下,称作集合r)的容器个数,将其赋给N。接下来,在步骤S2607中,将0赋给变量i。将在步骤S2608~步骤S2610所示的处理,反复进行集合r所具有的容器个数那么多次,将对容器i所设定的优先度赋给数组Prio[i]。这时,当存在未设定优先度的容器时,设定为中(50%)。当优先度的取得结束后,在步骤S2612中,对集合r进行布局计算。布局计算的细节将在后面说明。当对集合r布局计算结束后,进入步骤S261 3将r增加1,返回步骤S2605。即,对接下来的容器的集合r进行处理。当对所有的容器集合结束处理时,r≥R,从步骤S2605开始结束本处理。
接下来,使用图27、图28、图29,说明步骤S2612的布局计算处理的细节。图27表示对容器的各集合所进行的布局计算的详细流程。图28是在将内容插入了进行布局的容器时,在没有优先级的状态下进行了布局计算的情况下的,容器尺寸的计算例的图例。图29表示对图28的图例设定优先度时的计算例。
首先,在步骤S2701中,对集合r使用最小二乘法和对各容器设定的优先度,进行布局计算。对于布局计算,将参照图28和图29在后面具体说明。在步骤S2702中,判断在步骤S2701中进行了布局计算的结果是否违反了规则。这里,规则是指对容器设定的最大尺寸、最小尺寸和对链接设定的最大尺寸、最小尺寸。例如,当所计算出的值不满足所设定的最大尺寸、最小尺寸时,就判断为该容器违反了规则。当存在判断为违反了规则的容器时,从步骤S2702进入步骤S2703,对判断为违反了规则的该容器进行布局调整。
在此所示的布局调整是指,例如,设对容器A进行了布局计算的结果,为水平方向的尺寸是10。但是,当对容器A作为最小尺寸设定了15这样的值时,最小尺寸15优先于计算结果10,容器A的水平方向的尺寸变为15(步骤S2703)。但是,这里将本来计算为10的容器A的尺寸设定为15,因此,将15-10=5作为应力(stress)重新赋予容器的集合。由于需要将该分量再次分配给布局集合内的未违反规则的容器,因此,在步骤S2704中对这些容器重新进行计算。反复进行步骤S2702~S2704,直到违反规则不发生,如果违反规则没有发生,则进入步骤S2705,暂时保存所计算的布局。
以上,对于水平方向(S2502)、垂直方向(S2503),执行用图26和图27说明的布局计算。对于水平方向和垂直方向分别计算结束之后,将在步骤S2705暂时保存的容器的布局,作为上述步骤S2504中计算后的布局,对各容器进行设定。
对于上述步骤S2701的布局计算,将参照图28和图29详细说明。为了容易理解地展示考虑了优先度的布局计算的效果,对于同一个布局,展示未考虑优先度时的布局计算(图28)和考虑了优先度时的布局计算(图29)。
用图28说明未考虑优先度时的布局计算。以标号2801~2803表示的容器A、B、C,由固定链接2804建立了关联。各容器和链接的水平方向的尺寸如图所示,在水平方向上具有合计57这样的尺寸。在该布局中,该水平方向的合计尺寸固定。在该布局中,以2805~2807表示的内容A′、B′、C′重新将插入到容器中时,产生应力(布局的负荷)。
各内容具有实际尺寸(理想尺寸)。各内容的实际尺寸如图所示,A′为17,B′为13,C′为27。当内容为文本时,根据当前内容所具有的内容量(字符量),和对数据的差入目的地也就是容器设定的字体尺寸、纵横尺寸的可变/固定、最大值/最小值等,确定理想尺寸。另外,当内容为图像时,该图像数据的尺寸(纵横像素数)为理想尺寸。为了在将该内容插入到容器中之后,以理想尺寸对所有容器进行布局,必须要有17+5+13+7+27=69的水平尺寸,但是,如上所述,该布局的水平尺寸固定为57。因此,69-57=12成为该布局的应力。接下来,将上述应力分配给各容器。在本自动布局系统中进行计算,使得该应力的相关影响最小,这时所使用的方法为最小二乘法。
设各容器的计算后的尺寸为a、b、c,与各容器相关的应力的平方和也就是成本(cost)k可以表示为:
k=(a-17)2+(b-13)2+(c-27)2...(1)
在该布局中,不进行优先度的设定,因此,成本k为最小可以表示为:
a-17=b-13=c-27...(2)
并且,利用计算后的布局的尺寸,可以表示为:
a+5+b+7+c=57...(3)
由等式(2)、(3),可以求出各容器的计算后的尺寸。这里,与各容器相关的应力为4,计算后的各容器(2808~2810)A″、B″、C″的各尺寸如图所示。
接下来,以图29为例,说明在与图28相同的布局中使用了优先度时的计算方法。对容器A(2901)设定为75%的优先度,对容器B(2902)设定为50%的优先度,对容器C(2903)设定为25%的优先度,通过这样设定进行说明。
布局计算的方法,与上述无优先度设定时大致相同。首先,设各容器的计算后的尺寸为a、b、c,各容器的应力的平方和也就是成本k,可以利用上式(1)求出。接下来,导出成本k为最小时的等式,但这次设定了优先度,因此,需要将优先度赋给各容器的应力。因此,可以表示为:
75/100(a-17)=50/100(b-13)=25/100(c-27)...(4)
并且,由上述式(3)表示计算后的布局尺寸。
由此,利用等式(4)、(3),求出考虑了优先度的各容器的计算后的尺寸。这里,各容器的应力由优先度分配,计算后的各容器(2908~2910)A″、B″、C″的各尺寸为14.82、9.73、20.45。与图28的无优先度的布局计算结果相比,可知,优先度高的容器,被以接近理想尺寸的尺寸布局。另外,在此的例子中,仅关于水平方向进行了说明,而关于垂直方向的布局计算,也以同样的方法来进行。
即,在式(4)中,通过使优先度发生作用,从而对于由链接建立了关联的容器组,各容器的计算后的布局尺寸与对应的内容的理想尺寸的差的比,与对各容器所设定的优先度的倒数的比相等。结果,优先度越高的容器,与理想尺寸的差越小,能够生成反映了内容数据的理想尺寸(实际尺寸)的布局。
[考虑了内容的纵横比例的布局计算处理]
上述布局计算处理,表示与所插入的内容的纵横比例无关地进行计算的处理。但是,在内容具有纵横比例的情况下(例如,图像),如果与纵横比例无关地确定了布局,则需要进行裁剪,或者通过拉伸等改变纵横比例显示内容。可知,为了以适当的尺寸显示内容,考虑纵横比例更好。因此,下面,说明在上述布局计算处理中,进一步考虑纵横比例的布局计算处理。要考虑纵横比例的容器,可以预先作为容器的属性设定,也可以根据插入容器的内容的属性自动地设定(例如,在内容为图像时,对应的容器被设定为考虑纵横比例的容器)。
图30是说明在自动布局系统中考虑纵横比例时的基本的布局计算处理的流程图。
首先,在步骤S3001中,取得内容尺寸和内容所具有的纵横比例。接下来,在步骤S3002中,对插入该内容的容器的布局的水平方向或者垂直方向,进行布局计算。当对水平或垂直任意一个方向,布局计算结束后,在步骤S3003中,根据步骤S3002的计算结果和在步骤S3001中取得的纵横比例,对剩余的一个方向确定尺寸。即,在上述未考虑纵横比例的布局计算中,在水平和垂直两个方向上,用最小二乘法进行了计算;但是,在考虑纵横比例的情况下,计算纵横的任意一个方向上的布局后,另一个方向的布局,使用该容器的纵横比例强制计算。
图31A~图31C表示考虑了纵横比例时的布局计算的简单例子。在图31A中,表示插入位于容器3101的内容并进行布局的状态。容器的边缘的状态为:标号3102是固定边,标号3103是可变边。设在该容器中插入图31B所示的内容3104。内容3104的纵横比例为X∶Y。插入了内容的结果,如图31C所示,假定从标号3108所示的理想尺寸变为标号3107所示的尺寸。这时的布局计算,当通过上述水平方向的布局计算处理求出X′后,对垂直方向求出Y′,使得X∶Y=X′∶Y′,而不使用上述布局计算处理。
图32、图33是表示在附加优先度的布局计算处理中,考虑了内容的纵横比例时的布局计算处理的流程图。另外,图34是表示布局计算处理的布局例的图。
在步骤S3201中,取得对各容器设定的优先度。接下来,在步骤S3202中,进行关于水平方向的布局计算。布局计算处理,如参照图26、图27说明的那样。水平方向的布局计算结束后,在步骤S3203中,检测纵横比例优先的容器,对该容器进行考虑了上述纵横比例的布局计算。由步骤S3203的布局计算求出的垂直方向的尺寸在该时刻固定,在进行步骤S3204的关于垂直方向的布局计算时,该容器不作为计算对象。即,在步骤S3204中,对于考虑纵横比例的容器,将在步骤S3203中计算出的尺寸作为固定使用,对垂直方向进行布局计算。关于垂直方向的布局计算处理,其他处理如参照图26、图27所述的那样。然后,在步骤S3205中,水平·垂直方向的布局计算结束后,在存储器上暂时保存各容器的布局。这里为了说明的方便,设在名为Layout1的区域,保存了布局信息。
在步骤S3205中,所计算出的布局只是暂时保存的,而不适用于各容器。因此,在该阶段各容器的布局信息尚保持为计算前的状态。
接下来,由步骤S3206~步骤S3209,先进行对于垂直方向的布局计算,之后将进行了水平方向的布局计算的结果保存为Layout2。首先,在步骤S3206中,对该容器集合进行关于垂直方向的布局计算。布局计算处理如上所述。垂直方向的计算结束后,在步骤S3207中,检测纵横比例优先的容器,对该容器进行上述考虑了纵横比例的布局计算。通过步骤S3207的布局计算所求出的水平方向的尺寸在该时刻固定。然后,在步骤S3208中,对水平方向进行布局计算,在步骤S3207所求出的水平方向的尺寸作为固定处理。当水平·垂直方向的布局计算结束后,进入步骤S3209,将各容器的布局暂时保存在存储器上。这里为了说明的方便,在名为Layout2的区域,保存布局信息。
如上所述,用水平方向→垂直方向和垂直方向→水平方向这两种方法进行布局计算的原因,是在考虑纵横比例的布局计算中,先计算水平方向的情况,和先计算垂直方向的情况,最终计算出的布局不同。在步骤S3205和步骤S3209中,将2个图形的布局结果预先暂时保存在存储器上,判断哪一个是最佳的布局,从而设定为最终的布局。为了进行该处理,在步骤S3209之后,在步骤S3210中进行布局调整。步骤S3210的处理参照图33在后面说明。通过该布局调整处理,最佳的布局结果反映在容器上,本处理结束。
图33是说明步骤S3210的布局调整处理的流程图。在布局调整处理中,对各容器的集合,判断被保存在Layout1和Layout2中的布局中,哪一个更合适,对于各容器的集合,采用合适一方的布局,作为最终的计算结果(Layout3)。
首先,在步骤S3301中,将布局整体的容器的集合个数赋给N。接下来,在步骤S3302中,将0赋给变量i。在步骤S3205中被暂时保存的Layout1中,存在对各容器的集合布局的计算结果,而通过将该容器集合i的布局计算结果指定为Layout1[i]能够取得。这对于Layout2也一样。
然后,在步骤S3303中,从Layout1[i]中抽取考虑纵横比例的容器P。这时,当考虑纵横比例的容器存在多个时,取得这些多个容器。在步骤S3304中,判断是否已取得了多个容器。在已取得了多个容器时,在步骤S3305中,设在所取得的容器内优先度最高的容器为容器P。在优先度相同的容器具有多个时,设在布局坐标上最左上位置的容器为容器P。另外,当未取得多个容器P时,直接进入步骤S3306。在步骤S3306中,对于在步骤S3303或者步骤S3305中取得的容器P,进行Layout1[i]和Layout2[i]的尺寸的比较。然后,将接近插入容器P中的内容的尺寸的布局结果赋给Layout_N[i]中。相反,将与容器尺寸差距大的布局结果赋给Layout_F[i]中。Layout例如,当Layoutl[i]为接近容器尺寸的尺寸时,Layout_N[i]=Layout1[i]。
接下来,在步骤S3308中,判断对容器P设定的优先度,是否大于或等于成为计算对象的容器集合中、其他容器的优先度的平均值。在判断为大于或等于时,在步骤S3309中,将在步骤S3307所设定的Layout_N[i],赋给用于暂时保存而准备的Layout3。相反,在低于平均值时,进入步骤S3310,将Layout_F[i]赋给Layout3。在赋值结束后,在步骤S3311中,删除各暂时保存用的区域Layout_N[i]和Layout_F[i]。之后,在步骤S3312中,使变量i增加,在步骤S3313中,判断对所有容器集合布局调整是否结束。如果对所有容器集合布局调整结束,则进入步骤S3314,将暂时保存的布局调整结果Layout3设定为考虑了内容的纵横比例的布局计算的结果。如果尚未对所有容器集合结束处理,则返回到步骤S3303反复进行处理。
图34表示在进行上述的考虑了内容纵横比例的布局计算时的布局例。设容器3401和容器3402以链接3403建立关联。容器3401为插入图像的图像容器,容器3402为插入文本的文本容器。另外,容器3401的优先度被设定为75%,容器3402的优先度被设定为50%。进而,对容器3401进行考虑纵横比例的设定。容器3401的尺寸为:水平方向15、垂直方向8;容器3402的尺寸为:水平方向20、垂直方向9;链接的宽为5。在该布局中,插入标号3404所示的图像内容和标号3405所示的文本内容。图像内容的尺寸为:水平方向22、垂直方向8;文本内容的尺寸为:水平方向25、垂直方向9。当插入内容时,进行上述布局计算。
设容器的计算后的尺寸为a、b,与布局相关的成本k可以表示为:
k=(a-22)2+(b-25)2...(5)
另外,如果考虑各容器的优先度,则成本k为最小时,有:
75/100(a-22)=50/100(b-25)...(6)
另外,由布局计算后的布局集合的尺寸,可以表示为:
a+b+5=40...(7)
由等式(6)、(7),可以求出各容器的计算后的尺寸。计算后的容器3406的尺寸为17.2,容器3407的尺寸为17.8。进而,由于对容器3406进行了考虑纵横比例的设定,因此,容器3406的垂直方向的尺寸,必须考虑3404的纵横比例。为此,设容器3406的垂直方向的尺寸为X,则可以表示为:
22:8=17.2:X...(8)
由式(8)求出X=6.25。由此,容器3406的垂直尺寸为6.25。标号3408表示内容尺寸。可知,容器3406保持内容的纵横比例地变化。
在图34中说明了仅考虑了水平方向的布局计算,而使用图35、图36说明考虑了水平方向和垂直方向的布局计算。即,除了对添加优先度的布局计算处理,还对考虑了纵横比例时的布局计算处理进行说明,说明容器不仅在水平方向上,在水平和垂直两方向上具有关联时的布局计算方法。布局计算处理,通过利用由图32所说明的顺序,不仅在水平方向上,即使在水平方向和垂直方向上具有关联的布局集合,也可以对其进行布局计算。
图35、图36表示在水平方向和垂直方向上具有关联的布局计算的例子。两图都处理相同的布局集合。图35表示尚未设定优先度时的例子,图36表示设定了优先度时的例子。使用这些图说明本实施例的计算处理。
图35表示由链接3504对容器3501、容器3502以及容器3503建立了关联的布局集合的计算情况。另外,对容器3501进行了考虑纵横比例的设定,图35的页面尺寸假定为宽度60。现在,将内容3505插入容器3501,内容3506插入容器3502,内容3507插入容器3503。各理想尺寸如3505、3506、3507所示。此外,基于页面宽度60,图35的文本内容数据3506被限定为宽度60。另外,文本内容数据3507,考虑了页面宽度(例如60)和页面的边距尺寸(例如,两侧每侧尺寸为10),结果,宽度被限定为40。本发明可以用于下述两种内容数据中的任何一个,即:基于页面宽度限定的文本内容数据,以及基于页面宽度和页面边距尺寸限定的文本内容数据。首先,进行水平方向的布局计算(步骤S3202)。设计算后的水平方向的容器3501的尺寸为ah,容器3502的尺寸为bh,容器3503的尺寸为ch。与水平方向相关的成本kh可以表示为:
kh=(ah-22)2+(bh-60)2...(9)
对于容器3503,由于水平方向的尺寸固定,因此不涉及成本。由于各容器的优先度相等,因此,成本k最小时,有:
ah-22=bh-60...(10)
另外,由布局计算后的布局集合的尺寸,可以表示为:
ah+bh+5=40...(11)
由等式(10)、(11),可以求出各容器的计算后的尺寸。计算后的容器3501的尺寸为-1.5,容器3502的尺寸为36.5。由于实际容器尺寸不可能为负值,因此,容器3501违反规则。对容器的尺寸设定有最大值和最小值,而无法设定负值。例如,当对容器3501设定有最小值10和最大值30时,容器3501无论与哪个应力相关都不会是比10的尺寸小。此时,无法分配的应力被分配给其他的布局。这里,设向容器3502分配。因此,水平方向的布局结果为,容器3501是10,容器3502是25。另外,容器3503不变化,为40。
接下来,对垂直方向进行尺寸计算。由于对容器3501进行了考虑纵横比例的设定,因此,通过水平尺寸10计算垂直方向的尺寸(步骤S3203)。设垂直方向的尺寸为av,则可以表示为:
22:8=10:av...(12)
由式(12)求得av=3.6。由此,容器3501的垂直尺寸为3.6。
接下来,进行垂直方向的布局计算(步骤S3204)。上述已求得容器3 501的垂直尺寸,由此,下面的等式成立:
3.6+3+cv=20...(13)
cv是容器3503的垂直尺寸。
式(13)是对布局集合的垂直尺寸的等式,通过该等式求得cv=13.45。进而,通过求得容器3503的垂直尺寸,下面的等式也成立:
bv+2+13.45=20...(14)
bv是容器3502的垂直尺寸。式(14)是对布局集合的垂直尺寸的等式,通过该等式求得bv=4.6。将通过等式(9)~(14)求得的布局结果作为以水平·垂直的顺序所计算出的布局结果暂时保存(步骤S3205)。
接下来,从垂直方向开始进行相同的布局计算(步骤S3206)。垂直方向的成本存在以下的两种模式(pattern):
kv1=(av-8)2+(cv-10)2...(15)
kv2=(bv-4)2+(cv-10)2...(16)
以下,将基于式(15)的模式称作模式A,将基于式(16)的模式称作模式B。
首先,对模式A进行计算。由于各容器的优先度相等,因此,在成本kv1最小时,有:
av-8=cv-10...(17)
另外,利用布局计算后的布局集合的尺寸,可以表示为:
av+cv+3=20...(18)
利用等式(17)、(18)求解各容器的计算后的尺寸。计算后的容器3501尺寸为7.5,容器3503尺寸为9.5。结果,容器3502尺寸为8.5。将这样求得的模式A的布局结果暂时保存起来。
接下来,对模式B进行计算。由于各容器的优先度相等,因此,在成本kv2最小时,有:
bv-4=cv-10...(19)
另外,利用布局计算后的布局集合的尺寸,可以表示为:
bv+cv+2=20...(20)
利用等式(19)、(20)求解各容器的计算后的尺寸。计算后的容器3502尺寸为6,容器3503尺寸为12。结果,容器3501尺寸为5。将这样求得的模式B的布局结果暂时保存起来。
接下来,抽取在容器集合中优先度最高的容器。由于未对该容器集合设定布局的优先度,因此全部相同。此时,将存在于该容器集合的最左上位置的容器作为优先度高的容器抽取。由此,抽取容器3501。这里,在暂时保存的上述模式A、模式B的布局结果中,检测出使容器3501接近实际尺寸地进行布局的模式。容器3501的实际尺寸为8,因此,将被计算为7.5的基于式(15)的模式A的布局结果处理成垂直方向的布局结果。
接下来,对水平方向进行计算(步骤S3207、步骤S3208)。由于对容器3501进行了考虑纵横比例的设定,因此,根据垂直尺寸7.5计算水平方向的尺寸(步骤S3207)。设水平方向的尺寸为ah,则可以表示为:
22:8=ah:7.5...(21)
利用式(21)求得ah=20。由此,容器3501的水平尺寸为20.6。
这里,通过求得容器3501的水平尺寸,下的等式成立:
20.6+5+bh=40...(22)
bh是容器3502的水平尺寸。式(22)是对布局集合的水平尺寸的等式,利用该等式求得bh=14.4。因为容器3603的水平尺寸固定,所以保持原样为40。将利用以上等式(15)~(22)求得的布局结果作为按垂直·水平的顺序所计算出的布局结果暂时保存(步骤S3209)。
接下来,通过比较按水平方向、垂直方向的顺序计算后暂时保存的布局结果,和按垂直方向、水平方向的顺序计算后暂时保存的布局结果,进行布局调整(步骤S3210)。如上所述,由于未对该布局集合设定优先度,因此,将位于最左上位置的容器3501作为优先度最高的容器处理。将该容器3501的布局结果接近理想尺寸的一个,设定为布局集合的布局结果。按水平·垂直的顺序对容器3501计算出的布局结果为,水平方向10,垂直方向3.6。按垂直·水平的顺序计算出的布局结果为水平方向20.6,垂直方向7.5。插入容器3501的内容3505的实际尺寸(理想尺寸)为水平方向22,垂直方向8,因此,按垂直·水平的顺序所计算出的布局结果这一方,为接近实际尺寸(理想尺寸)的布局。因此,将按垂直·水平的顺序计算出的布局结果设定为容器集合的布局结果(步骤S3307~步骤S3309)。计算后的布局结果如容器3508~3510所示。此外,由于本次进行布局调整时的对象是图像数据,因此,实际尺寸就是理想尺寸;而在对象是文本数据时,基于文本数据所保持的内容量和插入文本数据的容器的字体属性、容器属性,来确定理想尺寸。
接下来,说明图36的布局流程。图36是对与图35相同的布局集合设定了优先度的图。容器3601的优先度被设定为75%,容器3602的优先度被设定为50%,容器3603的优先度被设定为25%。对这些容器插入内容3605、内容3606、内容3607。内容的尺寸以及页面宽度(60),与图35的情况相同。
首先,取得对各容器设定的优先度(步骤S3201),进行水平方向的布局计算(步骤S3202)。作为计算后的水平方向的容器尺寸,设3601为ah,3602为bh,3603为ch。与水平方向相关的成本kh可以表示为:
kh=(ah-22)2+(bh-60)2...(23)
对于容器3603,由于水平方向的尺寸固定,因此不涉及成本。
在考虑了各容器的优先度的基础上,成本k最小时,有:
75/100(ah-22)=50/100(bh-60)...(24)
另外,利用布局计算后的布局集合的尺寸,可以表示为:
ah+bh+5=40...(25)
利用等式(24)、(25),求出各容器的计算后的尺寸。计算后的容器3601的尺寸为3.5,容器3602的尺寸为31.5。这里,与图35相同,对容器3601设定有最小值10和最大值30,于是,水平方向的布局结果为,容器3601是10,容器3602是25。另外,由于容器3603不变化,所以为40。
接下来,对垂直方向进行计算(步骤S3203、步骤S3204)。由于对容器3601进行了考虑纵横比例的设定,因此,根据平尺寸10计算垂直方向的尺寸。设垂直方向的尺寸为av,则可以表示为:
22:8=10:av...(26)
利用式(26)求得av=3.6。由此,容器3601的垂直尺寸为3.6。
这里,通过求得容器3601的垂直尺寸,下面的等式成立:
3.6+3+cv=20...(27)
cv是容器3603的垂直尺寸。式(27)是对布局集合的垂直尺寸的等式,利用该等式求得cv=13.45。进而,通过求得容器3603的垂直尺寸,下面的等式也成立:
bv+2+13.45=20...(28)
这里,bv是容器3602的垂直尺寸。式(28)是对布局集合的垂直尺寸的等式,利用该等式求得bv=4.6。将利用上述式(23)~(28)求得的布局结果,作为按水平·垂直的顺序计算出的布局结果暂时保存(步骤S3205)。
接下来,从垂直方向开始进行布局计算(步骤S3206)。垂直方向的成本存在以下的两种:
kv1=(av-8)2+(cv-10)2...(29)
kv2=(bv-4)2+(cv-10)2...(30)
以下,将利用式(29)进行的布局计算设为模式A,将利用式(30)进行的布局计算设为模式B。首先,对模式A进行计算。
在考虑了各容器的优先度的基础上,在成本kv1最小时,有:
75/100(av-8)=25/100(cv-10)...(31)
另外,利用布局计算后的布局集合的尺寸,可以表示为:
av+cv+3=20...(32)
利用等式(31)、(32)求解各容器的计算后的尺寸。计算后的容器3601尺寸为7.6,容器3603尺寸为9.4。结果,容器3602尺寸为8.6。将该模式A的布局结果暂时保存起来。
接下来,对模式B进行计算。由于各容器的优先度相等,因此,在成本kv2最小时,有:
50/100(bv-4)=25/100(cv-10)...(33)
另外,利用布局计算后的布局集合的尺寸,可以表示为:
bv+cv+2=20...(34)
利用等式(33)、(34)求解各容器的计算后的尺寸。计算后的容器3602尺寸为5.3,容器3603尺寸为12.7。结果,容器3601尺寸为4.3。将该模式B的布局结果暂时保存起来。
这里,抽取在容器集合中优先度最高的容器。在该容器集合中优先度被设定得最高的是容器3601。这里,在暂时保存的上述模式A和模式B的布局结果中,检测出使容器3601接近实际尺寸地进行布局的模式。由于插入容器3601的内容3605的实际尺寸为8,因此,将计算为7.6的模式A的布局结果,作为垂直方向的布局结果处理。
接下来,对水平方向进行计算(步骤S3207、步骤S3208)。由于对容器3601进行了考虑纵横比例的设定,因此,根据垂直尺寸7.6计算水平方向的尺寸(步骤S3207)。设水平方向的尺寸为ah,则可以表示为:
22:8=ah:7.6...(35)
利用式(35)求得ah=20.9。由此,容器3601的水平尺寸为20.9。这里,通过求得容器3601的水平尺寸,下面的等式成立:
20.9+5+bh=40...(36)
bh是容器3602的水平尺寸。式(36)是对布局集合的水平尺寸的等式,利用该等式求得bh=14.1。由于容器3603的水平尺寸固定,因此保持原样为40。
以上,将例用式(29)~(36)求得的布局结果,作为按垂直·水平的顺序计算出的布局结果暂时保存(步骤S3209)。
接下来,通过比较按水平·垂直的顺序计算后暂时保存的布局结果,按垂直·水平的顺序计算后暂时保存的布局结果,进行布局调整(步骤S3210)。在该布局集合中,由于容器3601为优先度最高的容器,因此,将该容器3601的布局结果接近理想尺寸的一个,设定为布局集合的布局结果。按水平·垂直的顺序,对容器3601计算出的布局结果为,水平方向10,垂直方向3.6。按垂直·水平的顺序计算出的布局结果为,水平方向20.9,垂直方向7.6。插入容器3601的内容3605的实际尺寸为,水平方向22,垂直方向8,因此,按垂直·水平的顺序计算出的布局结果这一方,为接近实际尺寸的布局。因此,将按垂直·水平的顺序计算出的布局结果,设定为容器集合的布局结果(步骤S3307~步骤S3309)。计算后的布局结果,在图36中如容器3608~3610所示。这样,通过比较按水平·垂直或者按垂直·水平这两种顺序计算后的计算结果,能够生成最佳的布局。
与图35的布局结果相比较,可知,设定了优先度的图36的布局结果为,优先度设定得高的容器,被最适当地(接近理想尺寸)布局。
以上说明的自动布局系统(布局编辑应用程序121)的功能结构,例如如图37所示。在图37中,布局编辑应用程序,实现下述布局处理,即:根据插入该多个数据区域中的各区域的内容数据,自动变更具有多个数据区域的模板的布局。该布局处理,包括抽取部3701、确定部3702以及输出部3703。抽取部3701,抽取通过链接建立关联的数据区域的集合。确定部3702,对于由抽取部3701所抽取的数据区域的集合中所包含的多个数据区域,根据插入各数据区域的内容数据所要求的内容尺寸,和基于对各数据区域设定的优先度的权重,确定各数据区域的区域尺寸。输出部3703,根据由确定部3702所确定的上述多个数据区域的区域尺寸,将上述内容数据布局输出。
如上所述,通过本实施例,在自动布局系统中,多个容器被建立了关联,相互带来影响同时使布局变化,即使在这样的情况下,也能够考虑要插入的内容数据的内容尺寸,同时对各容器设定优先级,因此,能够使用户想要的容器比其他容器优先地,计算容器尺寸(区域尺寸)。另外,通过附加基于设定的优先度(比例)的权重来计算,从而能够设定各种变动的优先级,能够在相互的容器之间协调进行布局计算。并且,能够可视地表示设定了的优先级,因此,用户能够容易地预测自动布局后的布局结果。
另外,当然,本发明还可以通过以下方式实现,即:向系统或装置提供存储了实现上述实施例的功能的软件的程序代码的存储介质(或记录介质),该系统或装置的计算机(或CPU、MPU)读出并执行存储在存储介质中的程序代码。
这时,从存储介质读出的程序代码本身,实现上述实施例的功能,存储了该程序代码的存储介质构成本发明。此外,不仅有通过执行计算机所读出的程序代码,实现上述实施例的功能的情况,当然还包括以下情况,即:按照该程序代码的指示,在计算机上运行的操作系统(OS)等,进行实际处理的一部分或全部,通过该处理,实现上述实施例的功能。
当然,还包括以下情况:将从存储介质读出的程序代码,写入插入计算机的功能扩展卡或连接在计算机上的功能扩展单元所具备的存储器,之后,按照该程序代码的指示,该功能扩展卡或功能扩展单元所具备的CPU等进行实际处理的一部分或全部,通过该处理,实现上述实施例的功能。
另外,当然,本发明还可以通过以下方式实现,即:通过网络发送实现上述实施例的功能的软件的程序代码,从而将其存储在系统或装置的硬盘、存储器等存储装置,或CD-RW、CD-R等存储介质中,该系统或装置的计算机(或CPU、MPU),读出并执行存储在该存储装置或该存储介质中的程序代码。
如上所述,通过本发明,按照对各数据区域设定的优先度,确定用于插入数据的数据区域的尺寸,因此,能够实现较好地满足用户要求的布局处理。
Claims (22)
1.一种布局处理方法,根据插入多个数据区域的各区域中的内容数据,动态地变更具有该多个数据区域的模板的布局,所述布局处理方法包括:
抽取步骤,抽取通过链接建立了关联的数据区域的集合;
确定步骤,对于在上述抽取步骤中所抽取的数据区域的集合中所包含的多个数据区域,根据插入各数据区域的内容数据所要求的内容尺寸,以及基于对各数据区域所设定的优先度的权重,确定各数据区域的区域尺寸;以及
输出步骤,根据在上述确定步骤中确定了的上述多个数据区域的区域尺寸,对上述内容数据进行布局并输出。
2.根据权利要求1所述的布局处理方法,
包括模板生成步骤,将上述数据区域作为要进行布局的布局范围,对其进行配置,生成设定了对上述各数据区域建立关联的链接的模板,
上述确定步骤,根据在上述模板生成步骤中所生成的模板,确定上述各数据区域的区域尺寸。
3.根据权利要求2所述的布局处理方法,
包括数据区域设定步骤,将要在上述确定步骤确定的上述数据区域的最大尺寸和最小尺寸,作为数据区域属性设定,
上述确定步骤,根据上述模板和上述数据区域属性,确定各数据区域的区域尺寸。
4.根据权利要求1所述的布局处理方法,
上述确定步骤,确定上述多个数据区域的各区域中的区域尺寸,使得优先度越高的数据区域,所计算出的数据区域的区域尺寸与插入该数据区域的内容数据要求的内容尺寸的差越小。
5.根据权利要求4所述的布局处理方法,
在上述确定步骤中,所计算出的上述多个数据区域的各区域中的区域尺寸与所插入的上述内容数据要求的内容尺寸的差的比,为对该多个数据区域的各区域中所设定的优先度的倒数的比。
6.根据权利要求1所述的布局处理方法,
还包括设定步骤,显示用于对各数据区域设定优先度的界面。
7.根据权利要求1所述的布局处理方法,
还包括显示步骤,显示对所指定的数据区域和通过链接与该所指定的数据区域建立了关联的数据区域所设定的优先度。
8.根据权利要求1所述的布局处理方法,
还包括显示步骤,显示对所指定的数据区域所设定的优先度。
9.根据权利要求1所述的布局处理方法,
上述确定步骤包括:
第1计算步骤,对上述数据区域的集合中所包含的多个数据区域,计算插入各数据区域的内容数据所要求的第1方向内容尺寸,并根据对各数据区域所设定的优先度计算各数据区域的该第1方向区域尺寸;以及
第2计算步骤,计算上述内容数据要求的第2方向内容尺寸,并根据对各数据区域所设定的优先度计算各数据区域的该第2方向区域尺寸;
根据在上述第1计算步骤中计算出的上述数据区域的该第1方向区域尺寸,和在上述第2计算步骤中计算出的上述数据区域的该第2方向区域尺寸,确定上述数据区域的区域尺寸。
10.根据权利要求9所述的布局处理方法,
上述确定步骤,
在上述数据区域中,当设定了纵横比例时,根据在上述第1计算步骤中所计算出的上述第1方向区域尺寸和上述纵横比例,确定上述第2方向区域尺寸。
11.根据权利要求10所述的布局处理方法,
上述确定步骤包括:
垂直·水平方向区域尺寸计算步骤,在上述数据区域中设定了纵横比例,在上述第1方向为垂直方向时,根据上述数据区域的垂直方向的区域尺寸的计算结果,计算上述数据区域的水平方向的区域尺寸;
水平·垂直方向区域尺寸计算步骤,在上述第1方向为水平方向时,根据上述数据区域的水平方向的区域尺寸的计算结果,计算上述数据区域的垂直方向的区域尺寸;以及
布局设定步骤,将在上述垂直·水平方向区域尺寸计算步骤或上述水平·垂直方向区域尺寸计算步骤中所计算出的上述数据区域的区域尺寸中的、接近要插入上述数据区域的上述内容数据尺寸的区域尺寸,设定为布局结果。
12.一种信息处理装置,根据插入多个数据区域的各区域中的内容数据,动态地变更具有该多个数据区域的模板的布局,所述信息处理装置包括:
抽取装置,抽取通过链接建立了关联的数据区域的集合;
确定装置,对于由上述抽取装置所抽取的数据区域的集合中所包含的多个数据区域,根据插入各数据区域的内容数据所要求的内容尺寸,以及基于对各数据区域所设定的优先度的权重,确定各数据区域的区域尺寸;以及
输出装置,根据上述确定装置所确定的上述多个数据区域的区域尺寸,对上述内容数据进行布局并输出。
13.根据权利要求12所述的信息处理装置,
包括模板生成装置,将上述数据区域作为要进行布局的布局范围,进行配置,生成设定了对上述各数据区域建立关联的链接的模板,
上述确定装置,根据上述模板生成装置所生成的模板,确定上述各数据区域的区域尺寸。
14.根据权利要求13所述的信息处理装置,
包括数据区域设定装置,将要由上述确定装置确定的上述数据区域的最大尺寸和最小尺寸,作为数据区域属性设定,
上述确定装置,根据上述模板和上述数据区域属性,确定各数据区域的区域尺寸。
15.根据权利要求12所述的信息处理装置,
上述确定装置,确定上述多个数据区域的各区域的区域尺寸,使得优先度越高的数据区域,所计算出的数据区域的区域尺寸与插入该数据区域的内容数据要求的内容尺寸的差越小。
16.根据权利要求15所述的信息处理装置,
在上述确定装置中,所计算出的上述多个数据区域中的各区域的区域尺寸与所插入的上述内容数据要求的内容尺寸的差的比,为对该多个数据区域中的各区域所设定的优先度的倒数的比。
17.根据权利要求12所述的信息处理装置,
还包括设定装置,显示用于对各数据区域设定优先度的界面。
18.根据权利要求12所述的信息处理装置,
还包括显示装置,显示对所指定的数据区域和通过链接与该所指定的数据区域建立了关联的数据区域所设定的优先度。
19.根据权利要求12所述的信息处理装置,
还包括显示装置,显示对所指定的数据区域所设定的优先度。
20.根据权利要求12所述的信息处理装置,
上述确定装置包括:
第1计算装置,对于上述数据区域的集合中所包含的多个数据区域,计算插入各数据区域的内容数据要求的第1方向内容尺寸,并根据对各数据区域所设定的优先度,计算各数据区域的该第1方向区域尺寸;以及
第2计算装置,计算上述内容数据所要求的第2方向内容尺寸,并根据对各数据区域所设定的优先度计算各数据区域的该第2方向区域尺寸;
根据由上述第1计算装置所计算出的上述数据区域的该第1方向区域尺寸,和由上述第2计算装置所计算出的上述数据区域的该第2方向区域尺寸,确定上述数据区域的区域尺寸。
21.根据权利要求20所述的信息处理装置,
上述确定装置,
在上述数据区域中,当设定了纵横比例时,根据在上述第1计算单元所计算出的上述第1方向区域尺寸和上述纵横比例,确定上述第2方向区域尺寸。
22.根据权利要求21所述的信息处理装置,
上述确定装置包括:
垂直·水平方向区域尺寸计算装置,在上述数据区域中设定了纵横比例,上述第1方向为垂直方向时,根据上述数据区域的垂直方向的区域尺寸的计算结果,计算上述数据区域的水平方向的区域尺寸;
水平·垂直方向区域尺寸计算装置,在上述第1方向为水平方向时,根据上述数据区域的水平方向的区域尺寸的计算结果,计算上述数据区域的垂直方向的区域尺寸;以及
布局设定装置,将由上述垂直·水平方向区域尺寸计算装置或上述水平·垂直方向区域尺寸计算装置计算出的上述数据区域的区域尺寸中的最佳区域尺寸,设定为布局结果。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004231428A JP4047308B2 (ja) | 2004-08-06 | 2004-08-06 | レイアウト処理方法、情報処理装置及びコンピュータプログラム |
JP231428/2004 | 2004-08-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1731391A true CN1731391A (zh) | 2006-02-08 |
CN100407195C CN100407195C (zh) | 2008-07-30 |
Family
ID=35757368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510089810XA Expired - Fee Related CN100407195C (zh) | 2004-08-06 | 2005-08-05 | 布局处理方法、信息处理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7761791B2 (zh) |
JP (1) | JP4047308B2 (zh) |
CN (1) | CN100407195C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544336A (zh) * | 2012-03-23 | 2014-01-29 | 山东电力集团公司青岛供电公司 | 基于逻辑关系的电网模型的建模系统 |
CN104035667A (zh) * | 2014-04-30 | 2014-09-10 | 百度在线网络技术(北京)有限公司 | 一种用于展现候选信息的方法和装置 |
CN106796582A (zh) * | 2014-09-30 | 2017-05-31 | 微软技术许可有限责任公司 | 建议内容的动态呈现 |
CN107633249A (zh) * | 2012-01-12 | 2018-01-26 | 柯法克斯公司 | 用于移动图像捕获和处理的系统和方法 |
CN108196964A (zh) * | 2017-12-29 | 2018-06-22 | 北京奇虎科技有限公司 | 一种将数据流模块化的方法和装置 |
US10380228B2 (en) | 2017-02-10 | 2019-08-13 | Microsoft Technology Licensing, Llc | Output generation based on semantic expressions |
US10896284B2 (en) | 2012-07-18 | 2021-01-19 | Microsoft Technology Licensing, Llc | Transforming data to create layouts |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4047308B2 (ja) * | 2004-08-06 | 2008-02-13 | キヤノン株式会社 | レイアウト処理方法、情報処理装置及びコンピュータプログラム |
GB2421106A (en) * | 2004-12-07 | 2006-06-14 | Hewlett Packard Development Co | A method and apparatus for preparing variable-data documents for publishing |
JP4756870B2 (ja) * | 2005-02-03 | 2011-08-24 | キヤノン株式会社 | 文書処理装置及び文書処理方法並びにプログラム |
DE102005009105A1 (de) * | 2005-02-28 | 2006-09-07 | Siemens Ag | Verfahren und Verwalten einer Anzeigeeinrichtung |
US20060224571A1 (en) | 2005-03-30 | 2006-10-05 | Jean-Michel Leon | Methods and systems to facilitate searching a data resource |
WO2007019571A2 (en) | 2005-08-09 | 2007-02-15 | Compography, Inc. | Methods and apparatuses to assemble, extract and deploy content from electronic documents |
US7533354B2 (en) * | 2005-08-25 | 2009-05-12 | International Business Machines Corporation | Technique for selecting and prioritizing choices |
US20070079236A1 (en) * | 2005-10-04 | 2007-04-05 | Microsoft Corporation | Multi-form design with harmonic composition for dynamically aggregated documents |
WO2007072640A1 (ja) * | 2005-12-22 | 2007-06-28 | Matsushita Electric Industrial Co., Ltd. | マルチウィンドウ表示装置、マルチウィンドウ表示方法、及び集積回路 |
US8127227B1 (en) * | 2006-10-23 | 2012-02-28 | Sprint Spectrum L.P. | Computerized method for dynamic content placement in a document |
JP4912139B2 (ja) * | 2006-12-22 | 2012-04-11 | キヤノン株式会社 | 情報処理装置 |
JP2008310525A (ja) * | 2007-06-13 | 2008-12-25 | Canon Inc | 情報処理装置、情報処理方法、及び、情報処理プログラム |
JP5187057B2 (ja) * | 2008-08-07 | 2013-04-24 | 株式会社リコー | レイアウト印刷システム、レイアウト文書閲覧方法、及びプログラム |
JP5183384B2 (ja) * | 2008-09-18 | 2013-04-17 | キヤノン株式会社 | レイアウト処理方法、レイアウト処理装置、レイアウト制御プログラム |
JP2010123002A (ja) * | 2008-11-20 | 2010-06-03 | Canon Inc | 文書画像レイアウト装置 |
JP5264515B2 (ja) * | 2009-01-06 | 2013-08-14 | キヤノン株式会社 | 文書編集装置およびその制御方法 |
US8547588B2 (en) * | 2009-01-23 | 2013-10-01 | Hewlett-Packard Development Company, L.P. | Method and article for providing layout flexibility |
US8296653B2 (en) * | 2009-04-06 | 2012-10-23 | Xerox Corporation | Variable imaging asset upload and verification |
CN101876829B (zh) * | 2009-04-29 | 2011-12-21 | 重庆川仪自动化股份有限公司 | 一种提高定位器控制精度的方法 |
CN101876973B (zh) * | 2009-04-30 | 2012-05-30 | 方正国际软件(北京)有限公司 | 一种版面均等化排版方法 |
US9811511B1 (en) * | 2009-11-11 | 2017-11-07 | West Corporation | Method and apparatus of creating customized computer-based user dashboard interfaces |
US9135358B2 (en) | 2010-10-20 | 2015-09-15 | Microsoft Technology Licensing, Llc | Result types for conditional data display |
US9436685B2 (en) | 2010-12-23 | 2016-09-06 | Microsoft Technology Licensing, Llc | Techniques for electronic aggregation of information |
US9679404B2 (en) | 2010-12-23 | 2017-06-13 | Microsoft Technology Licensing, Llc | Techniques for dynamic layout of presentation tiles on a grid |
US9715485B2 (en) | 2011-03-28 | 2017-07-25 | Microsoft Technology Licensing, Llc | Techniques for electronic aggregation of information |
US10789412B2 (en) * | 2012-02-20 | 2020-09-29 | Wix.Com Ltd. | System and method for extended dynamic layout |
US9047300B2 (en) | 2012-05-24 | 2015-06-02 | Microsoft Technology Licensing, Llc | Techniques to manage universal file descriptor models for content files |
US9069781B2 (en) | 2012-05-24 | 2015-06-30 | Microsoft Technology Licensing, Llc | Techniques to automatically manage file descriptors |
US8775385B2 (en) | 2012-05-24 | 2014-07-08 | Microsoft Corporation | Techniques to modify file descriptors for content files |
US9146911B1 (en) * | 2012-07-17 | 2015-09-29 | Google Inc. | Predicting expansion directions for expandable content item environments |
JP2014106882A (ja) * | 2012-11-29 | 2014-06-09 | Toshiba Corp | 情報処理装置及び表示制御方法 |
US9830304B1 (en) * | 2013-02-22 | 2017-11-28 | Swoop Inc. | Systems and methods for integrating dynamic content into electronic media |
US10007933B2 (en) * | 2013-02-22 | 2018-06-26 | Swoop Inc. | Systems and methods for integrating dynamic content into electronic media |
US20150169609A1 (en) * | 2013-12-06 | 2015-06-18 | Zaius, Inc. | System and method for load balancing in a data storage system |
US9959257B2 (en) * | 2016-01-08 | 2018-05-01 | Adobe Systems Incorporated | Populating visual designs with web content |
JP6800503B1 (ja) * | 2020-05-27 | 2020-12-16 | 株式会社イセトー | 印刷データ作成システム、印刷管理システム、印刷データ作成方法及びプログラム |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5089990A (en) * | 1984-08-14 | 1992-02-18 | Sharp Kabushiki Kaisha | Word processor with column layout function |
JP2755622B2 (ja) * | 1988-10-24 | 1998-05-20 | 株式会社東芝 | 画像形成装置 |
US5060170A (en) * | 1989-08-09 | 1991-10-22 | International Business Machines Corp. | Space allocation and positioning method for screen display regions in a variable windowing system |
US5649216A (en) * | 1991-05-17 | 1997-07-15 | Joseph S. Sieber | Method and apparatus for automated layout of text and graphic elements |
US5437008A (en) * | 1992-06-23 | 1995-07-25 | Adobe Systems Incorporated | Method of establishing constraints and links in a distribution frame between graphical elements and resolving the constaints |
US5855009A (en) * | 1992-07-31 | 1998-12-29 | Texas Instruments Incorporated | Concurrent design tradeoff analysis system and method |
JPH06203130A (ja) | 1992-09-25 | 1994-07-22 | Nec Corp | 図形編集システム |
JPH07129658A (ja) | 1993-11-02 | 1995-05-19 | Toppan Printing Co Ltd | レイアウトデザイン装置 |
US5845303A (en) * | 1994-12-06 | 1998-12-01 | Netpodium, Inc. | Document processing using frame-based templates with hierarchical tagging |
US7124359B2 (en) * | 1996-01-11 | 2006-10-17 | Canon Kabushiki Kaisha | Image edit device adapted to rapidly lay-out photographs into templates with means for preview and correction by user |
US6596032B2 (en) * | 1996-10-15 | 2003-07-22 | Fujitsu Limited | Document processing apparatus storing and modifying data using effect data |
US6879943B1 (en) * | 1998-10-27 | 2005-04-12 | Canon Kabushiki Kaisha | Document processing apparatus and method |
US6470016B1 (en) * | 1999-02-09 | 2002-10-22 | Nortel Networks Limited | Servicing output queues dynamically according to bandwidth allocation in a frame environment |
DE60004766T2 (de) * | 1999-06-07 | 2004-07-08 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Verfahren zur dynamischen zeitplanung von publikationen in einem automatisierten dokumentenausgabesystem |
US6826727B1 (en) * | 1999-11-24 | 2004-11-30 | Bitstream Inc. | Apparatus, methods, programming for automatically laying out documents |
US7028255B1 (en) * | 2000-08-14 | 2006-04-11 | Adobe Systems Incorporated | Self-sizing object placement |
US6760043B2 (en) * | 2000-08-21 | 2004-07-06 | Intellocity Usa, Inc. | System and method for web based enhanced interactive television content page layout |
US7082576B2 (en) * | 2001-01-04 | 2006-07-25 | Microsoft Corporation | System and process for dynamically displaying prioritized data objects |
US8001465B2 (en) * | 2001-06-26 | 2011-08-16 | Kudrollis Software Inventions Pvt. Ltd. | Compacting an information array display to cope with two dimensional display space constraint |
US20040205553A1 (en) * | 2001-08-15 | 2004-10-14 | Hall David M. | Page layout markup language |
KR100464421B1 (ko) * | 2002-06-28 | 2005-01-03 | 삼성전자주식회사 | Osd프로세서 및 osd 데이터 프로세싱 방법 |
US7107525B2 (en) * | 2002-07-23 | 2006-09-12 | Xerox Corporation | Method for constraint-based document generation |
JP2004094385A (ja) | 2002-08-29 | 2004-03-25 | Olympus Corp | 画像入力装置の領域選択方式、領域選択方法及び領域選択プログラム |
US20040088649A1 (en) * | 2002-10-31 | 2004-05-06 | International Business Machines Corporation | System and method for finding the recency of an information aggregate |
JP4145805B2 (ja) * | 2003-03-17 | 2008-09-03 | セイコーエプソン株式会社 | テンプレート生成システム、レイアウトシステム、テンプレート生成プログラム、レイアウトプログラムおよびテンプレート生成方法並びにレイアウト方法 |
DE602004023165D1 (de) * | 2003-10-15 | 2009-10-29 | Canon Kk | Selektive Voranzeige und Probedruck von Dokumente oder Layouts, die variablen Daten enthalten |
JP4194476B2 (ja) * | 2003-11-13 | 2008-12-10 | キヤノン株式会社 | 文書処理装置及び文書処理方法 |
JP4110105B2 (ja) * | 2004-01-30 | 2008-07-02 | キヤノン株式会社 | 文書処理装置及び文書処理方法及び文書処理プログラム |
JP4125249B2 (ja) * | 2004-01-30 | 2008-07-30 | キヤノン株式会社 | 情報処理方法及び情報処理装置及びコンピュータ読み取り可能なプログラム |
JP4250540B2 (ja) * | 2004-01-30 | 2009-04-08 | キヤノン株式会社 | レイアウト調整方法および装置およびレイアウト調整プログラム |
JP4095558B2 (ja) * | 2004-01-30 | 2008-06-04 | キヤノン株式会社 | 文書処理装置及び文書処理方法及びコンピュータプログラム |
JP4165888B2 (ja) * | 2004-01-30 | 2008-10-15 | キヤノン株式会社 | レイアウト制御方法、レイアウト制御装置及びレイアウト制御プログラム |
JP4059504B2 (ja) * | 2004-01-30 | 2008-03-12 | キヤノン株式会社 | 文書処理装置及び文書処理方法及び文書処理プログラム |
JP4241410B2 (ja) * | 2004-01-30 | 2009-03-18 | キヤノン株式会社 | レイアウト調整方法および装置およびレイアウト調整プログラム |
EP1569087A3 (en) * | 2004-02-17 | 2007-04-25 | Canon Kabushiki Kaisha | Data processing apparatus, data processing method, program for implementing the method, and storage medium storing the program |
JP4144883B2 (ja) * | 2004-08-06 | 2008-09-03 | キヤノン株式会社 | 情報処理装置及びその制御方法、プログラム |
JP4332477B2 (ja) * | 2004-08-06 | 2009-09-16 | キヤノン株式会社 | レイアウト調整方法及び装置並びにプログラム |
JP4047308B2 (ja) * | 2004-08-06 | 2008-02-13 | キヤノン株式会社 | レイアウト処理方法、情報処理装置及びコンピュータプログラム |
JP4250577B2 (ja) * | 2004-08-31 | 2009-04-08 | キヤノン株式会社 | 情報処理装置、情報処理方法、ならびにプログラム |
JP4111519B2 (ja) * | 2004-08-31 | 2008-07-02 | キヤノン株式会社 | レイアウト処理方法、情報処理装置及びコンピュータプログラム |
JP4332480B2 (ja) * | 2004-08-31 | 2009-09-16 | キヤノン株式会社 | レイアウト調整方法及び装置並びにプログラム |
JP4298642B2 (ja) * | 2004-12-14 | 2009-07-22 | キヤノン株式会社 | レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム |
JP4510653B2 (ja) * | 2005-01-31 | 2010-07-28 | キヤノン株式会社 | レイアウト決定方法及び装置並びにプログラム |
JP4756870B2 (ja) * | 2005-02-03 | 2011-08-24 | キヤノン株式会社 | 文書処理装置及び文書処理方法並びにプログラム |
JP4241647B2 (ja) * | 2005-03-04 | 2009-03-18 | キヤノン株式会社 | レイアウト制御装置、レイアウト制御方法及びレイアウト制御プログラム |
JP2006277727A (ja) * | 2005-03-04 | 2006-10-12 | Canon Inc | レイアウト処理方法、情報処理装置及びコンピュータプログラム |
-
2004
- 2004-08-06 JP JP2004231428A patent/JP4047308B2/ja not_active Expired - Fee Related
-
2005
- 2005-08-04 US US11/196,579 patent/US7761791B2/en not_active Expired - Fee Related
- 2005-08-05 CN CN200510089810XA patent/CN100407195C/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107633249A (zh) * | 2012-01-12 | 2018-01-26 | 柯法克斯公司 | 用于移动图像捕获和处理的系统和方法 |
CN103544336A (zh) * | 2012-03-23 | 2014-01-29 | 山东电力集团公司青岛供电公司 | 基于逻辑关系的电网模型的建模系统 |
CN103544336B (zh) * | 2012-03-23 | 2016-02-03 | 山东电力集团公司青岛供电公司 | 基于逻辑关系的电网模型的建模系统 |
US10896284B2 (en) | 2012-07-18 | 2021-01-19 | Microsoft Technology Licensing, Llc | Transforming data to create layouts |
CN104035667A (zh) * | 2014-04-30 | 2014-09-10 | 百度在线网络技术(北京)有限公司 | 一种用于展现候选信息的方法和装置 |
CN104035667B (zh) * | 2014-04-30 | 2018-02-02 | 百度在线网络技术(北京)有限公司 | 一种用于展现候选信息的方法和装置 |
CN106796582A (zh) * | 2014-09-30 | 2017-05-31 | 微软技术许可有限责任公司 | 建议内容的动态呈现 |
US10380228B2 (en) | 2017-02-10 | 2019-08-13 | Microsoft Technology Licensing, Llc | Output generation based on semantic expressions |
CN108196964A (zh) * | 2017-12-29 | 2018-06-22 | 北京奇虎科技有限公司 | 一种将数据流模块化的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100407195C (zh) | 2008-07-30 |
US7761791B2 (en) | 2010-07-20 |
US20060029125A1 (en) | 2006-02-09 |
JP4047308B2 (ja) | 2008-02-13 |
JP2006048532A (ja) | 2006-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1731391A (zh) | 布局处理方法、信息处理装置 | |
CN100337187C (zh) | 布局调整方法、布局调整装置及程序 | |
CN1313916C (zh) | 布局控制方法和布局控制装置 | |
CN1731399A (zh) | 信息处理装置及其控制方法 | |
CN1828516A (zh) | 布局控制装置和布局控制方法 | |
CN100337188C (zh) | 布局处理方法和信息处理装置 | |
CN100351770C (zh) | 布局调整方法和装置 | |
CN1731397A (zh) | 信息处理装置及其控制方法 | |
CN1811691A (zh) | 信息处理装置及其控制方法 | |
CN1912825A (zh) | 信息处理装置及其控制方法 | |
CN1110745C (zh) | 具有面向目标的打印接口的操作系统 | |
CN1648846A (zh) | 文件处理装置和文件处理方法 | |
CN1731819A (zh) | 布局调整方法和装置 | |
CN1271505C (zh) | 用于进行图像检索的图像处理装置及方法 | |
CN1828517A (zh) | 文档处理装置和文档处理方法 | |
CN1648894A (zh) | 文件处理装置和文件处理方法 | |
CN1648849A (zh) | 布局调整方法和装置 | |
CN1940912A (zh) | 文件作成系统、文件作成方法、程序以及存储介质 | |
CN1842126A (zh) | 信息处理装置、图像处理装置和方法及为此的存储介质 | |
CN1790338A (zh) | 布局处理方法、装置以及程序 | |
CN101046729A (zh) | 信息处理设备和其控制方法 | |
CN101046728A (zh) | 信息处理设备和其控制方法 | |
CN1815435A (zh) | 文档处理装置和文档处理方法 | |
CN1744036A (zh) | 报告软件中支持定制图形表示的系统和方法 | |
CN1763743A (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: 20080730 Termination date: 20150805 |
|
EXPY | Termination of patent right or utility model |