CN101183353B - 信息处理装置和控制方法 - Google Patents
信息处理装置和控制方法 Download PDFInfo
- Publication number
- CN101183353B CN101183353B CN2007101694753A CN200710169475A CN101183353B CN 101183353 B CN101183353 B CN 101183353B CN 2007101694753 A CN2007101694753 A CN 2007101694753A CN 200710169475 A CN200710169475 A CN 200710169475A CN 101183353 B CN101183353 B CN 101183353B
- Authority
- CN
- China
- Prior art keywords
- size
- subtemplate
- data
- layout
- content
- 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.)
- Active
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/103—Formatting, i.e. changing of presentation of documents
- G06F40/114—Pagination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
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)
- Editing Of Facsimile Originals (AREA)
- Processing Or Creating Images (AREA)
Abstract
公开了一种信息处理装置、控制方法以及计算机可读介质,其中,自动布局处理包括基于沿行方向排列的子模板的垂直大小和沿列方向排列的子模板的水平大小确定区域大小,并将每个子模板定位在对应的区域内。
Description
技术领域
本发明涉及一种包括信息处理装置的自动布局系统、用于控制该信息处理装置的方法以及控制该信息处理装置的程序。
背景技术
当今的商品环境允许用户购买选自多种商品的喜爱的商品,并趋向于减少每种商品的生命周期。同时,基于互联网的定制服务在消费者中成为最新趋势。在这种环境中,消费者关系管理(CRM)和一对一营销是可符合或优于消费者满意度且会增加顾客数量的有前途的技术。
一对一营销是一种基于数据库的营销,其建立存储顾客的个人属性信息(例如年龄、性别、兴趣、品味、购买历史等等)的数据库,并且可通过分析数据库信息推荐满足每个顾客的需求的产品。可变打印是一种代表一对一营销的商业模式。
桌面出版(DTP)技术和数字打印装置的开发使得可变打印系统可根据每个顾客的偏好定制输出文档。在此方面,希望根据每个顾客的请求优化内容的布局。
为了生成文档,传统的可变打印包括以下步骤:在文档上创建包括容器的模板,使该模板与数据库相关联,并从数据库将内容数据注入模板的容器。在此情况下,每个容器是内容数据被注入其中的区域。
但是,每个容器具有固定大小。如果将被插入容器的内容数据(文本和/或图像数据)具有较大的量,则内容数据不能被完全容纳或布置在该容器内。此外,如果与容器的容量相比内容数据的大小较小,则容器内会残留空白空间。
为了解决这些问题,存在一种可设置其大小根据文本数据和图像数据可变的容器的自动布局系统。即,自动布局系统可参照被注入每个容器的内容数据的大小改变容器大小,并且可解决上述问题。
但是,根据该根据内容数据的大小改变容器大小的系统,如果大的内容数据被插入模板的所有容器,则每个容器的大小会被扩大并且可能与其它容器重叠。
为了解决此问题,日本专利申请公开No.2005-216174内说明的技术通过使多个容器相关来调整这些容器的布局,以便避免相邻容器之间发生重叠,并确定与内容数据的所需大小类似的每个容器的大小。
此外,可变打印系统可确定根据多记录技术包括多条记录的文档的布局。多记录技术可分析顾客信息,并创建包括包含每个顾客请求的内容数据的多条记录的文档。
日本专利申请公开No.2005-216182内说明的示例性多记录技术包括如下过程:生成被称为“流动区域”的区域,提取包含满足为流动区域设置的条件的内容数据的记录,将被提取的记录注入被称为“子模板”的模板区域,调节子模板内的记录的布局,并最终确定调节结果在流动区域内的位置(定位)。
但是,上述日本专利申请公开No.2005-216182内说明的子模板的大小不管将被注入子模板的内容数据如何都是固定的。因此,如果布局对象是超过最初设置的子模板的容量的大的内容数据,则日本专利申请特开号2005-216182内说明的多记录技术与内容数据的创建者预期的大小相比会大大减小内容数据的大小。
在此方面,根据内容数据的大小可变的子模板可解决上述问题。可变子模板的大小依赖于将被注入其中的内容数据。因此,如果内容数据的大小大,则可变子模板会相应地变大。如果内容数据的大小小,则可变子模板会相应地变小。结果,当可变子模板被沿水平方向排列时,被最终确定的每个子模板的布局的高度会不一致。
因此,上述传统技术不能满足要求得到以表格或矩阵图案良好平衡的包含商品的广告用目录的顾客。
发明内容
本发明的示例性实施例涉及一种能够生成在其中良好平衡的内容数据被沿垂直和水平方向定位且保持内容数据的所需大小的布局结果的技术。
根据本发明的一个方面,一种信息处理装置被配置成存储具有其中设置从数据库提取内容数据的提取条件的流动区域的模板,并使用包括被提取的内容数据被定位在其中的子模板的流动区域确定布局。信息处理装置包括被配置成从数据库获取满足提取条件的内容数据的获取部件;被配置成基于每一行内的垂直子模板大小和每一列内的水平子模板大小确定构成流动区域的每个单元区域的区域大小的第一确定部件,其中该获取部件获取的内容数据被定位在多个子模板内,每一行内的垂直子模板大小选自沿代表水平方向的行方向排列的多个子模板,每一列内的水平子模板大小选自沿代表垂直方向的列方向排列的多个子模板;以及定位部件,该定位部件被配置成确定每个子模板的大小以便该子模板被包含在具有该第一确定部件确定的区域大小的单元区域内,并将内容数据定位在子模板内。
本发明的其它特征和方面在下文参照附图对示例性实施例的详细说明中将变得显而易见。
附图说明
合并入且作为说明书的一部分的附图示出本发明的示例性实施例和特征,并且与说明书一起用于阐明本发明的至少一些原理。
图1示出根据本发明的一个示例性实施例的计算机系统。
图2示出根据本发明的一个示例性实施例的计算机模块。
图3示出根据本发明的一个示例性实施例的主窗口的示例。
图4示出根据本发明的一个示例性实施例的容器的示例性显示图案。
图5A到5C示出根据本发明的一个示例性实施例的应用于容器的规则。
图6A到6C示出根据本发明的一个示例性实施例的链接设置用户界面(UI)。
图7A和7B是示出根据本发明的一个示例性实施例的布局计算处理的流程图。
图8A到8C示出根据本发明的一个示例性实施例的与图7A和7B内所示的流程图有关的UI。
图9示出根据本发明的一个示例性实施例的多记录。
图10是示出根据本发明的第一示例性实施例的整个处理的流程图。
图11示出根据第一示例性实施例的流动区域。
图12示出根据第一示例性实施例的流动区域设置对话框。
图13示出根据第一示例性实施例的子模板。
图14是示出根据第一示例性实施例的子模板布局处理的流程图。
图15示出根据第一示例性实施例的条件式设置屏幕。
图16示出根据第一示例性实施例的子数据库。
图17是示出根据第一示例性实施例的表格格式流动区域的布局计算处理的流程图。
图18是示出根据第一示例性实施例的子模板布局计算处理的流程图。
图19是示出根据第一示例性实施例的布局结果显示处理的流程图。
图20是示出根据第一示例性实施例的最大行高度计算处理的流程图。
图21是示出根据第一示例性实施例的最大列宽度计算处理的流程图。
图22示出被定位在流动区域内的示例性子模板。
图23示出被定位在流动区域内的示例性子模板。
图24示出示例性的表格格式布局结果。
图25示出用于虚拟布局计算的示例性容器结构。
图26示出用于虚拟布局计算的示例性容器结构。
图27示出表格格式的示例性计算处理结果。
图28示出用于调整每个单元区域的大小的示例性计算。
图29示出指示将组合单元用于记录的示例性子数据库。
图30是示出用于实现组合单元的显示的布局计算处理的流程图。
图31示出包含被分配给记录的组合单元的示例性布局结果。
图32示出示例性的可变数据打印。
图33示出布局计算处理的示例。
图34是示出示例性的流动区域布局计算处理的流程图。
图35示出示例性的用于确定子模板的大小的处理。
图36示出示例性的用于确定子模板的大小的处理。
图37示出根据本发明的第三示例性实施例的数据库。
图38示出根据第三示例性实施例的用于条件式设置的UI。
图39示出根据第三示例性实施例的示例性子模板。
图40示出根据第三示例性实施例的布局结果。
图41是示出根据第三示例性实施例的布局处理的流程图。
图42示出根据本发明的第三示例性实施例的信息处理装置的功能模块。
具体实施方式
下文对示例性实施例的说明在本质上是示例性的而绝不是打算限制本发明、其应用或使用。在适当的时候,本领域内的普通技术人员已知的过程、技术、装置和系统将被预期是授权说明书的一部分。应指出在整个说明书中,类似的标号和字母在附图中指示类似的项目,因此一旦项目在一个附图中被说明,则在下面的附图将不再对其进行说明。下文将参照附图详细说明示例性实施例。
第一示例性实施例
图1示出根据本发明的一个示例性实施例的、被配置成打印可变文档数据的系统100。主机101包括布局编辑应用121。布局编辑应用121包括用户界面103和布局引擎105。主机101可经由网络107与数据库服务器117通信。数据库服务器117包括存储内容数据的数据库119。
图2示出系统100内的主机101的框图。主机101可根据安装在其上的软件的指令执行布图编辑处理和打印处理。
软件例如被存储在包括下列存储装置的计算机用的计算机可读介质内。当从计算机可读介质加载软件时,主机101可执行该软件。主机101可根据用户可作为计算机软件产品购买的计算机可读应用程序,实现文档布局编辑处理和可变数据打印处理。
主机101与诸如键盘132或鼠标133的输入装置(即,定点设备)相关联。主机101可与诸如显示部件144和打印机145的输出装置通信。
输入/输出(I/O)接口138控制主机101和其它计算机之间的网络连接107。示例性网络连接107例如是局域网(LAN)或广域网(WAN)。
主机101包括至少一个处理器部件135和存储部件136。存储部件136例如是随机存取存储器(RAM)或只读存储器(ROM)。此外,主机101包括视频接口137以及键盘132和鼠标133的I/O接口143。
存储设备139包括硬盘驱动器(HDD)140和软盘驱动器(FDD)141。CD-ROM驱动器142是非易失性数据源。主机101的处理器135根据诸如LINUX或Microsoft Windows的操作系统操作,并且可使用I/O接口143经由互连总线134进行通信。
布局编辑应用121驻留在硬盘驱动器140内。处理器135读取并执行布局编辑应用121。存储部件136与硬盘驱动器140同步地操作以存储从网络107和布局编辑应用121的介质存储设备取得的数据。
根据其它示例,用户可使用被编码且经由对应的驱动器142和141从CD-ROM或软盘读取的布局编辑应用121。
可选择地,用户可经由网络107从其它设备得到布局编辑应用121。软件可经由其它可读介质—其包括磁带、ROM、集成电路、磁光盘、无线或红外数据通信、计算机可读卡、电子邮件通信、内联网和互联网—被加载到主机101的存储设备内。
布局编辑应用121包括两个软件构件。第一软件构件是根据对矩形区域和设置大小的限制来计算矩形形状和线的位置的布局引擎105。
第二软件构件是使用户能够创建文档模板并使该文档模板与数据源相关联的用户界面103。
用户界面103和布局引擎105可经由通信信道123相互通信。由其它计算机构成的数据库服务器117的数据库119用作提供可用于文档创建的数据的数据源。
主机101经由网络107与数据库服务器117通信。布局编辑应用121生成被存储在主机101或文件服务器115内的文档模板。
布局编辑应用121将数据并入文档模板并生成文档。布局编辑应用121生成的文档被存储在主机101的存储部件136内或文件服务器115内。
此外,布局编辑应用121生成的文档可被传送给打印文档的打印机113。打印服务器109是提供网络功能的计算机,打印机113可利用该网络功能经由网络与其它设备通信。打印服务器109可经由通信信道111与打印机113通信。
图32示出根据本示例性实施例的示例性可变数据打印。
用户界面(即,用户界面模块)103根据来自用户的操作指令在页面上定位多个容器181到183。用户界面103生成包括被分配给每个容器的位置/大小约束条件的文档模板180。
此外,用户界面103使文档模板180与数据源190相关联。用户界面103使每个容器与数据源190内的每个数据字段(图32内的191-193)相关。
文档模板180内描述了指示每个容器和数据源190内的每个数据字段之间的关系的信息。文档模板180被存储在HDD 140内。数据源190是描述每条记录的项数据的且被存储在HDD 140内的文件。布局引擎105根据来自用户的打印指令或预览指令从数据源190读取内容数据(即,相关数据),并将被读取的每条记录的内容数据注入文档模板180的容器181到183中的对应的一个容器。例如,布局引擎105将记录1的数据字段A到C注入容器181到183,并根据被注入的数据调整每个容器的大小。即,布局引擎105具有布局调整功能。
如果从用户输入预览指令,则显示部件144显示通过布局调整得到的文档图像作为预览图像。如果从用户输入打印指令,则打印机驱动器将布局引擎105生成的文档图像转换成页面描述语言,并基于该页面描述语言输出打印数据。
因此,通过连续处理记录可实现可变数据打印。
数据库服务器117的数据库119可用作用于文档创建的数据源190。在此情况下,主机101经由网络107与数据库服务器117通信,并访问该数据源。
布局编辑应用121生成的文档模板180被存储在主机101或由其它计算机构成的文件服务器115内。
用户界面103根据用户的指令使显示部件144显示图3内所示的窗口301。
窗口301包括菜单栏302、工具栏303、工作区306、选项板311、和光标/指针设备313。工作区306可根据鼠标133的位置和移动而移动。选项板311是可选的。菜单栏302包括构成菜单选项层次的多个菜单项304。
工具栏303包括可根据应用的特定模式被显示的窗口小部件305,例如工具按钮。标尺308任选地可用于指示工作区内显示的指针、页面、线、边缘导向器、容器或对象的位置。选项板311使用户能够访问另外的功能,例如显示可变数据的库。选项板311包括使用户能够移动窗口、调整窗口的大小并关闭窗口的窗口控制312。
工具栏区域303包括至少一个下列用户可操作的“按钮”。
选择工具按钮使用户能够选择、移动和调整容器的侧边部分的大小并锁定/解锁该设置。用户可在屏幕上拖动以画出包围多个容器的选择框,或在连续按下CTRL键的同时连续选择多个容器。
图像容器工具按钮使用户能够创建包含静态的或可变的图像的容器。文本容器工具按钮使用户能够创建包含静态的或可变的文本的容器。链接工具按钮使用户能够调整容器之间的距离。
工作区306使用户能够显示并编辑所设计的文档模板。通过工作区306设计文档模板的轮廓的用户可确认在内容数据基于可变数据的量和大小被注入的情况下文档上发生的任何变化。
如果外部数据源被链接到模板,则文档的预览显示内容数据(文本和图像)以及模板上的容器。
文档的预览可包括直观的文档的结构和每个容器的绘图。
工作区306包括滚动栏307、任选的标尺308和文档模板309。文档模板309可包括多个页面。
用户可指定文档模板309的页面大小。每个文档的页面的数量可根据可变数据的量改变。如果可变数据的量超过一个页面,则自动创建其它页面。
每个页面上的边界线是指示页面上可打印的对象的最大宽度的页边空白310。
图3的示例是单页大小的文档模板309。在文档模板309上显示的对象是容器407和408、未固定的侧边部分410和使多个容器相关的链接412。
容器是构成文档模板的一部分的、用户可将内容数据(文本数据或图像数据)输入其中的区域。每个容器的位置可依赖于与其它容器或对象的关系而改变。用户界面103显示容器,并使用户能够移动或调整每个容器。
更具体地说,容器包括设置、可视化表示、交互和编辑操作的集合。
用户可将固定的或可变的内容数据注入容器。用户可从数据源获得可变内容。在本示例性实施例中,可变内容并不包括动画或其它活动内容,这是因为这些数据并不适合于打印。
被分配给固定内容的容器在每个文档中都会生成相同的输出结果。但是,可变容器的布局会改变被分配给固定内容的容器的位置。
文档创建处理包括将数据源的内容数据注入(并入)容器,并显示具有被从数据源注入的内容数据的容器。具有被注入的内容数据的容器可以例如被打印或在显示部件144上被显示。
每个容器具有交互式用户界面,例如图形用户界面(GUI),其使用户能够编辑容器或改变显示设置。尽管显示部件144可显示界面的元件,但是界面的元件并不可打印。用户界面103显示容器的一些装饰性功能(包括背景色或字体),并且还显示使用户能够设置、编辑和查看容器的界面元件。
约束条件的设置是控制被注入容器的内容数据的输出所必需的。用户可改变约束条件以使用相同的文档模板输出不同文档。示例性约束条件是容器的大小设置,例如“在此容器内的内容的高度不超过4英寸”。另一个示例性约束条件是容器的位置设置,例如“容器内的内容的左侧边部分的水平位置在任何文档显示中总是相同的”。下文是用于使用GUI设置约束条件的示例性方法。
类似于识别在页面上限定的图像的位置的位置信息,指定固定内容的位置的内容位置文件夹在数字打印技术中是公知的。
用户可设置容器的位置和大小,并且还可编辑或查看容器。下面的根据本实施例的用于显示和编辑容器的方法被专门应用于可变数据打印。
容器被用于确定内容数据的大小和位置。当用户使用相同文档模板生成多个文档的布局时,容器可被用作使用户能够指定和查看多个文档的可能布局和约束条件的用户界面。
两类典型的容器是文本容器和图像容器。被注入文本容器的内容数据是文本数据。被注入图像容器的内容数据是图像数据。内容数据可以是固定数据或可变数据。
为了创建新的文本容器或新的图像容器,用户可通过在文本容器工具按钮或图像容器工具按钮被选择或按下的状态下在文档模板309上拖动,创建矩形区域。
此外,当合适的工具活动时,用户可点击文档模板309以创建新的容器。在此情况下,新创建的容器具有默认大小,或者对话框可出现以使用户能够确定容器的尺寸。
容器的侧边部分限定了与文档图像相关的内容的显示中的虚拟边界线。在使用容器作为用户界面时,容器的左侧边部分确定了任何文档内的与该容器有关的内容的最左侧(即,可显示的左边缘)。类似地,容器的高度确定了任何文档内的与该容器有关的内容的高度(即,可显示的高度)的限制。
在本示例性实施例中,布局编辑应用121可根据通过用户界面103输入的用户的指令改变容器的侧边部分或大小。
下文给出限制内容的布局的布局规则。
如果用户选择的设置规定容器的宽度被固定,则容器的右侧和左侧侧边部分使用实线显示。与此容器相关的内容的宽度在所有文档中相同。但是,容器的高度可根据相关内容数据的量改变。
如果用户选择的设置规定容器的高度被固定,则使用实线显示容器的上侧和下侧侧边部分。与此容器相关的内容的高度在所有文档中相同。但是,容器的宽度可根据相关内容数据的量改变。
如果用户使其它容器与固定容器的侧边部分相关,则被固定的容器的位置可被强制改变以调整两个容器之间的位置关系。如果用户使其它容器与容器的上部和下部侧边部分相关,则容器可沿垂直方向移动以调整两个容器之间的位置关系。如果用户使其它容器与容器的右侧和左侧侧边部分相关,则容器可沿水平方向移动以调整两个容器之间的位置关系。下文将参照图6A到6C说明用于使多个容器相关的示例性方法。
下面是容器被设置为“可变”的情况。
如果容器的宽度被设置为可变,则容器的右侧和左侧侧边部分使用虚线显示。与此容器相关的内容的宽度在每个文档中可改变。
如果容器的高度被设置为可变,则容器的上部和下部侧边部分使用虚线显示。与此容器相关的内容的高度在每个文档中可改变。
容器的侧边部分的长度如果被设置为可变,则可根据与此容器相关的内容数据改变。布局编辑应用121在根据用于限制侧边部分的最大长度和最小长度的设置限定的框架内调整容器的侧边部分的长度。
如果用户使其它容器与可变容器的侧边部分相关,则容器的位置可改变以调整两个容器之间的位置关系。
图4示出其侧边部分根据上述规则被绘制的容器的示例性状态。总的来说,容器的每个侧边部分的可视状态是被显示用于帮助设计文档模板的辅助元素,因此不可在记录纸上打印。
容器401具有被设置为可变的四个侧边部分。容器402具有被设置为固定的上部侧边部分。容器403具有被设置为固定的下部侧边部分。容器404具有被设置为固定的上部和下部侧边部分。容器405具有被设置为固定的左侧侧边部分。容器406具有被设置为固定的上部和下部侧边部分。这样,布局编辑应用121使用实线显示各个容器401到416的固定的侧边部分,并使用虚线显示可变的侧边部分。
图5A示出具有可变宽度的容器501。在此情况下,固定的侧边部分503使用实线表示而可变的侧边部分504使用虚线表示。缩放图标505是任选的、指示相邻侧边部分504可变的指示器。
图5B示出具有可变的宽度和高度的另一个容器501。图5C示出其侧边部分的沿垂直方向和水平方向的位置可变的再一个容器501。
<链接设置方法>
图6A到6C示出示例性的链接设置UI。
如图6A所示,如果用户希望设置链接,则用户在指示了进行链接设置的状态下使用鼠标光标603点击容器601(即,一个目标容器)。然后,如图6B所示,如果用户希望使选择的容器601与容器602相关,则用户将鼠标指针移动到容器602上并点击容器602。图6B内所示的线604是连接用户在容器601上的点击位置(即,第一点击操作)与鼠标指针在容器602上的当前位置的线。线604使用户能够查看链接设置的结果。如图6C所示,如果用户点击容器602(即,第二次点击操作),则布局编辑应用121在两个相关容器601和602之间设置链接605。
容器601的右侧侧边部分和容器602的左侧侧边部分是用虚线指示的可变的侧边部分(606)。在图6C所示的状态下,布局编辑应用121可根据被注入容器601的内容数据的量向右移动容器601的右侧侧边部分。类似地,布局编辑应用121可向左移动容器602的左侧侧边部分。左侧和右侧容器一旦通过该链接连接,则布局编辑应用121可在保持链接大小的同时调整左侧容器601和右侧容器602之间的相互大小关系。
图7A是示出示例性布局计算处理的流程图。主机101的处理器135执行根据本示例性实施例的流程图的每个步骤的处理。
在步骤S701,布局编辑应用121根据用户指令选择预览模式。如果用户选择布局模式,则布局编辑应用121创建容器,使容器相互关联,并创建模板的布局。
在预览模式下,布局编辑应用121从数据库将每条记录的内容数据插入被创建的模板的布局,并预览内容数据被插在其中的每个容器的布局结果。
在预览模式下,布局编辑应用121执行布局计算以将记录的多个内容数据插入容器。用户可以选择预览模式,其不仅用于显示计算出的模板的布局,而且还用于打印图像。
在步骤S702,当用户选择预览模式时,布局编辑应用121获得作为预览对象的记录,并将该记录的内容数据注入容器。
在步骤S703,布局编辑应用121执行布局计算处理。布局计算包括确定在记录的内容数据被注入每个容器时所需的容器大小。
在步骤S704,布局编辑应用121显示在步骤S703内计算的布局结果。
在步骤S705,布局编辑应用121确定用户是否指示预览其它记录。如果布局编辑应用121确定用户没有指示预览其它记录(步骤S705内否),则处理流程前进到步骤S707。在步骤S707,布局编辑应用121终止预览模式。如果布局编辑应用121确定用户指示预览其它记录(步骤S705内是),则处理流程前进到步骤S706。在步骤S706,布局编辑应用121选择其它记录,并然后执行步骤S703到S705的上述处理。如果用户指示进行打印处理,则布局编辑应用121连续计算将被打印的每条记录的布局。换句话说,布局编辑应用121跳过步骤S705和S707的处理,并且当针对所有记录的打印操作完成之后,终止此程序的处理。
图7B是示出在图7A的步骤S703内执行的布局计算处理的细节的流程图。图8A到8C示出计算出的布局的示例性显示。
在步骤S710,布局编辑应用121获得通过上述链接相互关联的容器的集合。布局编辑应用121对通过链接相关的容器的每个集合执行布局计算处理。在步骤S711,布局编辑应用121从步骤S710内获得的容器集合中选择一个容器集合(即,布局计算的目标)。
在步骤S712,布局编辑应用121计算并优化在步骤S711内选择的容器集合的布局。作为示例性的步骤S712内的处理,布局编辑应用121确定可使得被安置在容器内的内容数据所需的大小与从布局计算获得的容器大小的结果之间的差最小的最优容器大小。
在步骤S713,布局编辑应用121确定S712内优化的布局结果是否符合布局规则。如果布局编辑应用121确定布局结果不服从布局规则(步骤S713内否),则处理流程返回步骤S712。步骤S713内描述的布局规则包括用户为创建文档模板设置的约束条件。例如,用户可设置关于容器的大小、容器的位置、容器的每个侧边部分的状态和链接的长度的约束条件。如果计算出的布局服从规则,则每个组件的布局可被认为完成。在步骤S714,布局编辑应用121确定对于步骤S710内获得的所有容器集合是否都已经完成步骤S711到S713的处理。通过图7B内所示的布局计算处理,布局编辑应用121获得整个页面的布局。
图8A示出通过将记录的内容数据插入容器确定的示例性布局,其包括固定侧边部分801和802、可变侧边部分803、指示可变侧边部分803的可移动方向的箭头804和805以及链接806。
在此状态下,用户可改变各个容器内的记录。例如,用户可将具有不同大小的其它记录的内容数据注入每个容器。图8B示出与图8A的状态重叠的新内容的大小,其中虚线807指示被插入各个容器的内容的区域。
图8C示出布局计算的结果。布局编辑应用121计算每个容器的大小,从而计算出的结果具有与被插入每个容器的内容的大小相似的差,并且还服从上述规则。如图8C所示,图8B内插入的内容的大小(807)和在计算之后的内容的大小(808)具有相似的差。
根据基于相似的差执行的布局计算处理,只要如图8A到8C所示仅沿水平方向执行布局计算,则就不会出现问题。但是,如果如图33内所示地沿垂直和水平两个方向执行布局计算,则可能会出现问题。
根据图33内所示的示例,二维布局可沿水平和垂直两个方向调整。使用图7B内所示的布局计算方法,布局编辑应用121首先执行沿水平方向的调整,接下来执行沿垂直方向的调整。即,布局编辑应用121调整水平大小,以便两个容器3301和3302根据上述过程被安置在设置范围“D”内。然后,布局编辑应用121调节垂直大小,以便容器3302和3303被安置在设置范围“G”内。
但是,如果首先执行水平调整并接下来执行垂直调整,则布局结果可能与用户希望的基本布局不同。
因此,为了获得类似于基本图案的每个容器的布局,布局编辑应用121可获得基本图案和被调整的布局之间的宽度差和高度差,并然后将获得的宽度差的平方与获得的高度差的平方相加。布局编辑应用121可针对每个容器重复上述计算。容器的基本图案可用布局设计值—诸如容器大小和容器的高宽比—限定。
然后,布局编辑应用121计算可使每个容器的差(水平方向+垂直方向)的平方和最小的每个容器的宽度和高度。通过使用上述最小平方方法执行布局调整,布局编辑应用121可确定与用户设置的基本布局相似的最优布局结果。
置于两个容器3301和3302之间的柔性链接3304具有根据被注入各个容器的内容数据的量可变的链接大小。布局编辑应用121在与这种布局调整部件相关联时可根据被分配的数据大小调整多个局部显示区域(容器)的定位(位置)。
上述最小平方方法仅是布局调整算法的示例。布局调整算法可包括立方数据或四次幂数据。
弹性链接3304具有在基于被分配给每个容器的内容数据执行的布局计算处理内可改变的链接长度。根据传统的固定链接,如果将被安置在容器3301和3302内的内容数据的大小大于各个容器的当前大小,则由于传统的固定链接不能改变其长度,所以内容数据的大小被强制减小。但是,弹性链接3304可在设置范围内扩展或缩短。如果如上所述被插入的内容数据的大小较大,则弹性链接3304的长度缩短,从而内容数据可被安置在扩展的容器内而内容数据的大小保持不变。
图9示出示例性的多记录及其布局方法。多记录指示一个文档包括多条被插入的记录的状态。根据普通的文档模板,一条记录对应于一个文档。
但是,除非出现中断(brake)(即,参考项的变化点),否则对应于稍后参照图13说明的子模板的多记录会被连续注入相同文档的容器。因此,一个文档可包括被以此方式插入的多条记录。因此,希望对应于子模板的可变数据的多记录数据库不同于对应于普通文档模板的可变数据的数据库。
图9内所示的示例包括文档模板901、页面902、子模板903和数据库904。数据库904存储1-7号记录。如果执行一条记录/一个文档的可变打印,则可由七条记录创建七个文档。
另一方面,支持多记录的可变打印执行以下处理。
首先,用户选择确定断点的特定项。在图9内所示的示例中,现在假设用户指定字段名(Name)。
两条或多条记录如果在被指定的项内相同,则被安置在相同的文档上。根据图9所示的示例,1-4号记录具有相同的字段名“Tom”。因此,可变打印处理包括将1-4号记录的内容数据定位在相同文档模板上,并对它们执行布局计算。
5-7号记录具有相同的字段名“Nancy”。可变打印处理使用相同的文档模板将5-7号记录的内容数据定位在不同的文档上。即,布局编辑应用121首先完成关于“Tom”的文档,并接下来创建关于“Nancy”的文档。这样,根据多记录布局系统,布局编辑应用121可响应于特定项的改变而灵活地创建新文档。
图10是示出在文档创建模式下布局编辑应用121执行的示例性处理的流程图。图11示出示例性的用于图10的处理的UI。如果用户输入新模板创建指令,则布局编辑应用121显示图11的屏幕(除了矩形1104、1105和1106之外)。布局编辑应用121响应于用户的指令开始图10的过程。
在步骤S1001,当用户按下图11内所示的图标1103时,布局编辑应用121转换到流动区域创建模式。
在步骤S1002,布局编辑应用121通过用鼠标在页面边缘区域1102上进行拖动,显示用户已经指示的矩形流动区域1106。
在步骤S1003,布局编辑应用121将鼠标拖动的矩形区域的位置/大小信息存储在存储部件136内。被存储的信息被称为流动区域1106的位置/大小信息(即,作为模板数据的一部分)。类似地,布局编辑应用121将容器1104和1105的位置/大小信息作为模板数据的一部分存储在存储部件136内。流动区域1106的表示可在矩形UI的颜色或线型方面与容器1104和1105相区别。
在步骤S1004,布局编辑应用121使多记录字段与被创建的流动区域相关。例如,如果特定数据库存储将被插入流动区域的目标内容数据,则布局编辑应用121可使数据库名与被创建的流动区域相关。在此情况下,布局编辑应用121指定对象流动区域,并根据预定的操作流程输入必要的信息。存储部件136存储该输入信息作为模板数据的多记录信息。
在步骤S1005,布局编辑应用121确定用户是否请求设置被创建的流动区域。如果用户请求设置(步骤S1005内是),则处理流程前进到步骤S1006。在步骤S1006,布局编辑应用121显示属性对话框(图12)。例如,当用户将鼠标指针移动到流动区域上并点击该流动区域时,布局编辑应用121可确定用户希望输入设置信息。
然后,在步骤S1007,布局编辑应用121识别用户使用显示的属性对话框输入的内容,并设置设置信息。存储部件136存储该设置信息。
如果布局编辑应用121完成流动区域创建和设置过程,则处理流程前进到步骤S1008。在步骤S1008,布局编辑应用121确定用户是否请求预览布局。如果用户请求预览布局(步骤S1008内是),则处理流程前进到步骤S1009。在步骤S1009,布局编辑应用121转换到预览模式,并根据与图7B的流程图类似的过程执行布局计算处理。
在步骤S1010,布局编辑应用121如稍后将参照图34说明地那样计算在步骤S1003内设置的流动区域的布局。在步骤S1011,布局编辑应用121显示布局结果。
即,主机具有用户可以为其设置提取条件的流动区域。当布局编辑应用121从数据库提取内容数据(即,布局计算的目标)时,布局编辑应用121参考该提取条件。主机将子模板与被提取的内容数据一起定位在流动区域内,并确定布局计算。
图12示出示例性的使用户能够对流动区域执行各种设置(属性设置)的设置对话框。当布局编辑应用121执行图10内所示的步骤S1006的处理时,布局编辑应用121显示图12的设置屏幕。
首先,用户选择作为将与该流动区域相关的目标的子模板或条件式的单选按钮1202。如果用户选择子模板的单选按钮1202,则用户从列表框1203中指定将被用于该流动区域的子模板的名称。
如果用户选择条件式的单选按钮1202,则用户从列表框1204中指定将被用于该流动区域的条件式的名称。用户可使用唯一的UI在当前被编辑的文档模板内的预定位置处或在该模板外独立地创建子模板或条件式。图15示出使用户能够设置条件式的示例性UI。但是,作为另一种方法,用户可访问存储期望的子模板或条件式的另一个文件,并可使用设置对话框选择(指定)该文件。
本示例性实施例使得用户可在文档模板的每个流动区域内创建多个子模板和条件式。可参照唯一的名称从对应的列表框中选择子模板和条件式的每一个是有用的。
此外,图12的设置对话框包括选择字段1205,该选择字段使用户能够指定当子模板被注入流动区域时的流向(即,内容的排列方向)。设置字段1206内的数值限定了流动内容沿垂直方向的间隔。设置字段1207内的数值限定了流动内容沿水平方向的间隔。
用户可在图12的设置对话框上选择“一般类型流动区域”或“表格格式流动区域”的单选按钮1208。如果用户选择“表格格式流动区域”,则布局编辑应用121根据表格格式对流动区域执行布局处理。
此外,图12的设置对话框包括字段1209,该字段使用户能够在用户选择表格格式布局时指定子数据库名称,这是因为表格格式布局处理通过参考与主数据库不同的子数据库而获得信息。在此实施例中,假设子模板构成了主数据库内的字段并且可用数据库的文件名识别该子模板。但是,其它方法可不使用文件名来指定子数据库。
字段1210使用户能够设置流动区域的每个单元内的缩放(放大/缩小)方法。字段1211使用户能够设置子模板在单元内的定位(位置)。
用户可按下OK按钮1212来最终确定被确定的上述设置的内容,或者按下取消按钮1213来清除所有设置数据。
图34是示出示例性的流动区域布局计算处理的流程图,其对应于图10内所示的步骤S1010的处理。根据图34的过程,为一个文档模板设置一个流动区域。
在步骤S3401,布局编辑应用121打开与流动区域相关的数据库。在步骤S3402,布局编辑应用121把将被注入该流动区域的记录(即,布局对象)的总数输入存储器内设置的变量“n”。在步骤S3403,布局编辑应用121确定变量n是否为0,即记录(即,布局对象)的数量是否为0。如果变量n为0(步骤S3403内是),则布局编辑应用121终止此程序的处理。如果变量n不为0(步骤S3403内否),则处理前进到步骤S3404。
接下来,在步骤S3404,布局编辑应用121向指示当前正被处理的或已经被处理的记录的总数的变量k输入1。在步骤S3405,布局编辑应用121向指示流动区域内布置的子模板的总数的变量Num输入1。
在步骤S3406,布局编辑应用121从数据库获得第k条记录数据。如果布局编辑应用121接收到告知数据库内不存在对应数据的通知,则处理流程前进到步骤S3413。
在步骤S3407,布局编辑应用121确定用户是否已经使用图15内所示的设置屏幕,为流动区域(目标区域)设置任何条件式。如已经对于多记录说明的那样,满足被分配的提取条件的所有记录均被注入同一的流动区域。满足提取条件(即,条件式)的记录对应于与流动区域相关的数据。即,布局编辑应用121从数据库获得满足提取条件的内容数据。
如果布局编辑应用121确定用户已经为流动区域设置条件式(步骤3407内是),则处理流程前进到步骤S3408。在步骤S3408,布局编辑应用121确定S3406内获得的数据是否满足当前被设置的条件式。如果确定结果在步骤S3407内是“否”或者在步骤S3408内是“是”,则处理流程前进到步骤S3409。在步骤S3409,布局编辑应用121执行用于将第k条记录内包含的内容数据注入子模板的容器内的布局处理。
如果数据库可使用与流动区域相关的条件式搜索,则布局编辑应用121可在步骤S3406内参照条件式提取记录。在此情况下,根据条件式被提取的任何记录均满足被分配给流动区域的条件。如果用户还可设置用于精细地搜索满足条件式的记录的条件,则布局编辑应用121在步骤S3406内根据这些条件提取记录。在此情况下,步骤S3408的确定基本是必需的。如果数据库不可搜索,则布局编辑应用121在步骤S3406内连续获得记录。
在布局编辑应用121完成子模板布局处理(即,用于将记录注入子模板的容器的处理)之后,处理流程前进到步骤S3410。在步骤S3410,布局编辑应用121将变量Num加1。在步骤S3411,布局编辑应用121将变量k加1以移动到下一条记录。
如果布局编辑应用121确定步骤S3406内获得的数据不满足当前设置的条件式(步骤S3408内否),则处理流程前进到步骤S3411以获得下一条记录。即,如果获得的记录的数据不满足条件,则布局编辑应用121取消布局处理。
在步骤S3412,布局编辑应用121确定变量k是否小于记录的总数“n”。如果变量k小于n(步骤S3412内是),则处理流程返回步骤S3406以重复对第k个数据的处理。如果变量k等于或大于n(步骤S3412内否),则布局编辑应用121终止用于使用子模板计算记录的布局的处理。处理流程前进到步骤S3413以开始用于将已经经过布局处理的子模板定位在流动区域内的处理。
在步骤S3413,布局编辑应用121从存储部件136获得流动区域的大小。在步骤S3414,布局编辑应用121从存储部件136获得每个子模板的默认大小。
在步骤S3415,布局编辑应用121根据稍后参照图35和36说明的示例性方法计算受到步骤S3409的布局处理的子模板的大小。在步骤S3416,布局编辑应用121显示布局结果。
图35示出在内容数据可被完全布置在子模板的有限区域内的情况下的示例性的子模板大小确定方法。
包含两个容器3502和3053的子模板3507被定位在有限区域3501内。有限区域3501是子模板3507可在其中扩展的固定区域。
记录的内容数据3504和另一条记录的内容数据3505符合被分配给该流动区域的提取条件。内容数据3504被注入容器3502。内容数据3505被注入容器3503。两个容器3502和3503通过大小为“1”的链接相关。
有限区域3501的大小为“10”。每个内容数据3504和3505的大小为“3”,其小于有限区域3501的大小。换句话说,内容数据3504和3505可被完全包含在有限区域3501内,并且各个内容数据的大小保持相同。
当内容数据3504和3505被注入子模板时,子模板的大小3506为“7”。
图36示出在内容数据不能被完全包含在子模板的有限区域内的情况下的示例性的子模板大小确定方法。
类似于图35,包含两个容器3502和3503的子模板3507被定位在图36的有限区域3501内。
记录的内容数据3604和另一条记录的内容数据3605符合被分配给该流动区域的提取条件。内容数据3604被注入容器3502。内容数据3605被注入容器3503。
有限区域3501的大小为“10”。内容数据3604的大小为“7”而内容数据3605的大小为“6”。换句话说,内容数据3604和3605的总大小为“13”,其超过了有限区域3501的大小。换句话说,如果各个内容数据的大小保持相同,则内容数据3604和3605不能被全部布置在有限区域3501内。
因此,布局编辑应用121根据参照图7B的流程图说明的方法确定每个容器的大小。
子模板3507包括通过长度为“1”的链接相关的两个容器3502和3503。有限区域3501是子模板3507可在其中扩展的固定区域。
如上所述,两个内容数据3604和3605的总大小为“13”,这超过了子模板3507的最大大小(=10)。如果内容数据被强行注入每个容器,则强行操作会生成很大的压力(即,布局内的负荷)。
即,内容数据3604的实际大小(理想大小)为“7”,而内容数据3605的实际大小(理想大小)为“6”。
更具体地说,如果保持理想大小,则将内容数据插入每个容器所需的垂直大小为13(=7+6)。但是子模板3507的可变大小不能超过10。
因此,布局编辑应用121在两个容器3502和3503之间分配上述应力。根据示例性实施例的自动布局系统使用可使施加在每个容器上的应力最小的最小平方方法计算应力的分配。
如果“a”代表计算出的容器3502的大小而“b”代表计算出的容器3503的大小,则下面的公式表示了等于各个容器的应力的平方和的成本k。
k=(a-7)2+(b-6)2 (1)
根据自动布局系统,每个容器具有相同的优先级,并且下列等式限定了使成本k最小的条件。
a-7=b-6 (2)
此外,计算出的布局的大小满足下列等式。
a+b+1(链接大小)=10 (3)
布局编辑应用121计算每个容器的最优大小以便满足等式(2)和(3)。根据图36内所示的示例,当容器3502的大小为5而容器3503的大小为4时,布局编辑应用121获得的作用在每个容器上的应力为2。
子模板3507的大小为“10”,其相当于包围所确定的容器3502和3503的布局区域的外接矩形(图36内的3606)。
即,考虑到内容数据的所需大小,布局编辑应用121确定在分配内容数据时子模板内设置的每个容器(局部显示区域)的最优大小。然后,布局编辑应用121根据确定的容器大小确定子模板的优选大小。
如参照图35和36内所示的示例说明的那样,布局编辑应用121根据被注入子模板内的容器的内容的大小,确定每个子模板的大小。因此,各个子模板可能具有不同的大小。
如果多个子模板的大小相互不同,并且被简单地排列而大小没有做任何修改,则输出结果可能远非类似于在垂直和水平方向的每一个上具有良好平衡的表格的组织良好的布局。
图13示出子模板的示例性布局。图14是示出图34的步骤S3409的详细处理的流程图。
子模板包括任意数量的图像和/或文本容器。每个子模板包括用户可向其分配记录的数据(字段)的容器。子模板便于用户重复使用相同文档内的相同布局。
类似于上述的图像或文本容器,每个子模板包括使一个容器与另一个容器相关的链接。
因此,布局编辑应用121可根据布局对象的内容数据适当地改变每个子模板的布局/大小。图13的子模板1301和1304的示例包括图像容器1302和1305、文本容器1303和1306以及链接1307。因为每个图像数据和文本数据具有不同的大小,所以布局编辑应用121对每条记录执行布局计算处理。
然后,布局编辑应用121显示最优的布局结果。
图14示出根据本实施例的示例性子模板布局处理。
在步骤S1401,布局编辑应用121从数据库获得布局目标数据。在步骤S1402,布局编辑应用121获得被分配给子模板的每个容器的内容数据的大小。更具体地说,如果用户界面103与数据库相关,则用户界面103可通过访问并解释数据库内的数据获得数据大小。布局编辑应用121可同时执行步骤S1401和S1402的处理。在步骤S1402的处理中,布局编辑应用121可通过分析在步骤S1401内获得的数据的信息获得内容数据的大小。存储部件136存储获得的内容数据的大小信息。
在步骤S1403,布局编辑应用121基于在步骤S1402获得的数据大小,对每个容器执行布局计算处理。在步骤S1404,布局编辑应用121根据参照图7A和7B说明的方法,执行布局优化处理,并获得类似于图35和36内所示的布局的优化布局结果。
在步骤S1405,布局编辑应用121确定在步骤S1404内优化的布局。在步骤S1406,布局编辑应用121将布局目标数据注入对应的容器。在步骤S1407,布局编辑应用121显示布局数据。存储部件136临时存储在步骤S1405内确定的布局。
如果在文档完成时执行的显示包括步骤S1407的显示内容,则布局编辑应用121可省略步骤S1407的处理。
下面参照图15说明用于设置子模板的条件式的示例性方法。
图15的设置屏幕使用户能够向相同流动区域分配多个子模板。用户可使子模板或条件式与流动区域相关。在本示例性实施例中,条件式具有从数据库中提取满足预定条件的内容的功能,并且可被称为提取条件。布局编辑应用121可创建具有用户可为其设置希望的提取条件的流动区域的模板。
如果用户使子模板与流动区域相关,则布局编辑应用121将获得的记录注入相关子模板的容器。可选地,当用户使子模板与流动区域相关时,布局编辑应用121可设置条件式,并仅将满足条件式的记录注入与流动区域相关的子模板。
条件式包括在验证中被参考的子模板的识别信息。图15示出使用户能够设置条件式的示例性UI。布局编辑应用121对记录被注入其中的子模板执行布局计算处理。当布局计算处理完成时,布局编辑应用121将子模板定位在流动区域内。
图15内所示的示例性UI 1501包括文本框1502的输入区域和一对基本元素(即,IF语句1503和ELSE语句1504)。文本框1502使用户能够输入条件式的名称。IF语句1503和ELSE语句1504限定了确定条件。
IF语句1503的输入区域包括使用户能够选择字段(即,确定对象)的列表框1505、使用户能够设置用于该确定的逻辑式的列表框1506、以及使用户能够输入用于该确定的值的文本框1507。
此外,IF语句1503的输入区域包括两个处理语句1508和1504。处理语句1508使用户能够指定这样的子模板,即,如果记录满足确定条件,则该记录可被插入该子模板。处理语句1504使用户能够指定这样的子模板,即,如果记录不满足确定条件,则该记录可被插入该子模板。框1506内的逻辑式可包括各种条件表达式,例如“EQUAL(等于)”、“NOT_EQUAL(不等于)”和“LESS_THAN(小于)”。
此外,IF语句1503的输入区域包括AND/OR(与/或)组合框1509,该组合框使用户能够在IF语句中进一步设置复杂的条件式。
此外,ELSE_IF(否则_如果)语句添加按钮1510允许用户设置复杂的条件分支。
如果用户按下按钮1510,则布局编辑应用121在IF语句1503和ELSE语句1504之间新加入ELSE_IF语句。ELSE_IF语句的内容和操作与IF语句类似。当IF语句不为真时,布局编辑应用121根据ELSE_IF语句执行确定。如果ELSE_IF语句不为真,则布局编辑应用121根据其它ELSE_IF语句继续执行确定,并最终根据ELSE(否则)语句执行确定。删除按钮1511使用户能够删除选择的ELSE_IF语句。如果IF语句或ELSE_IF语句被评价为真,则布局编辑应用121执行对应于真语句的USE(使用)处理语句。用户可在USE处理语句内输入(选择)子模板名称。
如上所述,当用户输入条件式时,布局编辑应用121自动选择满足包含多个值的每条记录的条件的子模板。然后,本示例性实施例可从相同的条件式获得多种布局。此外,如果用户使条件式与流动区域相关,则布局编辑应用121可将具有各种布局的两个或多个子模板定位在相同流动区域内。
用户可在完成条件的全部输入时按下OK按钮1514。如果用户按下OK按钮1514,则存储部件136存储设置信息(即,用户使用UI设置的子模板条件)。在此情况下,存储部件136可存储与图15的UI上描述(选择)的文本相同的、表示子模板条件式的文本文件,或在被比较的条件匹配时可识别子模板的任何其它信息。
如上所述,条件式包括用户可指定以从数据库提取内容数据(即,布局目标)的条件以及当该条件被满足时将被使用的子模板。因此,存储部件136存储指示被提取的内容数据和被识别的子模板之间的关系的信息。
用户使用图12内所示的设置屏幕1201设置的表格格式流动区域从与模板接收的主数据库不同的子数据库接收记录内包含的内容数据。图16示出示例性的子数据库。
图16内所示的子数据库包括根据文本文件格式描述的信息/数据。标题部分1601指定流动区域被分成包括两列和三行的多个区域(即,包括2×3个单元的表格)。
真实数据部分1602指示被注入流动区域的真实数据。
真实数据部分1602包括描述字段名的前导行和描述真实数据的后续行,它们均根据逗号分隔值(CSV)格式被描述。图16使用表达“/**/”来添加关于每个数据的注释,但是在实际应用中这种描述并不是必需的。子数据库可使用可指示被划分的流动区域的数量并描述被注入流动区域的真实数据的任何其它格式。根据CSV格式,字段的一部分描述了代表行和列的数量的数据,并且该字段的剩余部分描述了真实数据。作为另一种有用的格式,可扩展标记语言(XML)格式可容易地描述必要的信息。
当数据库的格式允许用户指定行和列的数量时,一个流动区域可实现多种表示而无需编辑模板。
即,根据用户的偏好,流动区域可具有包括5行和10列的表格表示,或者包括10行和5列的表格表示,而同时模板本身保持不变。这是使用子数据库的巨大优点。但是,作为受限的示例,图12内所示的流动区域属性设置屏幕可包括使用户能够指定固定数量的行和列的输入元素。
图17是示出根据本示例性实施例的表格格式流动区域的布局计算处理的主流程图。图18到21是布局计算处理的子流程图。这些流程图说明了对具有用户使用图12的上述设置屏幕已设置的表格格式属性的流动区域执行的示例性表格格式布局处理。示例性布局处理方法并不局限于上文所述的实施例,并且可使用任何其它合适的方法来获得类似的结果。
在步骤S1701,布局编辑应用121从子数据库获得构成布局目标的行和列的信息。例如,布局编辑应用121获得行数和列数或被划分的单元的总数。
在步骤S1702,布局编辑应用121对被定位在内容数据被注入其中的流动区域内的子模板的每个容器执行布局处理。图18是示出步骤S1702内执行的布局处理的细节的流程图。
在步骤S1711,布局编辑应用121访问数据库并确定是否存在将被定位在子模板内的任何记录。如果布局编辑应用121确定仍存在剩余记录(步骤S1711内的是),则处理流程前进到步骤S1712。在步骤S1712,布局编辑应用121从子数据库提取记录。即,布局编辑应用121获得将被定位在子模板内的数据。
在步骤S1713,布局编辑应用121根据类似于图7内所述的方法的布局计算方法,将被提取的记录的内容数据注入子模板的容器,并获得类似于图35和36内所示的示例的布局结果。
在步骤S1714,布局编辑应用121确定在步骤S1713内生成的子模板布局结果的位置(即,行数和列数)。然后,布局编辑应用121使所确定的位置与子模板布局结果相关。存储部件136存储该位置与子模板布局结果之间的关系。更具体地说,布局编辑应用121考虑定位方向和数据库的指示内容。
例如,布局编辑应用121沿Z方向定位子模板。如果用户指定三行和两列的表格格式,则布局编辑应用121将被布置有第一记录的子模板定位在第一行的第一列内。随后,布局编辑应用121将被布置有第二记录的子模板定位在第一行的第二列内。然后,布局编辑应用121将被布置有第三记录的子模板定位在第二行的第一列内。即,在步骤S1714,存储部件136存储第一记录子模板与其位置信息(即,第一行的第一列)之间的关系。
在步骤S1711,布局编辑应用121确定是否存在将被定位在被设置的行和列内的任何记录。如果仍存在任何剩余记录(步骤S1711内是),则布局编辑应用121重复步骤S1712到S1714的上述处理。
更具体地说,如果布局编辑应用121在步骤S1701内从子数据库获得行数/列数信息(即,三行和两列),则布局编辑应用121将总共六个子模板定位在该流动区域内。因此,在步骤S1711,布局编辑应用121确定是否已经获得六个记录。
在完成图18的处理之后,布局编辑应用121生成对应于被设置的行数和列数的多个子模板的布局结果。存储部件136存储获得的布局结果与行/列信息之间的关系。
图22到24示出代表图17的处理内容的示例。每个示例具有三行和两列的表格格式。图22示出当图17的步骤S1702的处理(即,图18的处理)结束时,被存储在存储部件136内的六个子模板的布局结果1801到1806。附在每个子模板后的注解(例如,第一行的第一列)指示与图18内的步骤S1714的处理的每个子模板布局结果相关地存储的行/列号。
现在返回参照图17的流程图,在步骤S1703和S1704中,布局编辑应用121获得被定位在每一行和每一列内的子模板的最大布局高度(图20内的S1721到S1723和图21内的S1731到S1733)。图23示出这样的示例,根据该示例子模板(a)1801和子模板(b)1802被定位在第一行内。子模板(a)1801高于子模板(b)1802。因此,第一行的最大布局高度等于子模板(a)1801的垂直大小。类似地,第二行的最大布局高度等于子模板(d)1804的垂直大小。第三行的最大布局高度等于子模板(e)1805的垂直大小。
即,每一行的最大布局高度限定了每一行沿垂直方向的“理想大小”。
通常,在被注入容器的内容数据的表示中,希望的显示并不会缺少内容数据的任何部分(在没有改变大小的情况下)。因此,被确定的每一行的高度相当于被定位在每一行内的布局结果的最大高度是有用的。
因此,在本示例性实施例中,最高的子模板布局结果的高度是确定每一行/每一列的大小的决定因素。但是,如果情况不允许则可不使用此规则。
因此,布局编辑应用121仅参考图23内所示的每个布局结果的“高度”,获得每个单元的理想大小。接下来,布局编辑应用121与获得的沿垂直方向的理想大小相比较地调整每个单元的高度。
首先,布局编辑应用121获得用于虚拟布局计算的容器结构。图25和26示出用于虚拟布局计算的示例性容器结构。
图25内所示的示例性容器结构包括经由链接1904与纸张边缘1902相关的流动区域1903。现在假设流动区域1903可容纳沿垂直方向排列的三个子模板(即,三行)。
如图26所示,布局编辑应用121通过三个容器(1908-1910)和使两个或多个容器相关的链接表示该流动区域的垂直方向,其中每个容器具有仅可沿垂直方向改变的任意大小。在图17的步骤S1705内,布局编辑应用121生成容器结构的表示(例如,图26),并将其存储在存储部件136内。
布局编辑应用121将具有在步骤S1703内计算出的理想垂直尺寸1905到1907(即,每一行的最大布局高度)的内容数据插入在步骤S1705内存储的容器结构。
然后,布局编辑应用121根据图7A和7B内所示的布局计算方法对插入的内容执行布局计算处理。结果,布局编辑应用121参考图26内所示的链接和容器结构,计算各个容器的最优高度1911到1913。图27示出表格格式的计算处理结果。
在步骤S1706,布局编辑应用121存储在上述计算中获得的高度信息作为每个单元沿垂直方向的调整结果。
参照图28更详细地说明上述布局计算。在本示例性实施例中,布局编辑应用121基于表格上的每一项具有相似的优先级(强度)的假设执行布局计算处理。
在图28中,固定链接2004使三个容器(即,容器A2001到容器C2003)彼此相关。弹性链接2005使容器C2003与纸张边缘相关。
尽管如图28内所示的固定链接2004具有很大的长度,但是在根据表格格式实际表示它时,固定链接2004的长度为0。即使固定链接2004被认为在相同布局结构内不具有长度,布局计算也可得到相同的结果。
通过链接2004相关的三个容器A到C的垂直大小总共为60,其相当于形成表格的流动区域的总高度。在此布局中每个容器的垂直大小可变。弹性链接2005的一端连接到固定边缘。弹性链接2005的长度为10,该长度可减小到0。
如果内容数据A’2006到内容数据C’2008被强行插入图28内的容器A2001到容器C2003,则此插入生成很大的应力(即,布局内的负荷)。
即,每个内容数据具有实际大小(理想大小)。内容数据A’的实际大小为20。内容数据B’的实际大小为40。内容数据C’的实际大小为30。在本示例性实施例中,实际大小相当于在图17的步骤S1703内获得的“垂直”大小,其是被插入每个单元的子模板的布局尺寸之一。内容数据A’到C’对应于图26内所示的理想高度1905到1907。
如果保持理想大小,则垂直大小90(=20+40+30)是将内容数据布置在各个容器内所必需的。但是,如上所述,内容A到C的总长度(=60)和弹性链接2005的长度(=10)限制了该布局。
因为弹性链接2005可缩短到0而没有任何应力,所以容器A到C可用的最大大小总共为70(=60+10)。因此,将内容数据2006到2008强行布置在容器2001到2003内生成的应力为20=90-(60+10)。
接下来,布局编辑应用121在三个容器之中划分上述应力。布局编辑应用121使用可使施加在每个容器上的应力最小的最小平方方法计算应力分配。
如果a、b和c中的每一个代表每个容器的被计算出的大小,则下列公式表示等于各个容器的应力的平方和的成本k。
k=(a-20)2+(b-40)2+(c-30)2 (4)
根据本示例性实施例的自动布局系统,每个容器具有相同的优先级,并且下列等式限定了使成本k最小的条件。
a-20=b-40=c-30 (5)
此外,被计算出的布局的大小满足下列等式。
a+b+c=(60+10) (6)
布局编辑应用121计算可满足等式(5)和(6)的每个容器的最优大小。布局编辑应用121获得的、作用在每个容器A到C上的应力为6.666。图28示出计算出的布局结果“A”到C”(2009到2011)。
如果保持图26内所示的各个单元的理想垂直尺度1905到1907,则三个子模板不能被完全包含在流动区域内。但是,根据图28所示的方法,布局编辑应用121可在考虑每个单元的理想垂直大小的情况下实现最优的子模板布局。
即,布局编辑应用121从每一行内排列的多个子模板中提取具有最大垂直大小的子模板。然后,布局编辑应用121基于每个被提取的子模板的垂直大小和流动区域的垂直大小确定每一行内的单元区域的垂直大小。每个单元区域代表流动区域的被划分的区域。
接下来,在图17的步骤S1707和S1708中,布局编辑应用121根据类似于沿垂直方向的计算的方法,基于子模板布局结果获得沿列(水平)方向的最大布局大小。即,布局编辑应用121可根据类似的处理获得每个单元的水平宽度调整结果。
即,布局编辑应用121从每一列内排列的多个子模板中提取具有最大水平大小的子模板。然后,布局编辑应用121基于每个被提取的子模板的水平大小以及流动区域的水平大小,确定每一列内的单元区域的水平大小。
在完成图17的步骤S1701到S1708的处理之后,布局编辑应用121合并计算出的值(即,每一行内的高度以及每一列内的宽度的调整结果)并确定每个单元的大小。
在步骤S1709,布局编辑应用121使每个单元的信息(即,每个单元的大小以及在流动区域内的位置)与对应于每个单元的子模板布局结果相关。存储部件136存储与子模板布局结果相关的每个单元的信息。即,在步骤S1706,布局编辑应用121计算每一行内的子模板(即,获得的内容数据被定位在其中的沿行方向排列的子模板)的垂直大小。在步骤S1708,布局编辑应用121计算每一列内的子模板(即,获得的内容数据被定位在其中的沿列方向排列的子模板)的水平大小。
然后,布局编辑应用121基于步骤S1706和S1708的计算结果,确定单元区域(即,流动区域的被划分的区域)的区域大小。通过图17的处理,布局编辑应用121可使沿列方向(即,垂直方向)排列的每个区域的水平大小相等,还可使沿行方向(即,水平方向)排列的每个区域的垂直大小相等。布局编辑应用121将流动区域划分成具有被确定的区域大小的多个区域。
存储部件136存储流动区域的大小、各个单元的宽度/高度信息以及内容数据被注入其中的子模板。
在步骤S1710,布局编辑应用121基于从步骤S1701到S1709的上述处理得到的信息显示最终布局结果。图19是示出步骤S1710的布局结果显示处理的细节的流程图。
在步骤S1742,布局编辑应用121从存储部件136获得被最终确定的子模板的布局。在步骤S1743,布局编辑应用121从存储图17的步骤S1709内的信息的存储部件136获得与各个子模板相关的每个单元的位置。
在步骤S1744,布局编辑应用121获得用户可通过图12的设置屏幕设置的显示方法和定位方法。在步骤S1745,布局编辑应用121将第一子模板定位在与此子模板相关的单元位置。
如果子模板的大小与相关单元的大小不匹配,则布局编辑应用121在步骤S1744内执行缩放(放大/缩小)处理和移位处理。在步骤S1741,布局编辑应用121确定对所有单元的处理是否已经完成。如果对所有单元的处理还未完成(步骤S1741内否),则处理流程前进到步骤S1742以重复上述处理。
即,布局编辑应用121确定每个子模板的大小,以便子模板一定能被包含在被确定的单元区域内。布局编辑应用121显示包含被定位在每个子模板内的内容数据的输出结果。
图24示出布局编辑应用121在步骤S1710内可获得的示例性显示结果。根据图24内所示的示例性布局,尽管子模板的高宽比可改变,但是每个单元可完全包含所有子模板。
更具体地说,布局编辑应用121缩小大的子模板(a)和(e),从而每个单元可完全包含所有子模板。布局编辑应用121放大小的子模板(c)和(f),从而每个子模板具有最小的空白空间。
根据另一种缩放(放大/缩小)方法,布局编辑应用121可“保持每个子模板的原始大小”,“在保持子模板的高宽比的同时放大/缩小子模板”,“在改变子模板的高宽比的同时将所有子模板定位在单元内”,或者“在改变文本数据的高宽比的同时(同时保持图像数据的高宽比)将所有子模板定位在单元内”。
如果选择的缩放方法是“保持每个子模板的原始大小”,则当单元不能包含子模板的一部分时,布局编辑应用121切除(削减)此部分。另一方面,单元内会仍有大的未用空间。类似地,如果选择的缩放方法是“在保持子模板的高宽比的同时放大/缩小子模板”,单元可包括很大的未用空间。
如果缩放方法被固定为“保持每个子模板的原始大小”或“在保持子模板的高宽比的同时放大/缩小子模板”,则布局编辑应用121允许用户设置用于在单元内移动子模板以获得优选的显示结果的移位方法。
示例性的移位方法可包括“向左移动”、“向右移动”、“向上移动”、“向下移动”、“移至垂直中心”、“移至水平中心”和它们的组合。
在实际使用中,用户可在考虑将被创建的每个文档的希望的外观的情况下确定缩放(放大/缩小)方法和移位方法。
如果选择的缩放方法为“在改变文本数据的高宽比的同时(同时保持图像数据的高宽比)将所有子模板定位在单元内”,则布局编辑应用121保持图像数据的高宽比并改变文本数据的高宽比,以便所有子模板的总大小与单元的大小一致。
如上所述,根据本示例性实施例,当用户指示进行表格格式布局时,布局编辑应用121确定每一行内的理想单元的垂直大小,并且还确定每一列内的理想单元的水平大小。然后,布局编辑应用121调整每个单元的大小,以便每个单元的大小类似于理想单元的大小并且所有单元可被全部包含在流动区域内。布局编辑应用121在流动区域内设置被调整的单元。然后,布局编辑应用121将子模板定位在单元内。因此,本示例性实施例实现了可反映内容数据的所需大小以及沿垂直方向和水平方向的所需比率的最优表格格式布局。
第二示例性实施例
用于将子模板定位在单元内的优选方法并不局限于第一示例性实施例内所述的方法。例如,根据内容数据将两个或更多个单元用于单个子模板可能是有用的,并且可实现多种表示。为此,第二示例性实施例说明了一种能够将多个单元用于一个子模板的布局的技术。
为了显示组合(连接或集成)单元,本示例性实施例使用户能够指定表示一条记录的两个或更多个相邻单元。图29示出根据XML格式描述指定方法的示例性数据库的一部分。图29的示例性数据库在一对<record>标签之间包括记录。每条记录在一对<cell_usage>标签之间包括关于单元使用的描述,其中<horizontal>行指定沿水平方向排列的单元的数量,而<vertical>行指定沿垂直方向排列的单元的数量。即,图29内所示的示例指示如标号2901指示的那样沿水平方向使用两个单元,以及如标号2902指示的那样沿垂直方向使用两个单元。图29的数据库包括<data>块,其中<Data1>表示此记录内包含的字段名。
图30是示出用于根据数据库内描述的指令将流动区域划分成多个单元的处理的流程图。
在本示例性实施例中,布局编辑应用121从左至右依次定位子模板,并从上至下依次重复子模板。但是,布局编辑应用121可使用用于将子模板定位在流动区域内的任何其它的定位方法。
在步骤S2101,布局编辑应用121从子数据库获得单元的数量(即,流动区域内的且沿垂直和水平方向布置的多个被划分的区域的数量)。更具体地说,布局编辑应用121访问子数据库的内容,并参考<cell_usage>标签之间描述的信息获得指定的单元数量。例如,从图29的子数据库中,布局编辑应用121识别沿垂直和水平方向的每一个指定的单元数量都是“2”。
在步骤S2102,布局编辑应用121生成标记的二维数组D,其中每个标记指示对应的单元的使用状态。布局编辑应用121将所有标记值初始化为指示“空”的“0”。然后,布局编辑应用121将当前的处理位置设置为[1,1]。根据图22内所示的示例,沿垂直方向的所需单元数量为3,而沿水平方向的所需单元数量为2。因此,布局编辑应用121生成标记的2×3数组D,并将所有标记值初始化为0。
在步骤S2103,布局编辑应用121确定数据库内是否仍存在任何未被处理的记录。如果布局编辑应用121确定数据库内仍存在至少一条记录(步骤S2103内的是),则处理流程前进到步骤S2104。在步骤S2104,布局编辑应用121从子数据库获得记录(处理对象)。
在步骤S2105,布局编辑应用121确定数组D的所有标记是否都为0。数组D包括对应于指定的单元数量的多个标记。例如,如果记录(布局对象)沿水平方向需要两个单元而沿垂直方向需要2个单元,则在步骤S2105,布局编辑应用121确认对应于当前处理位置[1,1]以及此位置[1,1]后的另外三个位置[2,1]、[1,2]、[2,2]的标记。
如果布局编辑应用121确定所有标记为0(步骤S2105内的是),则处理流程前进到步骤S2106。在步骤S2106,布局编辑应用121将每个标记改变为指示“使用过”的“1”。在步骤S2107,布局编辑应用121使用过的单元的数量与记录信息相关,并且存储部件136存储它们。
如果布局编辑应用121确定至少一个标记不为0(步骤S2105内的否),则处理流程前进到步骤S2108。在步骤S2108,布局编辑应用121将当前处理位置移动到下一个单元。在步骤S2109,布局编辑应用121确定对应于当前处理位置的单元是否为空(标记=0)。如果布局编辑应用121确定对应于当前处理位置的单元不为空(步骤S2109内的否),则处理流程返回步骤S2108以重复上述处理。
在步骤S2110,布局编辑应用121将当前处理位置移动到下一个单元(即,下一个开始点)。在步骤S2111,布局编辑应用121确定对应于当前处理位置的单元是否为空(标记=0)。如果布局编辑应用121确定对应于当前处理位置的单元不为空(步骤S2111内的否),则处理流程返回步骤S2110以重复上述处理。如果布局编辑应用121确定对应于当前处理位置的单元为空(步骤S2111内的是),则处理流程返回步骤S2102以执行用于设置当前单元位置的处理。
在完成图30的处理之后,布局编辑应用121根据第一示例性实施例内说明的处理方法显示子模板以及将基于在步骤S2107内存储的单元信息而布置的记录。
图31示出从图30的上述处理获得的处理结果的示例。
在图31中,流动区域3101包括多个单元区域,该单元区域根据第一示例性实施例的处理被划分为具有合适的单元大小。
在图31中显而易见,每条记录的布局需要通过第二示例性实施例的处理而确定的一个或多个单元(3102)。
例如,沿水平方向组合的两个单元构成用于记录1、记录5和记录7的内容数据的每个子模板。即,记录1的布局沿垂直方向需要一个单元而沿水平方向需要两个单元。
此外,沿垂直方向组合的两个单元构成用于记录6的内容数据的子模板。即,记录6的布局沿垂直方向需要两个单元而沿水平方向需要一个单元。
如果根据本示例性实施例的处理方法不可用于设置大小相互不同的子模板,则可强调每个优惠商品的内容数据,这是因为当内容数据的大小增加时,子模板的大小会相应增加。但是,获得的布局结果可能远非良好平衡的布局。
另一方面,本示例性实施例使用户能够将任意数量的单元用于记录的子模板,并可实现复杂的且良好平衡的表格格式布局。例如,在创建广告时,用户可通过如图31内所示的那样为特定项(例如,优惠商品)分配大量的单元来强调该特定项。
第三示例性实施例
根据上述第一和第二示例性实施例,用户在图16的标题部分1601内的指定确定了记录被注入其中的子模板的位置。例如,根据指示两列和三行的标题部分1601,布局编辑应用121确定用于第三条记录的子模板的位置是“第二行的第一列”。但是,使用图16的标题部分1601进行指定会降低用户的可操作性。
鉴于上文,本示例性实施例提供了一种被配置成在不使用图16的标题1601进行用户指定的情况下生成表格格式布局结果的系统。
图37示出根据第三示例性实施例的示例性数据库,其不包括图16内所示的行数/列数的指定。
图38示出根据第三示例性实施例的使用户能够设置条件式(为流动区域设置的提取条件)的UI。图38的示例性设置指示如果项“Data1(数据1)”是“scanner(扫描仪)”或“printer(打印机)”,则用户指定子模板1,并且如果项“Data1”是“multifunction peripheral(多功能外设)”或“personal computer(个人计算机)”,则用户指定子模板2。
图39示出根据第三示例性实施例的示例性子模板。子模板3901是子模板1,而子模板3902是子模板2,它们由用户通过使用图38内示出的操作屏幕来指定。
图41是示出根据第三示例性实施例的布局处理的流程图。
在步骤S4101,布局编辑应用121获得记录。在步骤S4102,布局编辑应用121分析获得的记录内包含的内容数据,并确定该记录被定位在其中的子模板。
在步骤S4103,布局编辑应用121确定是否存在任何其它满足用户使用图38内所示的UI而设置的提取条件的记录。
如果布局编辑应用121确定存在记录(布局对象)(步骤S4103内的是),则处理流程前进到步骤S4104。在步骤S4104,布局编辑应用121获得下一条记录,并确定该记录被定位在其中的子模板。在步骤S4105,布局编辑应用121确定是否存在指示类似于在步骤S4104内确定的子模板的子模板的使用的任何信息。
如果布局编辑应用121确定没有使用类似的子模板(步骤S4105内的否),则处理流程前进到步骤S4107。在步骤S4107,布局编辑应用121确定将该记录的子模板定位在新的一行或新的一列内。
如果布局编辑应用121确定使用了类似的子模板(步骤S4105内的是),则处理流程前进到步骤S4106。在步骤S4106,布局编辑应用121确定将该记录的子模板定位在相同的行或相同的列内。
在完成了用于确定每个子模板的定位(位置)的处理之后,布局编辑应用121执行第一和第二示例性实施例内所述的大小确定处理。
此外,用户可预先确定相同的子模板沿行和列方向的定位。
通过执行图41的处理,即使当没有在数据库内指定行数和列数时,布局编辑应用121仍可将相同的子模板定位在相同的行或相同的列内,因此可生成图40内所示的表格格式布局结果。
即,第一和第二示例性实施例使用户能够在数据库内指定列数,并将对应于被指定的列数的连续记录定位在相同的行内。例如,如果被指定的列数为3,则第一和第二示例性实施例将三条连续记录定位在相同的行内。但是,本示例性实施例将使用相同或相似的子模板的记录定位在相同的行或相同的列内。本示例性实施例可生成表格格式布局结果而无需使用在第一实施例或第二实施例内所述的数据库。
图42示出根据本发明的示例性实施例的信息处理装置(主机)101的功能模块。信息处理装置101被配置成使用户能够为流动区域设置提取条件,根据该提取条件可从数据库中提取内容数据,并确定包括子模板的流动区域的布局,该被提取的内容数据可被定位在该子模板内。获取部件4201被配置成从数据库获得满足提取条件的内容数据。
第一确定部件4202被配置成基于每一行内的垂直子模板大小和每一列内的水平子模板大小,确定构成流动区域的每个单元区域的区域大小,其中通过获取部件4201获得的内容数据被定位在多个子模板内,每一行内的垂直子模板大小是选自沿代表水平方向的行方向排列的多个子模板,且每一列内的水平子模板大小是选自沿代表垂直方向的列方向排列的多个子模板。定位部件4203被配置成确定每个子模板的大小以便子模板被包含在具有第一确定部件4202确定的区域大小的单元区域内,并将内容数据定位在该子模板内。
识别部件4204确定包括获取部件4201获得的多个内容数据的记录的布局是否需要多个单元区域。第二确定部件4205根据将被定位在子模板的局部区域内的内容数据所需的大小,确定该局部区域的大小。
划分部件4206参照第一确定部件4202确定的区域大小,将流动区域划分成多个单元区域。第三确定部件4207确定该获取部件获得的内容数据被定位在其中的子模板。
此外,用于实现上述示例性实施例的功能的软件程序代码可被提供给包含各种设备的系统或装置。系统或装置内的计算机(或CPU或微处理单元(MPU))可执行该程序(即,对应于示例性实施例的每个流程图的程序)以操作设备来实现上述示例性实施例的功能。因此,本发明包括当示例性实施例的功能或过程可由计算机实现时可安装在计算机上的程序代码。
在此情况下,程序代码本身可实现示例性实施例的功能。程序的等同物如果具有相当的功能,则也可使用。此外,本发明包括通过存储程序代码的存储(或记录)介质将程序代码提供给计算机。在此情况下,程序的类型可以是目标代码、解释程序和OS脚本数据中的任何一个。提供程序的存储介质可选自软盘、硬盘、光盘、磁光(MO盘、光盘-ROM(CD-ROM)、可记录CD(CD-R)、可重写CD(CD-W)、磁带、非易失性存储卡、ROM和DVD(DVD-ROM,DVD-R)中的任何一个。
用于提供程序的方法包括当因特网上的网站允许每个用户将本发明的计算机程序或具有自动安装功能的程序的压缩文件下载到用户的硬盘或其它记录介质内时,使用客户计算机的浏览功能访问该网站。此外,构成本发明的程序的程序代码可被分成多个文件,以便可从不同的网站下载各个文件。即,本发明包括允许大量用户下载程序文件以便本发明的功能或处理可在他们的计算机上实现的万维网(WWW)服务器。
当本发明的程序被分发给用户时,将本发明的程序加密并将被加密的程序存储在CD-ROM或相当的记录介质上是一种示例性方法。被授权用户(即,满足预定条件的用户)被允许从因特网的网页上下载密钥信息。用户可使用获得的密钥信息将程序解密,并将程序安装在他们的计算机上。当计算机读取并执行安装的程序时,可实现上述示例性实施例的功能。
此外,在计算机上运行的操作系统(OS)或其它应用软件可基于程序的指令执行实际处理的一部分或全部。另外,从存储介质读出的程序代码可被写入计算机内配备的功能扩展板的存储器,或可被写入连接到计算机上的功能扩展部件的存储器。在此情况下,基于程序的指令,功能扩展板或功能扩展部件上的中央处理单元(CPU)可执行处理的一部分或全部,从而可实现上述示例性实施例的功能。
尽管已经参照示例性说明了本发明,但是应理解,本发明并不局限于公开的示例性实施例。下列权利要求的范围应被给予最宽泛的解释以便包含所有修改、等同结构和功能。
Claims (20)
1.一种被配置成存储具有流动区域的模板并通过使用包括子模板的所述流动区域来确定布局的信息处理装置,其中,在该流动区域中设置了从数据库提取内容数据的提取条件,并且能够在所述子模板中定位被提取的内容数据,该信息处理装置包括:
获取部件,被配置成从数据库获取满足提取条件的内容数据;
第一确定部件,被配置成基于流动区域的每一行内的垂直子模板大小和流动区域的每一列内的水平子模板大小来确定构成流动区域的每个单元区域的区域大小,其中该获取部件获取的内容数据被插入多个子模板,流动区域的每一行内的垂直子模板大小选自沿代表水平方向的行方向排列的多个子模板,而流动区域的每一列内的水平子模板大小选自沿代表垂直方向的列方向排列的多个子模板;以及
定位部件,被配置成确定每个子模板的大小以便使这些子模板被包含在具有该第一确定部件确定的区域大小的单元区域内,并将内容数据插入在这些子模板内。
2.根据权利要求1的信息处理装置,其中所述第一确定部件使沿代表垂直方向的列方向排列的每个单元区域的水平大小相等,并使沿代表水平方向的行方向排列的每个单元区域的垂直大小相等。
3.根据权利要求1的信息处理装置,其中所述第一确定部件从沿行方向排列的多个子模板中提取具有最大垂直大小的子模板,基于每一行内的被提取的垂直子模板大小和流动区域的垂直大小来确定每一行内的单元区域的垂直大小,从在每一列内排列的多个子模板中提取具有最大水平大小的子模板,基于每一列内的被提取的水平子模板大小和流动区域的水平大小来确定每一列内的单元区域的水平大小,并且第一确定部件基于被确定的垂直大小和水平大小来确定每个单元区域的区域大小。
4.根据权利要求1的信息处理装置,其中所述定位部件改变每个子模板的大小以便使该子模板被包含在具有所述第一确定部件确定的区域大小的对应的单元区域内,并将这些子模板定位在这些单元区域内。
5.根据权利要求1的信息处理装置,其中当任意子模板被定位在任意区域内时,所述定位部件改变每个任意子模板的大小以便每个任意子模板的大小符合对应的任意区域的大小,并将该任意子模板定位在该任意区域内。
6.根据权利要求5的信息处理装置,其中当所述定位部件改变每个任意子模板的大小以便每个任意子模板的大小符合对应的任意区域的大小时,该定位部件改变子模板的大小而不需保持其高宽比,并且在保持子模板内包含的图像数据用的局部区域的图像数据的高宽比的同时改变子模板的大小。
7.根据权利要求1的信息处理装置,还包括:第四确定部件,被配置成确定包括所述获取部件获得的多个内容数据的记录的布局是否需要两个或更多个单元区域,其中当该第四确定部件确定该布局需要两个或更多个单元区域时,该定位部件使用所需数量的多个单元区域来定位子模板。
8.根据权利要求1的信息处理装置,还包括:第二确定部件,被配置成根据将被定位在子模板的局部区域内的内容数据所需的大小,确定该局部区域的大小,其中该第二确定部件根据被确定的该局部区域的大小,确定子模板的大小。
9.根据权利要求1的信息处理装置,还包括:划分部件,被配置成参考所述第一确定部件确定的区域大小,将流动区域划分成多个单元区域。
10.根据权利要求1的信息处理装置,还包括:第三确定部件,被配置成确定所述获取部件获得的内容数据被定位在其中的子模板,其中当该第三确定部件确定的子模板具有多种类型时,该定位部件将类似的子模板定位在相同的行或相同的列内。
11.一种用于信息处理装置的方法,该信息处理装置被配置成存储具有流动区域的模板并通过使用包括子模板的所述流动区域来确定布局,其中,在该流动区域中设置了从数据库提取内容数据的提取条件,并且能够在所述子模板中定位被提取的内容数据,所述方法包括:
从数据库获取满足提取条件的内容数据;
基于流动区域的每一行内的垂直子模板大小和流动区域的每一列内的水平子模板大小来确定构成流动区域的每个单元区域的区域大小,其中所获得的内容数据被插入多个子模板,流动区域的每一行内的垂直子模板大小选自沿代表水平方向的行方向排列的多个子模板,而流动区域的每一列内的水平子模板大小选自沿代表垂直方向的列方向排列的多个子模板;
确定每个子模板的大小以便该子模板被包含在具有被确定的区域大小的单元区域内;以及
将内容数据插入在子模板内。
12.根据权利要求11的方法,还包括:使沿垂直列方向排列的每个单元区域的水平大小相等,并使沿水平行方向排列的每个单元区域的垂直大小相等。
13.根据权利要求11的方法,还包括:从沿行方向排列的多个子模板中提取具有最大垂直大小的子模板,基于每一行内的被提取的垂直子模板大小和流动区域的垂直大小来确定每一行内的单元区域的垂直大小,从每一列内排列的多个子模板中提取具有最大水平大小的子模板,基于每一列内的被提取的水平子模板大小和流动区域的水平大小来确定每一列内的单元区域的水平大小,并且基于被确定的垂直大小和水平大小来确定每个单元区域的区域大小。
14.根据权利要求11的方法,还包括:改变每个子模板的大小,以便该子模板被包含在具有被确定的区域大小的对应的单元区域内,并将该子模板定位在该单元区域内。
15.根据权利要求11的方法,还包括:当任意子模板被定位在任意区域内时,改变每个任意子模板的大小,以便每个任意子模板的大小符合对应的任意区域的大小,并将该任意子模板定位在该任意区域内。
16.根据权利要求15的方法,其中当改变每个任意子模板的大小以便每个任意子模板的大小符合对应的任意区域的大小时,所述方法还包括:改变子模板的大小而不需保持其高宽比,并且在保持子模板内包含的图像数据用的局部区域的高宽比的同时改变该子模板的大小。
17.根据权利要求11的方法,还包括:确定包括多个内容数据的记录的布局是否需要两个或更多个单元区域,并且当确定该布局需要两个或更多个单元区域时,使用所需数量的多个单元区域来定位子模板。
18.根据权利要求11的方法,还包括:根据将被定位在子模板的局部区域内的内容数据所需的大小,确定该局部区域的大小,并根据被确定的该局部区域的大小而确定子模板的大小。
19.根据权利要求11的方法,还包括:参考被确定的每个单元区域的区域大小,将流动区域划分成多个单元区域。
20.根据权利要求11的方法,还包括:确定所获得的内容数据被定位在其中的子模板,并且当该子模板具有多种类型时,将类似的子模板定位在相同的行或相同的列内。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006311618A JP2008129702A (ja) | 2006-11-17 | 2006-11-17 | 情報処理装置および制御方法および制御プログラム |
JP2006-311618 | 2006-11-17 | ||
JP2006311618 | 2006-11-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101183353A CN101183353A (zh) | 2008-05-21 |
CN101183353B true CN101183353B (zh) | 2010-09-22 |
Family
ID=39418295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101694753A Active CN101183353B (zh) | 2006-11-17 | 2007-11-16 | 信息处理装置和控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8370738B2 (zh) |
JP (1) | JP2008129702A (zh) |
CN (1) | CN101183353B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100218090A1 (en) * | 2009-02-26 | 2010-08-26 | Universal - Ad Ltd. | Sub-page-based page layout system and method thereof |
JP5335495B2 (ja) * | 2009-03-10 | 2013-11-06 | キヤノン株式会社 | 情報処理装置、画像データ生成方法、及びコンピュータプログラム |
US20100318916A1 (en) * | 2009-06-11 | 2010-12-16 | David Wilkins | System and method for generating multimedia presentations |
WO2011057428A1 (en) * | 2009-11-13 | 2011-05-19 | Google Inc. | Aligning user interface elements |
US8346723B2 (en) * | 2010-03-30 | 2013-01-01 | Oracle International Corporation | Consolidation of patch transformations for database replication |
US20120102385A1 (en) * | 2010-10-25 | 2012-04-26 | Konica Minolta Systems Laboratory Inc. | Determining heights of table cells |
CN102629262A (zh) * | 2012-03-02 | 2012-08-08 | 浪潮集团山东通用软件有限公司 | 一种自定义bi展现模型的方法 |
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 |
JP6268891B2 (ja) | 2013-10-07 | 2018-01-31 | セイコーエプソン株式会社 | コラージュ画像作成プログラム、コラージュ画像作成方法、及びコラージュ画像作成装置 |
JP6614565B2 (ja) * | 2014-01-10 | 2019-12-04 | 株式会社野村総合研究所 | 報告書作成システム |
CN106462559B (zh) * | 2014-02-07 | 2019-10-15 | 谷歌有限责任公司 | 任意大小内容项生成 |
CN107180019B (zh) * | 2016-03-11 | 2021-01-12 | 阿里巴巴集团控股有限公司 | 表格展示方法及装置 |
US11023653B2 (en) * | 2018-10-17 | 2021-06-01 | Kyocera Document Solutions Inc. | Simplified formatting for variable data production with vertical resolution of dependencies |
CN110032701B (zh) * | 2019-04-04 | 2021-07-09 | 网易(杭州)网络有限公司 | 图像展示控制方法、装置、存储介质及电子设备 |
CN110764721A (zh) * | 2019-09-19 | 2020-02-07 | 北京三快在线科技有限公司 | 模板生成方法、装置、电子设备和计算机可读介质 |
JP7435059B2 (ja) | 2020-03-11 | 2024-02-21 | 富士フイルムビジネスイノベーション株式会社 | 文書処理装置及びプログラム |
CN111596878B (zh) * | 2020-05-13 | 2023-06-20 | 阿波罗智联(北京)科技有限公司 | 投屏方法、装置、设备以及存储介质 |
JP7310864B2 (ja) * | 2021-09-13 | 2023-07-19 | カシオ計算機株式会社 | 印刷データ編集方法及び印刷データ編集プログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000048216A (ja) * | 1998-07-24 | 2000-02-18 | Dainippon Screen Mfg Co Ltd | 画像部品ブロックのレイアウト処理方法及び装置、並びに、コンピュータ読み取り可能な記憶媒体 |
WO2000075768A1 (en) * | 1999-06-07 | 2000-12-14 | Hewlett-Packard Company | An agent and method for dynamically scheduling publication in an automated document delivery system |
CN1828517A (zh) * | 2005-02-28 | 2006-09-06 | 佳能株式会社 | 文档处理装置和文档处理方法 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4539653A (en) * | 1983-04-11 | 1985-09-03 | International Business Machines Corporation | Formatting text/graphics using plural independent formatting mechanisms |
US5701500A (en) * | 1992-06-02 | 1997-12-23 | Fuji Xerox Co., Ltd. | Document processor |
US6055550A (en) * | 1996-03-21 | 2000-04-25 | Oracle Corporation | Auto sizing of fields for displaying computer forms |
JPH09330397A (ja) * | 1996-06-13 | 1997-12-22 | Canon Inc | 自動画像編集装置 |
US5943679A (en) * | 1996-10-30 | 1999-08-24 | Xerox Corporation | Multi-page document viewer having a focus image and recursively nested images of varying resolutions less than the resolution of the focus image |
US5893127A (en) * | 1996-11-18 | 1999-04-06 | Canon Information Systems, Inc. | Generator for document with HTML tagged table having data elements which preserve layout relationships of information in bitmap image of original document |
US6389437B2 (en) * | 1998-01-07 | 2002-05-14 | Ion Systems, Inc. | System for converting scrolling display to non-scrolling columnar display |
JPH11250272A (ja) * | 1998-01-08 | 1999-09-17 | Xerox Corp | 自動イメ―ジレイアウト方法及びシステム |
US6675351B1 (en) * | 1999-06-15 | 2004-01-06 | Sun Microsystems, Inc. | Table layout for a small footprint device |
US6826727B1 (en) * | 1999-11-24 | 2004-11-30 | Bitstream Inc. | Apparatus, methods, programming for automatically laying out documents |
US6639611B1 (en) * | 1999-12-15 | 2003-10-28 | Sun Microsystems, Inc. | System and method for efficient layout of a display table |
GB2361330A (en) * | 2000-04-13 | 2001-10-17 | Int Computers Ltd | Template mechanism for document generation |
US20020040375A1 (en) * | 2000-04-27 | 2002-04-04 | Simon Richard A. | Method of organizing digital images on a page |
US7454695B1 (en) * | 2000-05-19 | 2008-11-18 | Renderx, Inc. | Methods for rendering tables |
US6738079B1 (en) * | 2000-06-02 | 2004-05-18 | Sun Microsystems, Inc. | Graphical user interface layout customizer |
US7028255B1 (en) * | 2000-08-14 | 2006-04-11 | Adobe Systems Incorporated | Self-sizing object placement |
US6981209B1 (en) * | 2000-09-26 | 2005-12-27 | Microsoft Corporation | Automatic layout of vertical flow oriented characters within a defined area |
US7051276B1 (en) * | 2000-09-27 | 2006-05-23 | Microsoft Corporation | View templates for HTML source documents |
US7313765B2 (en) * | 2001-04-30 | 2007-12-25 | Broadband Graphics Llc | Cell based EUI methods & apparatuses |
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 |
AU2002328118A1 (en) * | 2001-10-04 | 2003-04-22 | Koninklijke Philips Electronics N.V. | Method of styling a user interface and device with adaptive user interface |
US7028272B2 (en) * | 2002-01-03 | 2006-04-11 | Texas Instruments Incorporated | Reducing cell library development cycle time |
US7065704B1 (en) * | 2002-07-18 | 2006-06-20 | Embedded Internet Solutions, Inc. | Methods for fast HTML rendering |
US7107525B2 (en) * | 2002-07-23 | 2006-09-12 | Xerox Corporation | Method for constraint-based document generation |
WO2004072867A1 (en) * | 2003-02-14 | 2004-08-26 | Access Co., Ltd. | Browser program for performing table-layout |
JP4079087B2 (ja) * | 2003-03-12 | 2008-04-23 | セイコーエプソン株式会社 | レイアウトシステム |
US7421649B1 (en) * | 2003-04-28 | 2008-09-02 | Adobe Systems Incorporated | Enhanced visual table editing |
US7339598B2 (en) * | 2003-07-11 | 2008-03-04 | Vistaprint Technologies Limited | System and method for automated product design |
US7391885B2 (en) * | 2003-07-30 | 2008-06-24 | Xerox Corporation | Method for determining overall effectiveness of a document |
US7188310B2 (en) * | 2003-10-09 | 2007-03-06 | Hewlett-Packard Development Company, L.P. | Automatic layout generation for photobooks |
JP4095558B2 (ja) * | 2004-01-30 | 2008-06-04 | キヤノン株式会社 | 文書処理装置及び文書処理方法及びコンピュータプログラム |
JP4250540B2 (ja) * | 2004-01-30 | 2009-04-08 | キヤノン株式会社 | レイアウト調整方法および装置およびレイアウト調整プログラム |
US7500179B2 (en) * | 2004-08-04 | 2009-03-03 | Microsoft Corporation | Method for optimizing space allocation in table layout |
JP4332477B2 (ja) * | 2004-08-06 | 2009-09-16 | キヤノン株式会社 | レイアウト調整方法及び装置並びにプログラム |
GB2418280A (en) * | 2004-09-18 | 2006-03-22 | Hewlett Packard Development Co | Document creation system |
US7656543B2 (en) * | 2004-11-12 | 2010-02-02 | Hewlett-Packard Development Company, L.P. | Albuming images |
US7412647B2 (en) * | 2005-03-04 | 2008-08-12 | Microsoft Corporation | Method and system for laying out paginated content for viewing |
US7657830B2 (en) * | 2005-05-04 | 2010-02-02 | Microsoft Corporation | Layout size sharing in a grid layout for a user interface |
US7627812B2 (en) * | 2005-10-27 | 2009-12-01 | Microsoft Corporation | Variable formatting of cells |
US20070162844A1 (en) * | 2006-01-12 | 2007-07-12 | Microsoft Corporation | Automatic layout of objects |
-
2006
- 2006-11-17 JP JP2006311618A patent/JP2008129702A/ja not_active Withdrawn
-
2007
- 2007-10-18 US US11/874,354 patent/US8370738B2/en not_active Expired - Fee Related
- 2007-11-16 CN CN2007101694753A patent/CN101183353B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000048216A (ja) * | 1998-07-24 | 2000-02-18 | Dainippon Screen Mfg Co Ltd | 画像部品ブロックのレイアウト処理方法及び装置、並びに、コンピュータ読み取り可能な記憶媒体 |
WO2000075768A1 (en) * | 1999-06-07 | 2000-12-14 | Hewlett-Packard Company | An agent and method for dynamically scheduling publication in an automated document delivery system |
CN1828517A (zh) * | 2005-02-28 | 2006-09-06 | 佳能株式会社 | 文档处理装置和文档处理方法 |
Also Published As
Publication number | Publication date |
---|---|
US8370738B2 (en) | 2013-02-05 |
US20080120536A1 (en) | 2008-05-22 |
CN101183353A (zh) | 2008-05-21 |
JP2008129702A (ja) | 2008-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101183353B (zh) | 信息处理装置和控制方法 | |
CN101278252B (zh) | 数据库应用程序用户界面提供功能的方法及其界面部署的方法 | |
CN1997990B (zh) | 电子化维修手册生成方法以及电子化维修手册生成装置 | |
CN100362464C (zh) | 文件处理装置和文件处理方法 | |
US7228496B2 (en) | Document editing method, document editing system, server apparatus, and document editing program | |
CN100449485C (zh) | 信息处理装置和方法 | |
CN100421103C (zh) | 信息处理装置和信息处理方法 | |
EP1696337A2 (en) | Document processing apparatus, document processing method and computer program | |
JP4912139B2 (ja) | 情報処理装置 | |
JPWO2004104862A1 (ja) | 電子化サービスマニュアル表示制御装置 | |
JP2010113479A (ja) | 情報処理装置及び情報処理方法 | |
JP2000242655A (ja) | 情報処理装置、情報処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN117391053A (zh) | 个性化编辑出版方法 | |
KR100567390B1 (ko) | 군수지원분석 자료를 이용한 전자식 기술교범 및 종이교범 통합 저작 방법 | |
CN1826614B (zh) | 电子化服务指南显示控制方法和装置 | |
KR101307790B1 (ko) | 연결번역 기반의 디지털 만화콘텐츠 저작 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 | |
KR100902193B1 (ko) | 보고서 작성시스템, 검색결과에 대한 맞춤 보고서 제공방법 및 시스템, 그리고, 저장매체 | |
KR20230111054A (ko) | 웹사이트 제작 방법 및 웹사이트 제작 서비스 제공 서버 | |
KR100767150B1 (ko) | 전자화 서비스 매뉴얼 표시용 프로그램이 기록된 기록매체, 전자화 서비스 매뉴얼 표시 제어방법 및 전자화 서비스 매뉴얼 표시 제어장치 | |
JP2001022734A (ja) | 情報処理装置、情報処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
Liu et al. | Personalized web views for multilingual web sources | |
CN103713864A (zh) | 帐票输出装置和帐票输出方法 | |
Lin et al. | Realization of Logistics ERP Management System Interface Design Based on Online Intelligent Design Platform | |
JP2017059237A (ja) | 情報処理装置と、その処理方法及びプログラム | |
JP6604140B2 (ja) | 情報処理装置、情報処理装置の制御方法、およびプログラム |
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 |