CN100458780C - 布局处理方法、装置以及程序 - Google Patents
布局处理方法、装置以及程序 Download PDFInfo
- Publication number
- CN100458780C CN100458780C CNB2005101342793A CN200510134279A CN100458780C CN 100458780 C CN100458780 C CN 100458780C CN B2005101342793 A CNB2005101342793 A CN B2005101342793A CN 200510134279 A CN200510134279 A CN 200510134279A CN 100458780 C CN100458780 C CN 100458780C
- Authority
- CN
- China
- Prior art keywords
- container
- page
- layout
- link
- attribute
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
Abstract
在用于调整容器尺寸的变化量的布局处理方法中,将数个容器彼此相联的链路被设定以便在数个页面之间延伸。相应地,根据内容数据确定将内容数据插入预定页面或是另外的页面。
Description
技术领域
本发明涉及一种用于自动布局系统和布局方法的装置和介质。
背景技术
近年来,由于较大的产品变化使得产品的生命周期缩短,并且由于互联网的普及所以对用户化服务的需求呈增长趋势。相应地,客户关系管理(CRM)以及一对一行销引人注目。这些方法对于增加客户的满意度以及锁定客户非常有效。
一对一行销是数据库行销的一种类型。对于每一个客户,其包括年龄、性别、习惯、爱好、购买历史等的个人特征信息都被存储在数据库中,并被分析以做出符合该客户需求的建议。这种行销类型的一种通常的方法是变量打印。由于桌面出版(DTP)技术的新发展以及数字打印机的广泛使用,为每个用户输出定制文档的变量打印系统得到了发展。相应地,就需要确定对于每个客户为不同内容的适合的布局。
在通常的变量打印系统中,当产生定制文档时,就在文档上安排容器。容器是这样一种物体,其定义为用于描绘存储在数据库里的内容的矩形区域(也称为域)。在变量打印系统中,容器被安排在文档上,接着容器以一对一的对应方式被联系到数据库的内容以产生定制文档。
在变量打印系统中,容器的尺寸是固定的。于是,在将存储在数据库中的每个内容的数据插入到对应的容器的处理中,如果内容数据的量相对大于容器的尺寸,就会发生溢出,其中内容数据的一部分就会丢失。相反地,如果内容数据的量相对小于容器的尺寸,容器中就会留下空白空间。
为了解决上述的问题,可以应用一种根据内容而动态改变容器布局的系统。该用于动态改变布局的系统通过根据有待插入容器的例如文本数据和图像数据的内容数据的量确定容器尺寸,从而可以解决上述的溢出和空白空间的问题。
更具体地,容器的尺寸被设定为变量并且随着插入到容器中的内容数据的量而增长。另外,对于文本数据,容器的字体尺寸被设定为变量并且随着此处所插入的内容数据的量而减小。相应地,即使插入到容器中的文本数据的量太大而不能装入,所有的文本数据也可以在容器中被显示。
日本专利公开No.7-129658公开了一种达到了部分上述技术的布局系统。
根据日本专利公开No.7-129658,字符被连续输入到具有预定尺寸的容器。如果字符的数目太大以至于不能将所有的字符装入到容器中,则增加字符输入进的容器的尺寸而减小相邻容器的尺寸。
在上述的布局系统中,由于输入到容器中的文本数据的量增加,只要数据输入处理继续,用于接收文本数据的容器的尺寸就会增加并且相邻容器的尺寸就会减小。这样,相邻容器的尺寸持续减小且无法获得一个均衡的布局。另外,上述的布局系统并不具有变量打印或将内容插入对应的容器内的概念。
另一方面,在一种应用于变量数据打印的传统布局方法中,生成了一个固定的容器并将内容数据插入到该固定容器中。然而,当使用了具有固定尺寸的容器时,如果内容数据的尺寸大于容器的尺寸就会发生溢出。另外,如果通过减小字体尺寸而将内容数据插入到容器中,就存在字体尺寸变得极小的风险。
上述的问题可以通过一种方法解决,其中考虑到了数个未固定的彼此联系的容器的尺寸之间的均衡。更具体地,每个容器的尺寸根据所插入的内容数据的尺寸而改变,并且容器尺寸的改变量在彼此联系的容器之间进行调整。相应地,可以得到在容器的尺寸上具有良好均衡的布局。
上述的布局方法可以应用在多个页面上。更具体地,用于接收内容数据的容器在多个页面上预先设定。内容数据被插入到设定在多个页面上的容器中,并且上述的布局方法被应用在每个页面上。
然而,在上述的布局方法中,例如当容器A和B被分别设定在第一和第二页面上,并且内容数据被插入到容器A和B中时,有可能插入到容器A的内容数据的尺寸足够小,以提供足够的空间将装满内容数据的容器B安排在第一页面上。
即使这样,上述布局方法仅仅调整了预定页面上容器的尺寸。因此,就存在布局的外观品质降低而且产生浪费页面的风险。
发明内容
基于上述的这些问题,本发明涉及自动布局处理,其中有一延伸越过多个页面以将多个容器彼此联系的页面间链路,该链路可以被设定为根据所插入的内容数据而判断容器是否将被安排在预定页面或其它页面,由此提供多个页面上均衡的布局。
根据本发明的一个方面,一种根据插入到数据区域的内容数据而动态改变具有多个数据区域的模板的布局的布局处理方法包括:属性设定步骤,设定通过链路与另一个数据区域相联的数据区域的属性;调整步骤,根据插入数据区域的内容数据调整数据区域的布局;判定步骤,根据调整步骤所调整的数据区域的布局,判定通过链路与另一个数据区域相联的数据区域的是否从预定页面区域伸出;以及确定步骤,当判定步骤判定出数据区域从预定页面区域伸出时,则确定一个页面区域,其中,根据在属性设定步骤中设定的数据区域的属性来安排该数据区域。当在属性设定步骤设定的数据区域的属性允许数据区域被安排在不同的页面区域上时,该数据区域被分割以安排在多个页面区域上。
根据本发明的另一个方面,一种根据插入到数据区域的内容数据而动态改变具有多个数据区域的模板的布局的布局处理装置包括:属性设定单元,配置成设定通过链路与另一个数据区域相联的数据区域的属性;调整单元,配置成根据插入数据区域的内容数据调整数据区域的布局;判定单元,配置成根据调整单元所调整的数据区域的布局,判定通过链路与另一个数据区域相联的数据区域是否从预定页面区域伸出;以及确定单元,当判定单元判定出数据区域从预定页面区域伸出时,则确定一个页面区域,其中,根据属性设定单元所设定的数据区域的属性来安排该数据区域。当属性设定单元设定的数据区域的属性允许数据区域被安排在不同的页面区域上时,该数据区域被分割以安排在多个页面区域上。
根据本发明的另一个方面,一种根据插入到数据区域的内容数据而动态改变具有多个数据区域的模板的布局的计算机可读布局处理程序包括:属性设定步骤,设定通过链路与另一个数据区域相联的数据区域的属性;调整步骤,根据插入数据区域的内容数据调整数据区域的布局;判定步骤,根据调整步骤所调整的数据区域的布局,判定通过链路与另一个数据区域相联的数据区域是否从预定页面区域伸出;以及确定步骤,当判定步骤判定出数据区域从预定页面区域伸出时,则确定一个页面区域,其中,根据在属性设定步骤所设定的数据区域的属性来安排该数据区域。当在属性设定步骤设定的数据区域的属性允许数据区域被安排在不同的页面区域上时,该数据区域被分割以安排在多个页面区域上。
附图说明
本发明的进一步特征将在以下结合附图而对示例的实施例所作的描述中变得更为清楚。
图1A表示了根据本发明的一个实施例的计算机系统的结构;
图1B表示了如图1A所示的计算机模块;
图2表示了将引擎服务器配属在如图1A所示的计算机系统上的结构;
图3表示了一种应用主窗口的一个例子;
图4表示了设定容器条件窗口的一个例子;
图5A到图5D表示了容器规则;
图6表示了链路设定处理的流程图;
图7A到图7C表示了当链路形成时用户界面的变化方式的一个例子;
图8表示了根据实施例的布局引擎进行布局计算处理的流程图;
图9表示了根据另一个实施例的布局引擎进行布局计算处理的流程图;
图10A到图10C表示了根据实施例的布局计算处理;
图11表示了根据实施例在布局计算中所处理的容器组;
图12表示的是用户界面的一个显示示例,其中安排有通过柔性链路互相联系的容器;
图13表示的是根据实施例使用用户界面设定柔性链路的处理的流程图;
图14表示的是根据实施例的对话窗口的设定;
图15表示的是利用柔性链路的布局的一个结果的示例;
图16表示的是利用柔性链路的布局的一个结果的示例;
图17表示的是根据实施例的包括多个页面的文档模板的示例;
图18表示的是根据实施例的包括延伸越过不同页面的页面间链路的布局设计的示例;
图19表示的是根据实施例的用于设定和显示链路的处理的流程图;
图20表示的是根据实施例的用于设定容器属性的处理的流程图;
图21表示的是根据实施例的页面间链路设定时所进行的自动布局操作;
图22表示的是根据实施例的容器被移动到另一页面的布局的结果;
图23表示的是根据实施例的用于设定容器属性的处理的流程图;
图24A到24B表示的是根据本发明第二实施例的自动布局操作的流程图;
图25表示的是容器信息;
图26表示的是用于设定容器属性的特性设定对话;
图27表示的是不允许页面间移动的布局的结果;
图28表示的是自动页间安排处理的流程图;
图29表示的是容器页间安排的结果;
图30表示的是页间编辑页面;
图31表示的是链路属性;
图32表示的是根据第三实施例的容器属性设定的特性;
图33表示的是根据第三实施例的文档模板;
图34表示的是根据第三实施例的链路属性;
图35表示的是根据第三实施例的设定容器属性的处理的流程图;
图36表示的是根据第三实施例的基于链路设定容器属性的处理的流程图;
图37表示的是设定容器属性的处理的结果;
图38表示的是设定页间链路的对话窗口;
图39表示的是由布局编辑应用执行的布局编辑处理的功能性结构。
具体实施方式
以下对本发明的示例性的实施例进行描述。
第一实施例
在对第一实施例进行描述之前,首先对可以应用本发明的系统结构和应用结构进行描述。
系统结构
以下结合附图1A和附图1B对根据本发明的实施例的包括主机(信息处理设备)的自动布局系统的结构进行描述。附图1A是表示自动布局系统100的结构示例方框图。附图1B是表示如图1A所示主机(信息处理设备)的详细结构方框图。
根据本实施例的布局编辑处理和自动布局处理由主机101(包括通用计算机模块)完成。布局编辑应用程序121可以在自动布局系统100中执行,并且该软件的部分或者全部是由主机101执行。这样,就完成了上述的布局编辑处理和自动布局处理。
布局编辑应用程序121被存储在计算机可读介质上,并且从计算机可读介质装载到主机101的存储器136上。存储软件和计算机程序的计算机可读介质是一种计算机程序产品。通过使用计算机中的计算机程序产品可以得到用于产生文档或打印所产生的文档的设备。
该计算机模块101连接到例如键盘132的输入设备以及例如鼠标133的指示设备,并且连接到包括显示设备144以及可以选择的本地打印机145的输出设备。输入/输出接口138通过网络连接107使得计算机模块101能够连接到系统100的其它的计算设备。该网络连接107通常是局域网(LAN)或是广域网(WAN)。
该计算机模块101通常包括:至少一个处理器单元135;存储器单元136,例如由半导体随机存取存储器(RAM)和只读存储器(ROM)形成;输入/输出(I/O)接口,包括视频接口137和用于键盘132和鼠标133的输入/输出(I/O)接口143。提供了存储设备139,其通常包括硬盘驱动器140和软盘驱动器141。也可以使用磁带驱动器(没有显示)。通常提供压缩光盘-只读存储器(CD-ROM)作为非易失数据源。本领域的技术人员可知,计算机模块101使用了操作系统,例如GNU/Linux或是Microsoft Windows,并且计算机模块101的组件135到143通常根据操作系统,并且以一种导致所形成的计算机系统的传统操作模式的方式通过互连总线134进行通信。所述安排可以实施的计算机的例子包括IBM-PC(个人计算机)及其兼容,由Sun Microsystems,Inc.生产的SparcStation,以及由此演化的类似的计算机系统。
通常布局编辑应用程序121位于硬盘驱动140上并且在其被执行时由处理器135读取并控制。程序121以及从网络获得的任何数据的中间存储可以使用半导体存储器136,可能与硬盘驱动140一起,来完成。在某些情况下,应用程序121可以编码在CD-ROM或软盘上提供给用户并且通过相应的驱动142或141进行读取,也可以由用户通过网络连接107读取。进一步,软件也可以从其它尺寸适合的计算机可读介质,包括磁带、ROM或集成电路、磁光盘、计算机模块101和其它设备之间的无线或红外传输信道、计算机可读卡例如个人计算机存储卡国际联合会(PCMCIA)卡,以及包括电子邮件传输和记录在网址上的信息等的互联网和内联网上,装载到计算机模块101上。前述的仅是相关计算机可读介质的示例。还可以使用其它计算机可读介质。
布局编辑应用121使得计算机执行自动布局处理和布局编辑处理,并且包括三个软件组件。
这些组件中的第一个是布局引擎105,其根据每个容器,其为矩形区域,的尺寸和位置的设定从对于每个文档的数据库119中读取数据。布局引擎105执行自动布局处理,其中根据布局引擎105所读取的数据以及容器的设定对接收所读取的数据的每个容器的尺寸和位置等进行计算。根据本实施例的布局引擎105还执行对分配给容器的数据进行绘画处理以产生文档图像。然而,本发明并不限于此,布局引擎105还可以作为一种应用进行操作以确定每个矩形区域(容器)的尺寸和位置。在这种情况下,布局引擎105输出绘画信息到打印机驱动器(没有显示),并且该打印机驱动器执行文档的图像绘画处理以产生打印数据。
第二组件是用户接口103,其允许用户执行布局编辑处理。用户通过使用用户接口103创建并移动容器以产生文档模板。另外,用户接口103提供一种机制使得文档模板中的每个容器与数据相关联。
第三组件是用户接口(UI)模型分析器104,其将用户接口元素,包括用户接口103提供的容器,锚标志,滑块,链路以及相应的属性转换成可以被布局引擎105识别的内部格式。更具体地,该UI模型分析器104允许用户接口103改变成具有其它输入或显示格式的用户接口而无需在布局引擎105中作任何改变。链路用于将容器彼此相关联。
用户接口103,UI模型分析器104以及布局引擎105通过通信信道123和124互相通信。
用于文档生成的数据源通常是在数据库服务器117上驻留的数据库119,一般是由另一计算机形成的,在该另外的计算机上正在运行数据库应用。主机101通过网络连接107与数据库服务器117进行通信。布局编辑应用程序121生成文档模板,该文档模板可以保存到主机101或通常由另一台计算机形成的文件服务器115上。布局编辑应用程序121还通过将数据并入文档模板制作文档。这些文档可以被保存到主机101上的本地文件系统、保存在文件服务器115上或直接发送到打印机113以便打印。打印服务器109是一台计算机,该计算机向不能够直接联网的打印机提供网络功能。打印服务器109通过通常的通信信道111与打印机113连接。
图2与图1A和图1B相似,除了额外的包含布局引擎105的单独版本225的引擎服务器227。该引擎服务器227是另一台通常的计算机。布局引擎225可以将保存在文件服务器115上的文档模板和保存在数据库119上的数据进行合并以生成用于打印或其它目的的文档。可以通过用户接口103请求这种操作,或是可以发出打印特定记录的请求。
应用结构
主窗口
参见图3,用户接口103包括由应用窗口301形成的用户接口,该窗口在操作时显示在视频显示144上。窗口301的特征在于菜单条302,工具条303,其在某些实现中可以拆卸并移动到屏幕的各个位置上,工作区域306,可选的调色板311以及光标/指针装置313,其位置通常与鼠标133的位置或移动相关。
菜单条302具有数个菜单栏304,当其被激活时,就如同现有技术中的一样扩大到菜单选项层次中。
工具条303具有数个工具按钮或窗口小部件305,每一个窗口小部件305可以根据应用的特定模式被隐藏或显示。
可选的标尺308被用以指示工作区域内指针,页面,线,边缘向导器,容器或其它对象的位置。
调色板311可被用以使用附加功能,例如变量数据库。调色板311具有其自己的窗口控制312以允许其被移动、调整尺寸或者关闭。可以选择调色板311始终保留在工作区域的前面,或是隐藏在其它对象的后面。可以限制调色板313只显示在应用窗口301的范围内,或者允许其部分或者全部显示在应用窗口301之外。
参见图4,工具条303具有至少以下用户可选的“工具按钮”。
(1)选择工具按钮403:用以对容器的边沿进行选择、移动、测量、调整尺寸以及锁定/解锁。容器也可以通过拖曳一个选择框围住容器或在选择容器的同时压住控制键而进行多重选择。
(2)图像容器工具按钮405:用以生成持有静态或可变图像的容器。
(3)文本容器工具按钮404:用以生成持有静态或可变图像的容器。
(4)链路工具按钮406:用以控制容器间的距离。
这些按钮可以通过上下文敏感的工具提示图标实现,如现有技术已知的。
文档模板
工作区域306用于查看并编辑文档模板的设计。这允许用户设计正在准备的文档的打印形式以及理解每个并入的文档如何根据被并入文档模板的变量数据的量和尺寸发生变化。
如果一个外部数据源被链接到模板,则变量文本和图像就被显示在其容器上使得用户可以在当前的文档运行时对其进行预览。
描述文档的结构以及其可变数据容器的行为的视觉线索在用户滚动光标或选择容器时显示。
工作区域306特征在于滚读条307、可选的标尺308以及文档模板309。文档模板309可以显示数个页面。
给定的文档模板的页面尺寸可由用户指定。每个文档中页面的实际数目根据有待并入的内容数据而发生变化。如果所有的数据不能被装入到一个页面上,就会自动生成附加页以显示数据。
在每一页的边界内有一可选择的页面边缘向导310指示着页面上可打印对象的最大范围。
如图4还表示了可以显示在文档模板309的一个页面上的数个对象的例子,有:多种容器407和408、可选的锚标志图标409、未固定边沿410、链路412以及滑块413。
容器
容器是位于文档模板内的部分区域(数据区域),来自数据库的静态或动态内容数据(文本或图像)放置在其中。如图4所示,数个容器被一起安排在文档模板309中。通过用户接口屏幕使用鼠标133进行设定的用户命令对容器进行移动、测量和重塑。以下是对容器的定义。
(1)容器(也称为数据区域)是与静态或动态内容相关联的。动态内容为动态的意思在于其来自于数据源,并且对于不同的文档也就是对于不同的记录是不同的。本实施例中的动态内容并不打算包括在演变的或是随着时间发生变化的内容。同样,静态内容在使用这种容器制作的所有文档中的表现是相同的,虽然如果设定了到动态内容的链路,由于动态内容的作用,对于每个文档的静态内容可能被不同地放置。
(2)容器具有装饰性特征,例如背景颜色、边沿以及应用到容器的内容上的例如字体和字体风格的文本设定。这种设定被称为容器信息。可以对于每个容器设定容器信息。也可以这样进行设定使得一个容器具有与另外一个容器相同的信息。
(3)当制作文档时,将来自数据源的数据并入容器。装饰性特征通常可以在打印的输出上看出来,就像任何静态内容一样。动态内容将会导致来自数据源的特定数据的外观。容器的这种表现可以被例如打印出来,或显示在屏幕(显示器)144上,或二者都可。
(4)容器具有用户接口作为视觉线索,如图4所示。例如,提供一种交互的图像用户接口(GUI)用以编辑容器或设定显示器。GUI的每一个元素显示在屏幕144上,但是并不作为文档打印。布局编辑应用121的用户接口103显示某些装饰性特征,例如容器的背景颜色和字体。用户界面103还具有编辑或显示容器设定的功能。
容器限制
容器具有几个限制,控制着相关的内容如何显示在每个文档中。这些限制,以及将静态或动态内容与容器联系在一起的方法,是用户用以控制从单一文档模板生成多个文档的主要方法。限制的一个例子就是“本容器的内容可以最大为四英寸高”。另一个限制可以是“本容器的内容的左边在每个文档中必须显现在同样的水平位置”。此处所描述的是使用GUI显示和编辑这种限制的一组方法。
内容占位符指定了静态内容的位置,例如在页面上具有某些定义位置的图像,其在数字打印技术领域内为已知的。容器可以具有以与已知技术相似的方式进行显示和编辑的位置和尺寸。目前的讨论集中于显示和编辑方法,特别是对于变量数据打印。
容器允许用户指定文档中每个内容的尺寸和位置。由于是从单一文档模板生成的多个文档,所以容器必须具有用户接口用以指定并显示许多种可能和限制。
容器的边沿定义了一个虚拟边界,其中,相关的内容将显示在文档中。这样,在本专利说明书中,对容器左边沿进行的讨论相当于对相关的内容显示在任何所制作的文档中的地方的最左侧边沿所进行的讨论。同样地,对于容器高度的讨论可以理解为对任何所制作的文档中的相关内容的高度限制讨论。当本专利说明书参照用户接口103对容器的边沿和尺寸进行讨论的时候,这个特性将会变得更加清楚。
在以下的讨论中,定义用以控制内容的外观的一些数值的术语“固定”在所有的文档中都是相同的。
(1)如果容器的宽度是固定的,则对相关内容所允许的宽度在所有的文档中都是相同的。
(2)如果容器的高度是固定的,则对相关内容所允许的高度在所有的文档中都是相同的。
(3)如果距离(链路长度)限制是固定的,则所指定的距离将应用在所有的文档上。
(4)如果容器的左侧或右侧边沿是固定的,这意味着对于所有文档该边沿相对于页面的水平位置是相同的,但是容器的高度或垂直位置可以改变。例如,如果容器的左边沿是固定的,相关的内容可以显示在一个文档的接近页面顶部的地方以及显示在另一个文档的页面底部的地方,但是在所有的情况下左侧边沿具有相同的水平位置。
(5)如果容器的顶部或底部边沿是固定的,这意味着对于所有文档该边沿相对于页面的垂直位置是固定的,但是其宽度或水平位置可以改变。
(6)容器的垂直轴位于容器的左侧和右侧边沿的正中间并且平行于左右侧边沿的一条想象的垂直线。如果容器的垂直轴是固定的,那么容器左右侧边沿的水平位置的平均值对于所有的文档是相同的。带着这个限制,容器的宽度可以变化,这样在不同的文档中,左右侧边沿都可以离该垂直轴更远或是更近,但是所有文档中的轴都会保持在相同的水平位置上。容器的高度以及垂直位置不受该限制的影响。
(7)同样地,如果水平轴固定了,那么容器顶部和底部边沿的垂直位置的平均值对于所有的文档都是相同的,虽然其宽度和水平位置不受该限制的影响。
(8)如果水平轴和垂直轴都固定了,这就意味着容器的中心点就固定了,但是其宽度和高度不受此限制的影响。
(9)如果容器的一个角,容器一个边沿的中点,或是容器的中心点固定了,该点在所有的文档中都显示在相同的位置上。例如,如果容器的左上角固定了,这就意味着对于所有的文档,容器的左上角点的位置是相同的。
(10)垂直边沿或是轴可以相对于页面的左手边沿、右手边沿、左侧页面边缘、右侧页面边缘或是其它的水平位置固定。同样地,水平边沿或是轴可以相对于页面的顶部或底部边沿或边缘或者其它的垂直位置固定。这些对于术语“固定”的精细说明只有在文档的页面尺寸会发生变化时才有意义,因为如果对于所有的文档页面的尺寸都是相同的,这些可能性就不会给所制作的文档带来任何变化。
与“固定”相反的是“未固定”,其意味着边沿、轴、角、中点或是文档限制在文档(记录)间可以改变。例如,在一个页面上,可以期待其布局根据变量数据的尺寸或量而动态地改变。然而,用户可能会希望指定容器的尺寸或位置是固定的,或是在页面的一角上的容器的四个角是固定的。为了达到这个目的,布局编辑应用121可以为每一个容器(部分区域)适当地设定是否固定或未固定边沿、轴、角和中点等。这样,用户就可以制作出想要的文档模板309的基本布局。
显示并编辑容器(创建新容器的方法)
本发明描述了两类容器:文本容器和图像容器。文本容器可以留存文本和所嵌入的图像。图像容器仅能留存图像。
参见图4,通过使用鼠标133分别点击文本容器工具404或图像容器工具405,并接着在模板309上拖曳出一个矩形,就可以在模板309上创建出新的文本容器和图像容器。还可以在激活适合的工具404或405后,在模板309上点击,就可以简单地创建一个容器。或是具有缺省尺寸的容器被插入,或是提供对话框或其它提示用以输入新容器的尺寸。有些容器可以根据一些预定义或计算出的方案自动创建并放置。还可以设计其它的替代方法。
当用输入设备例如鼠标选择了所生成的容器,并且通过点击鼠标的右键来指定其特性时,就会显示容器特性对话从而可以对容器的限制进行设定。在对应于部分区域设定的容器特性对话UI中,上述的各种限制可以被设定。在容器特性对话中,容器的尺寸(宽度和高度)以及位置可以被设定。为了设定变量尺寸,容器的基本模式(基本尺寸和参考位置)被设定。另外,可以设定最大容器尺寸(宽度和高度)和最小容器尺寸(宽度和高度)。
显示容器的方法
图5A到图5D表示了用于显示容器的规则。
布局编辑应用程序121施画了边沿,例如实线503或虚线504以及特征锚标志(施画于边沿之上或是旁边并且由线、形状以及/或图标组成)506、507和509、图柄(施画于边沿或形状之上或是旁边,使其可以被移动或修改)502、,滑块(施画在边沿两侧的短平行线)413(图4)、增长图标505以及颜色。
以下描述如图5A到5D所示的容器显示方法的规则。
(1)对于每个固定的边沿,施画该边沿为实线。
(2)如果宽度是固定的,则施画左侧和右侧边沿为实线。
(3)如果高度是固定的,则施画顶部和底部边沿为实线。
(4)不施画轴。
(5)用施画在每个边沿旁的增长图标将在(1)到(3)中没有施画的所有边沿施画为虚线。
(6)对于每个固定边沿,如果在该边沿上没有施画有锚标志,则在该边沿的中心施画滑块。
(7)对于每对垂直的沿和/或轴,如果在其交点的位置上没有施画有锚标志或滑块,则在该交点上施画图柄。
至于锚标志,对于每对垂直的边沿和/或轴,如果两者为固定的,可以在其交点上施画一锚标志。
规则(1)、(2)、以及(3)所定义的线被施画为实线,由于它们是固定的或者如上面所描述的是受限制的。由规则(5)定义的线被施画为虚线。规则(6)和(7)确保一些固定的边沿显示滑块而其它的显示图柄。
在上述的规则中,应用用户所设定的最后的限制。当不同的限制在其后设定,如果所设定的限制影响了所施画的边沿,则实线和虚线的显示发生改变。当例如容器非常小且图标可能会彼此交叠或使该表现的其它特征模糊时,图标可以有区别地施画或省略。
所施画的未固定边沿的确切位置可以取决于容器的内容。使用了“活验证”,其意味着并入到文档模板中的内容在用户接口上为可视的。还可以的一种实现是可以使用在所有文档上进行平均的容器内容区域,或其它一些决定未固定边沿应当被放置在用户接口的位置的方法。
这些容器的表现提供了一种图形方法用以显示容器边沿状态。对于表现的解释如下所述。
(1)虚线410(图4)意味着文档中的该边沿的位置取决于容器的内容。
(2)实线414意味着该边沿是受限制的,或是由于该边沿是固定的或该容器的宽度或高度是固定的(在容器408中两者都是固定的)。
(3)锚标志意味着在该锚标志处相交的边沿和/或轴是固定的。这样,锚标志点在所有的文档中都会显示在相同的水平和垂直位置上。因此,锚标志通过定义为固定的。图4中的图标409是锚标志的一个例子,其指示着相交的边沿414是固定的。
(4)滑块意味着相关的边沿是固定的但是容器可以平行移动。例如,在图4中,滑块413指示着容器408的内容可以显示在文档中,在该特殊图表中可见的位置的左边或右边。
根据哪一个工具或容器被选择、被突出或是被激活,一些或是所有的这些图标或边沿被施画或不施画。一般情况下,容器边沿和图标在打印文档中不施画出来,因为它们只是设计文档模板的辅助。
如上所述,例如容器宽度和高度的最大值和最小值的设定可以在对话窗口中显示出来。
在图5A中,容器501的宽度和高度上都没有固定。固定的边沿503由实线表示。未固定边沿504由虚线表示。增长图标505指示着相邻边沿504未固定。
在图5B中,容器501在宽度和高度上都没有固定。锚标志506指示着在该图标上相交的两个边沿503都是固定的。
在图5C中,容器501在宽度和高度上都是未固定的,具有围绕着由锚标志507所指出的中心点同等地发生的容器的扩展和缩减。
在图5D中,容器501在宽度和高度上都是未固定的,除了顶部边沿508是固定的。锚标志图标509表示顶部边沿508是固定的,锚标志509位于该顶部边沿508的中间,还指示着该容器的左侧和右侧边沿围绕垂直施画通过该标志的中心轴线(垂直轴)进行扩展或缩减。
使用了一条链路以将容器彼此联系。容器之间的联系包括容器之间的距离。每一个容器的布局在相关的其它容器的布局变化的影响下被计算。图4所示的链路412将容器407和408彼此联系。下面描述设定链路的方法以及通过链路彼此联系的容器布局的计算方法。
设定链路的方法
下面描述设定彼此联系的容器的链路的方法。
图6是根据本实施例的第一实施例的链路设定处理的流程图。图7A到图7C阐述了当链路形成时用户接口的改变方式的一个例子。下面参照附图6以及附图7A到7C对设定容器间的链路的方法进行描述。
首先,在步骤0601,布局编辑应用121显示有待在用户接口的工作区域306上编辑的文档模板。为了设定链路,在文档模板上至少提供两个在其之间将设定链路的容器。图7A到7C显示了当设定链路时用户接口改变的方式的一个例子。
接着,在步骤0602,布局编辑应用121通过点击图4所示的按钮406来选择链路工具。在图7A中,容器0701和容器0702的所有边沿都是固定的。类似于图4所示的锚标志409的锚标志用0703和0704标识,而鼠标指针用0705标识。
链路工具选择好之后,用户通过点击容器而从将要在其中间设定链路的两个容器中选择一个容器(在本例中为容器0701)。相应地,布局编辑应用121的用户接口103识别出第一容器已被选择(步骤0603)并且获得用以识别所选择容器的信息。
接着,在第一容器的选择之后将指示着鼠标光标的移动的轨迹显示在屏幕上。例如,图7B中的线0706连接图7A中所示状态的点击点和鼠标光标0705的目前所在位置。相应地,UI将链路所设定的位置显示给用户。
接着,如图7B所示,用户移动鼠标光标0705到另一容器(容器0702)并且点击该容器。相应地,用户接口103识别出第二容器已被选择(步骤0604)并且获得用以识别所选择容器的信息。
布局编辑应用121在步骤0603所选择的第一容器和步骤0604所选择的第二容器之间设定链路。
接着,显示设定在两个选择容器0701和0702之间的链路0707(步骤0605)。相应地,获得如图7C所示的显示状态(步骤0606)。
更为具体地,由于链路的设定,容器的UI自动发生变化。与链路相联的边沿变得未固定,并因此由虚线表示。在图7C中,边沿0708由虚线表示这意味着其未固定,如箭头0709所指示的以及如上所述的。
布局计算方法(完整流程)
图8表示的是布局计算的流程。在如流程图所示的处理中,计算和信息输入/输出操作是在主机所包括的处理器135的控制下进行的。
根据第一实施例的布局编辑应用121执行布局模式操作或预览模式操作。在布局模式中,通过使用用户接口103创建容器并将容器彼此联系在一起(设定链路)来制作布局。在预览模式中,数据源中的记录被插入到布局引擎105生成的布局中,并且显示插入记录的布局结果。
在预览模式中,通过插入实际记录来计算布局。预览模式中的布局计算用于显示。用于打印的话,布局引擎105通过将数据插入到每个容器并根据类似于预览模式的计算方法来计算布局。
图8是根据本发明第一实施例的布局计算处理的流程图。
首先,布局编辑应用121识别出选择了预览模式(步骤0801)。在预览模式中,布局编辑应用121促使用户从数据源中选择出有待预览的记录,并将所选择的记录中的每个现场数据插入到对应的容器中(步骤0802)。
当内容数据被插入到每个容器中时,布局编辑应用121执行布局计算以安排内容数据,并且在需要时执行布局调整(步骤0803)。在步骤0803执行的布局计算将在稍后详细描述。布局调整是根据布局计算结果连同布局计算一同进行的。
接着,在步骤0804,布局编辑应用121显示(预览)在步骤0803计算出的布局。接着,布局编辑应用121判断是否根据用户的指令显示另一个记录(步骤0805)。如果判断的结果是不必要显示另一个记录(步骤0805的否),则预览模式结束(步骤0807)。
如果判断的结果是需要对另一个记录进行预览(步骤0805的是),则布局编辑应用121选择另一个记录,再次执行布局计算,并且显示结果(步骤0806)。另一方面,如果判断不对另一个记录进行预览(步骤0805的否),则预览模式结束(步骤0807)。
如果有待执行打印而不是预览模式,则对所有有待打印的记录相继执行布局计算。于是,不执行步骤0804,并且在步骤0805判断是否所有有待打印的记录均被处理。在步骤0803获得的布局计算结果被输出到打印机驱动器,生成相应的打印数据。接着,该打印数据被输出到打印机。在这种情况下,当对于所有记录(指定有待打印的记录)的打印数据被输出后处理即结束。
布局计算方法(详细的流程)
图9所示为详细的布局计算处理的流程。
首先,布局编辑应用程序121确定需要进行布局计算的容器组群(步骤0901)。布局计算对于彼此联系的每一个容器组而进行。例如,参见图11,四个容器被安排在一个页面上,每个容器具有到另一个容器的链路。在这种情况下,容器A和容器B通过一条链路相联,容器C和容器D通过一条链路相联。容器A和容器B属于组1,容器C和容器D属于组2。如上所述,参考标号1101标识着锚标志,1102标识着固定边沿,1103标识着控制器,1104标识着指示未固定边沿变化方向的箭头,1105标识着未固定边沿,1106标识着链路以及1107标识着滑块。
接着,在步骤0902,布局编辑应用121从步骤0901所设定的容器组群中选择需要进行布局计算的容器组。接着,开始进行对所选择的容器组的布局计算。
首先,当没有限制的时候,根据所要插入的数据的文本量和图像尺寸对两个容器A和B的尺寸进行计算,所述容器A和B为属于所选择容器组的变量元素。
更为具体地,布局编辑应用121判断容器A是图像数据容器或是文本容器。该判断是根据如上所述的对于每个容器所设定的容器信息来执行的。该容器信息以如图25所示的形式存储在存储器136中。
接着,布局编辑应用121读出将被插入到容器A中的数据。当容器A是图像数据容器时,如果没有限制,则容器A的尺寸被确定为图像数据的尺寸(沿着宽度和高度的像素的量以及分辨度)。
当容器A为文本容器时,布局编辑应用121根据包括在文本数据中的字符的数目,以及指定在容器A的容器信息中的包括字体风格、字体尺寸、和字符间距的字符信息,计算将被插入到容器A中的数据的量。
当容器A是文本容器时,没有限制就无法判断纵横比。因此,适用限制。在图11所示的例子中,容器A在其左顶部和左底部具有锚标志1101,这意味着其高度(垂直方向)是固定的。相应地,布局编辑应用121判断所计算出的数据的量(文本量)是否可以被插入到作为容器A的基本模式而被设定的宽度(水平方向)内。
如果判断出所有的字符都可以被插入,容器A的尺寸(宽度和高度)就不会改变仍然是基本模式。如果判断出不可能将所有的字符插入,容器A就在水平方向上扩展,因为其高度已经被锚标志固定。此时,布局编辑应用121计算出插入文本内容的计算量所要求的容器A的宽度增加量,于是计算出容器A的尺寸。
接着,布局编辑应用121优化布局,使得当内容数据被插入时的每个容器的尺寸以及实际内容尺寸之间的差距尽可能小(步骤0903)。布局优化的执行使得内容尺寸和布局尺寸之间的差距在彼此联系以具有动态变量尺寸的容器中为相同或尽可能接近。
布局编辑应用121计算在步骤0903中优化的容器组的尺寸,也就是,由于内容的插入而发生变化的容器A和容器B以及链路1106(在本实施例中为固定链路)的总尺寸。接着,计算该全部尺寸和根据基本布局的容器组的尺寸(如图11所示例中,对应于容器A和容器B的锚标志之间的距离的尺寸)之间的差距。当容器A和容器B的宽度增长时,根据该计算可以生成该差距。布局编辑应用121通过在容器组的元素之间均匀分配该差距而调整布局。
接着,布局编辑应用121判断布局优化是否违反任何一条布局规则(步骤0904)。如果优化没有违反任何一条规则(步骤0904的否),处理就进行到步骤0905。如果优化违反了一条规则(步骤0904的是),则处理返回到步骤0903并且重新执行计算以避免对于规则的任何违反。
该规则是当布局创建时由用户设定的。例如,每个容器的位置、容器尺寸的可变范围以及柔性链路的链路长度变化都是由限制来约束的。当布局没有违反任何规则而被计算出时,该容器组的布局就完成了。后面将对柔性链路进行描述。
接着对于页面上的所有容器组执行步骤0902和0904,并且布局编辑应用121判断是否对全部页面执行布局计算(步骤0905)。如果计算没有结束(步骤0905的否),处理返回到步骤0902。如果计算结束了(步骤0905的是),则处理结束。
图10A到图10C说明了根据本发明第一实施例的布局计算处理中的UI显示的一个例子。
图10A表示了特定记录被插入并且布局被确定的状态。参考标号1001和1002标识着锚标志,1003和1004标识着固定边沿,1005标识着未固定边沿,1006和1007标识着指示着未固定边沿可以移动的方向的箭头,以及1008标识着链路。在这种状态下,包括在记录中的内容数据元素被相继插入到容器中。
在图10B中,接着要插入的内容数据元素的尺寸在显示上有所重叠。参考标号1009标识着将要插入容器中的内容数据元素的尺寸。在图10B中,内容数据元素的尺寸太大以至于不能将内容数据元素装入到容器中,因此执行布局计算以调整容器之间的布局。
图10C表示的是布局计算的结果。容器的尺寸被计算使得每个容器中的计算容器尺寸和实际内容尺寸之间的差距相同。如图10C所示,计算容器尺寸1010具有对于图10B所示的对应容器尺寸1009的相同的差距。
设定柔性链路
图12表示了通常柔性链路的设定状态。和图4相同,显示了应用窗口301和工具条303,并且容器1203和1204被放置在文档模板309之上。该容器通常由锚标志1201和1202以及固定边沿1205和1206来定义。容器1203以及1204通过置放在其间的柔性链路1209彼此联系。由于链路设定在容器1203和1204之间,因此右边沿1207和左边沿1208用虚线进行施画。相应地,指示着边沿1207和1208是未固定着的指示器1210和1211显示在容器上。
图14表示了用于设定链路1209的信息的对话窗口1401的一个例子。该对话通常包括标题条1402、工具按钮1403、打开/关闭对话窗口的按钮1404以及用于设定各种信息的区域1409。对话窗口用于从柔性链路1407和固定链路1406中选择链路类型以及设定最小链路距离1410、最大链路距离1412以及当链路类型为柔性时的参考距离1411。
图13是用于设定柔性链路的方法的流程图。该处理由主机内的处理器135执行。
例如,当使用参考图6和图7而阐述的链路设定处理设定图11所示的容器A和容器B之间的链路时,就设定了具有固定尺寸的链路。接着,在选择该链路之后执行如图13所示的处理时,该链路即从具有固定尺寸的链路1106(图11)变成了具有柔性尺寸的链路1209(图12)。
首先,布局编辑应用121将通过鼠标选择的链路(例如,图11中的链路1106)设定为选择的状态(步骤1302)。接着,当执行了用于显示链路特性的预定操作后,布局编辑应用121中的用户接口103显示对应于所选择链路(此后称为目标链路)的状态的对话窗口1401(图14)(步骤1303)。类似于设定容器基本模式的处理,可以通过例如,点击鼠标133的右键或操作键盘132上的预定键,来执行链路的选择。所显示的对话窗口1401表示出了所选择链路的目前状态。在本例中,选择了链路1106。相应地,此时链路尺寸是固定的,并且在链路类型域1405中选择了固定长度1406。虽然在图14中选择了柔性长度1407,由于图14表示了柔性链路设定后的状态,因而当选择了链路1106时就选择了固定长度1406。
布局编辑应用121检查由鼠标或类似方式执行的对话窗口1401中固定/柔性链路的选择状态,并且识别出选择了柔性长度1407(步骤1304)。相应地,安排在链路距离域1408中的最大距离域1412、最小距离域1410以及参考距离域1411被激活从而可以设定数字的值。用户将柔性链路的最大距离输入到最大距离域1412,将柔性链路的最小距离输入到最小距离域1410,以及将柔性链路的当前值输入到参考域1411。接着,布局编辑应用121识别输入值(步骤1305)。
设定处理之后,用户使用通常的对话窗口打开/关闭按钮1404输入一条命令以应用该设定。用户接口103检测到该命令并且为目标链路更新设定。结果是,链路的UI显示变成了图12中的链路1209(步骤1306)。处理然后结束。
对话窗口1401中的设定信息被保存到例如存储器136中。
接下来,参照附图15和16对布局结果的一个例子进行描述。
图15表示的是由根据本实施例的具有固定尺寸的链路得到的布局结果。
由上述的方法执行布局计算。例如,参照图15,考虑了一个例子,其中具有不同于相应的预设定容器的尺寸的图像数据元素被插入到容器1501和容器1502中。在这种情况下,每个容器都假定对应的内容数据元素的尺寸是最佳的。相应地,容器1501试图向右扩展以变得接近具有被插入图像尺寸的框架1504(最佳容器尺寸),而容器1502试图向左扩展以变得接近具有被插入图像尺寸的框架1505(最佳容器尺寸)。
然而,由于容器1501的左沿上有锚标志且容器1502的右沿上有锚标志,所以容器1501和1502都不能移动。于是,为了如上所述地改变尺寸,容器1501和1502之间的距离必须缩减。然而,由于在容器1501和1502之间设定有具有固定尺寸的链路1503,在布局计算中容器1501和容器1502的尺寸只能在保证链路1503的长度保持不变的情况下发生改变。
结果是,容器1501和1502的尺寸并没有设定到对应于数据的纵横比的最优尺寸,而是小于最优尺寸(框架1504和1505),如图15所示。换句话说,由于链路1503的尺寸是固定的,容器1501和1502的尺寸无法最优。图16是对应于图15的,表示了链路具有柔性尺寸的情况。
在这种情况下,具有柔性尺寸的链路1603设定在容器1501和1502之间。相应地,当容器1501和1502的尺寸需要改变时,链路的尺寸可以缩减使得容器1501和1502的尺寸大于图15中所示的尺寸。
相应地,可以设定具有对应于所插入数据元素的尺寸的最优尺寸的容器,或是具有接近所插入数据元素尺寸(最优尺寸)的尺寸的容器。图16表示了这个结果,并且图12所示的柔性链路1209的尺寸在布局计算之后变成了柔性链路1603的尺寸。在这种情况下,容器1501和1502具有了最优尺寸(对应于数据尺寸的尺寸)。上述的结构是应用了本发明的基本结构。
设定页间链路
图17表示了具有数个页面的文档模板的布局设计。
类似于图3,图17显示了应用窗口301、工具条303、菜单栏304以及工作区域306。文档模板309包括两个页面1701和1702。页面1701和1702分别具有页面边缘向导1703和1704,其对应于图3所示的边缘向导310。
容器1705、1706和1707放置在文档模板309中的页面1701上,且容器1708和1709放置在文档模板309中的页面1702上。在容器1705和1706间设定链路1710,在容器1706和1707之间设定链路1711,在容器1708和1709之间设定链路1712。在容器1705和1708上设定锚标志1710。用户在文档模板309上设定的信息由处理器135进行识别并且以例如图25和31所示的格式存储在存储器136中。
图18表示显示单元,其显示了其上设定有延伸至两个页面的页间链路的布局设计。图18区别于图17之处在于,页间链路1801设定在容器1707和1708之间,并且设定在容器1708上的锚标志1710被移走。其它的设定与图17的相同。页间链路1801具有与容器间的普通链路不同的属性,因此被有区别地显示出来以使得页间链路可以与普通链路区分开。
以下描述页间链路。虽然如图9所示的布局调整处理可以被容器间的普通链路影响,但是在目前的状态下布局调整不可能被页间链路影响。然而,作为移动处理或页间处理的结果,对其将在后面进行描述,如果通过页间链路彼此联系的容器被安排在同一个页面区域上,则页间链路的属性就变成了影响布局调整的普通链路属性。相应地,页间链路属性变成的影响布局调整的链路属性必须被事先设定。因此,在执行对于页间链路的预定操作时,布局编辑应用121的用户接口103显示了一个对话窗口,如图38所示,用以设定页间链路的属性。
在图38中,可以选择当页间链路的属性将变成影响布局调整的普通链路属性时,页间链路是变成固定链路还是柔性链路。当选择了固定链路时,设定固定尺寸。当选择了柔性链路时,类似于图14,设定最大尺寸、最小尺寸以及参考尺寸。当执行了将在后面进行描述的移动处理或是页间处理并且通过页间链路彼此联系的容器被安排在同一个页面区域上时,页间链路变成了具有如图38所示影响布局调整的设定的链路。由于在图38中选择了固定链路,显示就设定为不能输入柔性链路的最大尺寸、最小尺寸以及参考尺寸。虽然在本实施例中图38所示的对话窗口由预定处理而显示出来,但是该对话窗口也可以在页间链路设定时自动显示。
图19是设定页间链路的处理的流程图。在如流程图所示的处理中,在主机的处理器135的控制之下,执行各种计算和信息输入/输出/操作。
当布局编辑应用121识别出链路工具按钮406由鼠标或类似选择出来时,布局编辑应用121设定链路工具406到选择的状态(步骤1901)。
当链路工具被选择且有待于通过链路联系到另一个容器的容器被选择后,布局编辑应用121识别出所选择的容器(步骤1902)。接着,布局编辑应用121识别出有待于联系到步骤1902所选择出来的容器的容器(步骤1903)。更为具体地,在步骤1902选择出来的第一个容器的信息被暂时存储在存储器136中。接着,当第二个容器被选择时,所选择的容器联系到所存储的容器并且一条链路显示在文档模板309上。参考图18,假定1701页面上的容器1707以及1702页面上的容器1708被选择。
当两个有待于通过链路彼此联系的容器在步骤1902和1903被选择时(存储在存储器中),布局编辑应用121判断在步骤1902选择出来的容器(在本实施例中为容器1707)以及在步骤1903选择出来的容器(在本实施例中为容器1708)是否在同一页面上(步骤1904)。具体地,当每个容器被选择时,包括在布局编辑应用121中的布局引擎105,计算出每个容器的位置并将其以图25的格式存储在存储器136中。布局编辑应用121参考存储器136中的“预订页面”来判断容器是否在同一页面上。当布局编辑应用121参考了存储器136并且判断出有两个容器(在本实施例中为容器1707和1708)位于同一页面上(步骤1904的是),类似于图7C所示的普通链路被设定并且表示在显示器上(步骤1905)。
当布局编辑应用121判断出彼此联系的容器不位于同一页面上(步骤1904的否),类似于图18所示的页间链路被设定且表示在显示单元上(步骤1906)。
当在步骤1905和1906设定了链路时,链路信息以如图31所示的格式存储在存储器136中。
在本实施例中,当如图18所示的页间链路1801被设定时,显示出如图32所示的一个特性对话3201。接着,当选择了“自动容器属性设定”时,就执行如图20所示的处理。以下所描述的处理由主机所包括的处理器135执行。
布局编辑应用121判断由用户执行的链路设定操作而设定的链路是否为页间链路(步骤2001)。更为具体地,当设定链路时,链路信息被存储到存储器136中,如图31所示。链路信息被参考的目的在于判断该链路是否为安排在单页面上且影响着布局调整的链路(页间关闭)或是延伸过不同的页面的链路(页间打开)。如果判断出设定的是页间链路(页间打开)(步骤2001的是),布局编辑应用121设定在链路的一端的容器其属性为“在自动布局上页间可移动”(步骤2002)。同样地,链路另一端的容器的属性也设定为“在自动布局上页间可移动”(步骤2003)。图18中,容器1707和1708的属性设定为“在自动布局上页间可移动”。
当一个容器最初创建时,容器的属性在存储器136中被设定为“不可从布局中的现页面移动”。然而,当在步骤2001中判断出设定了页间链路时,链路一端的容器的属性自动变成“页间可移动”,并且该设定被存储。容器属性作为如图25所示的容器信息之一而被存储。在图25中,“布局方法”指示着该容器是被安排在预定页面上(不可移动)或是根据插入容器的内容数据(数据区域)而被允许在页面间移动(可移动),并且对应着根据本实施例的容器属性。“容器类型”指示着所插入的数据是文本数据还是图像数据,以及“固定/未固定”指示着该容器的尺寸是固定的还是根据所插入的内容数据而为柔性的。当容器的尺寸未固定时,容器尺寸的可移动范围也被存储。“容器尺寸”代表的是当前容器尺寸,而“预订页面”指的是容器最初设定的页面区域。“组号”指的是该容器所属的容器组。虽然图25中“可移动”或“不可移动”是对于“布局方法”而设定,但是对于“页间”,将在以后对其进行描述,如果其作为布局方法而被设定,那么也可以被存储。
在本实施例中,当页间链路设定时,则显示如图32所示的特性对话3201。接着,当选择了“自动容器属性设定”,属性则自动设定为“在自动布局中页间可移动”,如上所述。然而,当页间链路被设定时,其它的布局方法(容器属性)也可以被自动设定。另外,当设定为自动设定时,将要选择的容器属性可以由用户事先确定。
页间链路的自动布局方法
图21表示的是当内容数据被插入包括有页间链路的文档模板中时所执行的处理的操作流程。该处理的每一步都由主机中的处理器135执行。
图18所示的文档模板与数据库119相联,该数据库为外部数据源,并且容器1705到1709与存储在数据库119中的每个记录所包括的内容数据相关联。
首先,布局编辑应用121检查安排在文档模板上的所有链路的属性(步骤2101)。每条链路的属性都以如图31所示的格式存储在主机的存储器136中。相应地,每条链路的属性可以通过参考存储器136获得。图31表示了如图18所示的链路的属性的存储方式。参考图31,“相关容器”指的是通过链路彼此相联系的容器。另外,“页间开/关”指的是连路是否延伸到不同的页面上,以及“固定/未固定”指的是该链路是固定链路或是柔性链路。
经过在步骤2101对链路的属性进行检查之后,布局编辑应用121判断是否有链路对于其“页间开/关”设定为“开”,也就是,是否存在有页间链路(步骤2102)。如果判断出没有链路对于其“页间开/关”设定为“开”(步骤2102的否),则执行普通布局调整,也就是,如图9所示流程图的处理。如果判断出有链路对于其“页间开/关”设定为“开”(步骤2102的是),则显示如图30所示的页间编辑页面3000(步骤2103)。
以下对如图30所示的页间编辑页面3000进行描述。图30对应于图18的预览模式。在没有变成页间编辑页面3000之前所显示的显示屏上,在页之间提供有一间隙,以便表明它们是不同的页面。例如,在图18中,在页面1701和1702之间有一间隙,因此用户可以识别出在文档模板309上有两个页面。与之相较,在页间编辑页面3000上,显示变成了这样一种格式,其中多个页面可以在单独的编辑域上进行处理,如图30所示。为了分清每个页面的位置,显示了边界线3001。更为具体地,图18所示的包括两个页面的文档模板变成了图30所示的页间编辑页面3000,其中边界线3001显示在中间以表示存在两个页面。
再次参考图21的流程图,为了插入来自与当前正在处理的文档模板309相联系的数据库119的第一记录,作为布局编辑应用121所包括的组件之一的用户接口,将记录标号初始化为n=1(步骤2104)。接着,包括在对应记录中的内容数据从数据库119插入到容器中(步骤2105)。
当内容数据在步骤2105插入时,布局编辑应用121执行图9所示的布局计算以及必要时根据对于每个容器设定的限制以及内容数据的尺寸执行布局调整。关于每个容器的限制,作为布局编辑应用121所包括的组件之一的UI模型分析器104,将用户所设定的每个容器的限制转化成为可以被布局引擎识别的内部格式。于是,布局编辑应用121可以识别对于每个容器设定的限制信息
上述的布局计算和布局调整同时对于一个容器组执行,该容器组包括通过链路彼此相联的容器。因此,布局编辑应用121将容器组标号初始化为m=1(步骤2106),并且从第一容器组开始布局计算处理(步骤2107)。该处理的详细步骤和图9所示的相同,因此对其的解释在此不再重复。插入到每个容器中的内容数据(数据区域)的布局调整可以由本申请所描述的布局计算方法执行。
在步骤2107中对于一个容器组同时执行布局计算处理和布局调整。相应地,该计算是否对于所有容器组执行,也就是说,是否对安排在当前所处理的文档模板上的所有容器进行布局优化计算,进行判断(步骤2108)。
如果判断出所有的容器组都没有被处理(步骤2108的否),则m设定成m+1以选择下一个容器组(步骤2120),并且处理返回到步骤2107以执行对下一个容器组的布局计算。
如果判断出所有的容器组都被处理过(步骤2108的是),则判断是否有一个容器从预定页面区域伸出(步骤2109)。具体地,布局引擎105,其为包括在布局编辑应用121中的组件之一,计算并且识别出边界线的位置以及每个容器的位置。相应地,对边界线的位置和安排在文档模板上的每个容器的位置进行确定。将这些位置与存储在存储器136中的容器信息进行比较,从而可以判断出是否有一个容器从预定的页面上伸出。
如果判断出有一个容器从预定的页面区域伸出(步骤2109的是),则布局编辑应用121检查该容器的属性(步骤2110)。容器的属性可以通过参考图25所示的存储在存储器136中的容器信息而得到确定。如果判断出没有一个容器从预定的页面区域伸出(步骤2109的否),则处理进行到步骤2118。
如果在步骤2110所判断的容器的属性为“在布局上页间可移动”,则布局编辑应用121从边界线计算出容器的伸出量(步骤2111)。下面将对这种计算的一个例子进行描述。例如坐标值,可以被用于计算。参考附图30,在所考虑的一个例子中,作为布局调整的结果,容器1707被放置在边界线3001上。这里,布局引擎计算出容器1707和边界线3001的坐标值。例如,容器1707的左下角,右下角,左上角,右上角的坐标分别为(x=20,y=30),(x=70,y=30),(x=20,y=80)以及(x=70,y=80)并且分界线3001的左端和右端的坐标分别是(x=0,y=50)以及(x=100,y=50)。另外,从如图25所示的存储在存储器136中的信息可以确定容器1707的预定页面为页面1701,并且容器1707被识别为从预定页面区域伸出。在坐标(x,y)中,x表示的是在水平方向上的位置,y表示的是在垂直方向上的位置。另外,从坐标值可以计算出经过布局调整的容器面积为2,500。接着,对从边界线伸出的量,也就是伸入下一页面(在本实施例中为页面区域1702)的量进行计算。由于图30中容器1707在垂直方向上伸出,故对边界线3001之下的面积进行确定。从以上所述的坐标值可以确定该伸出区域的面积为1,500。相应地,判断出容器1701的一多半伸入到了下一页面(图18中的页面区域1702)。
从步骤2111执行的计算的结果,布局编辑应用121判断该容器的伸出到下一页面的量是否大于一半(步骤2112)。如果判断出伸出到下一页面的量大于一半(步骤2112的是),则该容器被移动到下一页面(步骤2113)。具体地,布局引擎105计算出该容器可以被移动到的位置而又不丢失与其它容器之间的位置关系,并且根据如图38所示的对于对应的页间链路所设定的属性将该容器放置到下一页面上。如果判断出边界线刚好将该容器分成两半,用户将会被促使选择是否将该容器留在当前页面或是将其移动到下一页面。
如果判断出伸出量小于一半(步骤2112的否),则布局编辑应用121判断该容器是否可以返回到预定页面(步骤2114)。具体地,安排在预定页面上的容器的容器信息被检查。每个容器都包括有文本容器的信息或是图像容器的信息。每个文本容器具有当前字体尺寸以及字体尺寸的可变范围,如图25所示。当当前字体尺寸与其可变范围进行比较并且判断出字体尺寸还可以进一步缩减时,字体尺寸被缩减。接着,由布局引擎105计算是否可以得到足够的空间以装入伸出的容器。另外,每个未固定容器具有对于容器尺寸的限制(可变范围),如图25所示。相应地,容器的尺寸可以在限制的前提下缩减。另外,字体尺寸和容器尺寸都是可变的。在这种情况下,可以由用户设定是仅改变容器的尺寸,还是仅改变字体的尺寸,或是同时改变容器和字体的尺寸。
当布局编辑应用121判断出伸出的容器可以返回到预定的页面(步骤2114的是)时,则将从边界线伸出的容器保留在预定的页面而不是移动到下一个页面(步骤2115)。如果判断出伸出的容器不能返回到预定的页面(步骤2114的否),则容器在步骤2113被移动到下一页面。相应地,对于所有的容器,都要对其上将安排容器的页面区域进行判断。于是,布局编辑应用121再次进行布局计算和布局调整以优化每个区域的布局(步骤2116)。在步骤2116执行的处理类似于如图9所示的流程图。此时,如果作为上述的移动处理的结果,通过页间链路彼此相联的容器被安排在同一个页面区域,则页间链路的属性变成为图38中设定的链路属性,并且根据图38中设定的链路属性执行随后的布局调整。当页间链路的属性变成了影响布局调整的普通链路的属性时,链路的显示也发生变化。后面将给出一个例子。
接着,布局编辑应用121将由步骤2116执行的布局调整所确定的容器的布局位置存储在主机的存储器136上(步骤2117)。
接着布局编辑应用121判断是否已对所有的记录进行了处理(步骤2118)。如果判断出不是所有的记录都经过了处理(插入)(步骤2118的否),布局编辑应用121增加当前记录标号值(步骤2119)并且返回步骤2105。如果判断出所有的记录已被处理(插入)(步骤2118的是),图21所示的处理即结束。
为了帮助理解图21所示的流程图的处理,参考图18和30对一个例子进行描述。对于页间链路,假定在图38所示的设定对话中选择了固定链路并且该固定链路的尺寸设定为“3”。
在图18中,页间链路1801设定在容器1707和1708之间。当在图32所示的特性对话3201中设定了“自动容器属性设定”,则容器1707和1708的属性自动设定为“布局上页间可移动”。由于其链路属性中“页间开/关”设定为开的链路1801被安排在图18的文档模板309上,所以显示如图30所示的页间编辑页面3000。上述的步骤对应于图21中的步骤2101和2103。
接着,正在被处理的记录所包括的内容数据从数据库被插入到容器,并且根据图9所示的布局计算执行布局调整。结果是,例如容器1707,被放置在边界线3001上。在这种情况下,从容器信息(参见图25)以及容器1707和边界线之间的位置关系识别出容器1707从预定页面1701上伸出。于是,对容器1707的容器属性(无论其是否可以被移动到下一页面区域1702)进行检查并且对伸出到下一页面1702的量进行计算。
如果容器1707的一多半伸出到下一页面,则执行将容器1707移动到下一页面的步骤。如果容器1707的一多半保留在预定页面1701上,则判断容器1707是否可以被放置在当前页1701。放置在页面1701上的容器1705和1706的当前信息以图25所示的格式存储在存储器136中。虽然容器1705中的字体尺寸不能进一步缩减,但是容器1706中的字体尺寸当前为“10”并且可以缩减为“8”。于是,容器1706中的字体尺寸逐步缩减了。如果判断出字体缩减的结果是容器1707的整个区域可以被放置在页面1701上,容器1707就不被移动到页面1702上。如果即使字体缩减了容器1707还是不能被放置在页面1701上,容器1707就被移动到页面1702上,其为下一页面。如果安排在页面1701上的容器可以改变,则它们可以在可变的范围内进行缩减。还可以的是,字体尺寸和容器尺寸都可以改变。上述的步骤对应于步骤2104到2115。
这样,对于所有的容器对其上将安排有容器的页面区域进行确定。于是,根据图9所示的布局计算的布局调整被再次执行。这时,如果容器1707被移动到页面区域1702,通过页间链路1801相联的容器1707和1708被安排在同一个页面1702上。于是,页间链路1801就根据图38所示的设定变成了影响着布局计算以及布局调整(固定链路,固定链路尺寸“3”)的普通链路。相应地,根据普通链路执行布局计算和布局调整。
图22所示的是当容器1707从页面1701移动到页面1702上时,根据布局计算的布局调整结果。图18所示的页间链路1801被设定在容器2206和2207之间。然而,由于作为上述的移动处理的结果,容器2206和2207被安排在同一个页面上,页间链路1801变成了图38中设定的固定链路(链路尺寸“3”)。结果是,在容器2206和2207之间设定了具有链路尺寸“3”的固定链路。虽然页间链路与图18中影响布局计算和布局调整的普通链路相区别地显示着,但是由于链路的属性变成了影响布局调整的链路的属性,因此链路的显示变成图22中的1801A。
通过上述的步骤完成了布局调整,并且结果存储在主机的存储器136中。接着,重复上述的步骤直到所有的记录都被插入。另外,布局的结果显示在如图18所示的文档模板上。
虽然没有显示在图21的操作流程中,但是如果违反了任何布局优化规则,就再次执行计算以避免违反规则,如参考步骤0904所述的。
根据本实施例,通过延伸过不同页面的链路彼此相联的容器的属性是自动设定的。因此,可以对当设定了数个页间链路时所执行的处理进行简化。另外,当插入到容器中的内容数据具有自动设定的属性且插入的结果是容器的多一半伸出到下一页面,该容器就自动移动到下一页面。另外,如果容器的少一半伸出到下一页面,则判断该容器是否可以被安排在预定页面上,并且将判断的结果用于判断是否将该容器移动到下一页面。于是,可以在数个页面之上得到均衡的布局。在本实施例中,容器的一半被用来作为判断是否移动容器到下一页面的限度。然而,本发明并不限于此,用户设定的一个数值(或百分比)也可以用作限度。
第二实施例
在第一实施例中,在图32的特性对话3201中选择了“自动容器属性设定”。而在本实施例中,将讨论对通过页间链路彼此相连的容器的属性进行手动设定的情况。本实施例的处理与上述第一实施例的处理基本相似。因此,以下只对与第一实施例不同之处进行描述。
在本实施例中,当如图18所示的页面链路1801被设定时,如图32所示的特性对话3201显示在显示单元上。当通过鼠标或其类似设备选择了“手动容器属性设定”时,在显示单元上出现一个图26所示的特性对话2601,使得用户可以设定容器的属性。图23表示了该处理的流程。该处理的每一步都由主机的处理器135执行。
布局编辑应用121判断由用户执行的链路设定操作设定的链路是否为页间链路(步骤2301)。如果判断出设定了页间链路(步骤2301的是),则布局编辑应用121显示如图32所示的特性对话3201用于设定链路一端的容器的属性。接着,如果在特性对话3201中选择了“手动容器属性设定”,则显示如图26所示的特性对话2601(步骤2302)。
布局编辑应用121识别出步骤2302所显示的图26的特性对话2601中由用户选择的容器属性,并将选择的容器属性存储在主机的存储器136中(步骤2303)。更具体地,用户使用例如鼠标的指示设备在图26的特性对话2601中指定容器的属性。接着,处理器35通过I/O接口143识别所选择的容器属性,识别后的信息被存储在存储器136中。通过鼠标或其类似设备所进行的选择由类似于上述处理的处理来执行。
接着,布局编辑应用121显示如图26所示的特性对话2601用于设定链路另一端的容器的属性(步骤2304)。显示在步骤2304的特性中的由用户选择的容器属性被识别,并且类似于步骤2303的步骤被执行(步骤2305)。相应地,容器的特性可以如用户所希望地被设定。还是在本实施例中,在图38的设定对话中,对于页间链路选择了固定链路。
根据本实施例的布局处理的流程如图24A和24B所示。该处理的每一步骤都由主机的处理器135执行。步骤2401到2409以及2422(图24A)类似于步骤2101到2109以及2120(图21),故而仅对步骤2410以及以下步骤(图24B)进行描述。
布局编辑应用121检查页间编辑页面3000上从预定页面区域伸出的容器的属性(步骤2410)。具体地,布局引擎识别页间编辑页面3000上每个容器的位置以及边界线3001的位置。例如,对存储在存储器136中的如图25所示的容器信息中边界线3001的坐标、每个容器的坐标以及“预定页面”进行识别,以判断是否有容器从其预定页面区域越过边界线伸入另一个页面区域。如果判断出有容器从预定页面伸出,则布局编辑应用121在从存储在存储器136中的容器信息中识别布局方法(容器属性)以执行步骤2410。
如果在步骤2410判断出容器的属性为“自动布局中页间可移动”,则容器可以被移动到页间链路另一端的容器所放置的页面区域中。在这种情况下所执行的步骤类似于图21中的步骤2113以及随后的步骤,对其的详细解释在此不再重复。
如果在步骤2410判断出容器的属性为“自动布局中允许页间安排”,则执行如图28所示的处理。下面将详细描述图28所示的处理。
如果在步骤2410判断出容器属性为“自动布局中页间不可移动”,则容器保留在预定页面上。然而,由于容器当前被放置在边界线上,或是被穿过边界线完全移动到不同的页面上,所以必须判断容器是否可以返回到预定的页面上(步骤2414)。步骤2414执行的判断类似于在图21的步骤2114所执行的判断,因此对其详细的解释在此不再重复。如果判断出容器可以返回到预定页面(步骤2414的是),容器的移动就被取消并且容器保留在预定的页面上(步骤2415)。由于在步骤2415,对于所有的容器来判断其上将安排有容器的页面区域,所以布局编辑应用121再次进行图9所示的布局计算和布局调整(步骤2416)。
如果判断出伸出的容器不能返回到预定页面(步骤2414的否),布局编辑应用121显示U1以促使用户选择是否执行纠错处理(步骤2419)。如果布局编辑应用121识别出对于当前的记录需要执行纠错处理(步骤2419的是),则处理进行到步骤2418。如果布局编辑应用121识别出不执行纠错处理(步骤2419的否),则图26的特性再次显示以改变伸出容器的属性(步骤2420)。接着,被选择出的容器属性被识别并且处理返回到步骤2410。
步骤2416到2418以及2411与图21中的步骤2116到2119相似,对其的解释在此不再重复。
为了帮助理解图24A和24B的流程图的处理,参考图18和30对一个例子进行描述。对于页间链路,假定在图38的设定对话中选择了固定链路并且固定链路的尺寸设定为“3”。
在图18中,页间链路1801设定在容器1707和1708之间。相应地,出现图32的特性对话以设定容器属性。当选择了“手动容器属性设定”后,出现图26的特性对话2601。这里,所考虑的情况是其中容器1707的属性设定为“自动布局上页间不可移”并且容器1708的属性设定为“自动布局上页间可移”。由于对于其链路属性将“页间开/关”设定为开的链路1801安排在图18所示的文档模板上,故出现页间编辑页面3000。以上所述步骤对应于图24A和24B的步骤2401到2403。
接着,包括在正在处理的记录中的内容数据从数据库被插入容器,并且执行布局计算和布局调整。结果是,容器1707被放置到边界线3001上,如图30所示,并且判断出容器1707从预定页面上伸出。接着,当判断出该容器属性为“自动布局上页间不可移”,就开始判断该容器1707是否可以返回预定页面。
安排在页面1701上的容器1705和1706的当前信息以图25所示的格式被存储在存储器136中。容器1705的字体尺寸不能被缩减。然而,容器1706的字体尺寸可以缩减到“8”,因此字体尺寸可以从当前尺寸“10”逐步缩减。例如,如果布局编辑应用121判断出通过缩减字体尺寸到“9”可以将容器1707安排在页面1701上,就判断容器1707可以返回为预定页面的页面1701。如果布局编辑应用121判断出即使字体尺寸缩减为“8”容器1707也无法安排在页面1701上,就从页面1701上搜寻一个未固定容器。参考图25,判断出安排在页面1701上的容器1705和1706是未固定的。相应地,如果可能,容器就在可变的范围内进行缩减。虽然容器1705不能进一步缩减,但根据图25的容器1706的当前尺寸为“垂直:5,水平:5”,且容器1706的尺寸的可变范围为“垂直:3到8,水平:5到8”。因此,容器1706的尺寸可以缩减。相应地,容器1706的尺寸逐步缩减。例如,如果布局编辑应用121判断出通过将容器1706的尺寸缩减为“垂直:4,水平:6”可以将容器1707安排在页面1701上,则容器1707被安排在为预定页面的页面1701上。在本实施例中,首先字体尺寸改变,其次容器尺寸改变。然而,本发明并不限于此,容器的尺寸可以首先缩减。
这样,其上将安排有容器的页面区域对于所有的容器进行判断,并且相应地,根据图9的布局计算和布局调整被再次执行,使得容器1705、1706以及1707具有优化的尺寸并且被装入页面1701。同样地,由于容器1705返回了页面1701,所以页面1702的布局也发生了变化,并且相应地再次执行布局计算和布局调整。该结果显示在图27中。虽然在图38中给出了页间链路1801的设定,但是由于通过页间链路1801相联的容器1707和1708被安排在不同的页面上,所以页间链路1801被删除。
如果判断出即使字体和容器尺寸都缩减,容器1707仍然不能被安排在预定页面上,则选择是执行作为纠错处理的对于下一记录的布局处理,还是在改变了容器1707的属性之后对当前记录再次执行布局处理。
通过上述的步骤就完成了布局调整,并且结果被存储在主机的存储器136中。接着,重复上述的步骤直到所有的记录都插入。
接下来,参考图28,描述当位于边界线上的容器的属性为“自动布局中允许页间安排”时,所执行的处理的流程。
如果布局编辑应用121参照了存储器136并且在步骤2410判断出边界线3001上的容器的属性为“自动布局中允许页间安排”,则容器沿着边界线分割。更为具体地,首先识别出伸出到下一页面的伸出区域(步骤2801)。接着,布局编辑应用121根据在步骤2801识别的伸出区域对容器进行分割(步骤2802),并且对其上安排有容器的分割部分的页面执行布局计算和布局调整(步骤2803)。容器被分割的部分中的一个部分被安排在与通过页间链路与被分割容器相联的容器相同的页面上。于是,页间链路的属性变成了图38所设定的属性,并且根据图38设定的属性执行布局调整。
随后的步骤2804到2806类似于图21中的步骤2117到2119,对其的解释在此不再重复。后面将对伸出区域的识别(步骤2801)以及容器的分割(步骤2802)进行详细描述。
为了帮助理解图28所示的流程图的处理,参考图18,29以及30对一个例子进行描述。这里,所考虑的例子是其中在步骤2410(图24B)判断出容器的属性被设定为“自动布局中允许页间安排”。关于页间链路,假定在图38所示的设定对话中选择了固定链路并且固定链路的尺寸被设定为“3”。
当位于边界线上的容器1707的属性被判断为“自动布局中允许页间安排”,则容器的伸出量被识别。容器的伸出量可以通过,例如,用布局引擎105对图30所示的页间编辑页面的坐标进行检查而被识别。
例如,假定容器1707的左下角,右下角,左上角,右上角的坐标分别为(x=20,y=30),(x=70,y=30),(x=20,y=80)以及(x=70,y=80)并且分界线3001的左端和右端的坐标分别是(x=0,y=50)以及(x=100,y=50)。在坐标(x,y)中,x表示的是在水平方向上的位置,y表示的是在垂直方向上的位置。相应地,位于边界线3001上的容器1707左端为(x=0,y=50),右端为(x=100,y=50),也就是,一个由左上点(x=20,y=80),右上点(x=70,y=80),左下点(x=20,y=50),右下点(x=70,y=50)定义的区域是保留在页面1701上的区域。而另一个区域,也就是,由左上点(x=20,y=50),右上点(x=70,y=50),左下点(x=20,y=30),右下点(x=70,y=30)定义的区域被识别为将被移动到下一页面1702上的伸出区域。如上所述识别出的伸出区域被存储在存储器136中,并且接着图30所示的页间编辑页面被切换成图17所示的普通页面。
分割容器的步骤如图17所示执行。为了提供更为详细的说明,图29显示了其上允许容器的页间安排的自动布局的一个结果。
首先,对有待分割的容器1707进行复制,并且所复制的容器信息被存储到存储器36中。在当前的状态下,容器1707从区域2403,其对应于图18中的区域1703,伸出。相应地,进行修剪使得所识别并被存储在存储器136中伸出区域被删除。更为具体地,通过修剪仅将被判断为伸出区域的容器1707中的区域2407B(图29)删除。接着,从存储器136中读出复制的容器1707并且将其粘贴在区域2404上,其对应于图18中的区域1704。由于所粘贴的容器2407从区域2404向上伸出,根据存储在存储器136中的伸出区域进行修剪,使得伸出的区域被删除。更为具体地,在复制的容器2407中,区域2407A从区域2404向上(向页面2401)伸出,因此只有区域2407A通过修剪而被删除。相应地,容器2407被分割。复制数据被粘贴使得其水平位置与预定页面的水平位置(本实施例中容器2407A的位置)相同,并且保持了预定的位置关系(容器2408和2409相对于容器2407A垂直安排)。
这样,文档模板上的其上将安排有容器的页面区域对于包括被分割容器2407A和2407B的容器进行判断,并且相应地,图9所示的布局计算和布局调整被再次执行。由于通过页间链路相联的容器2407B和2408被安排在同一页面上,所以页间链路1801变成具有由图38的对话设定的链路尺寸为“3”的固定链路1801A。虽然页间链路与图18中影响布局计算和布局调整的普通链路有区别地显示,但是由于链路的属性变成了影响布局调整的链路的属性,所以链路的显示变成了图29所示的1801A。
布局编辑应用121根据链路1801A执行布局调整。
由此获得的结果被存储在主机的存储器136中。接着,上述的步骤被重复直到所有的记录都被插入,并且布局结果显示在图18所示的文档模板上。在图28所示的处理中,容器被沿着边界线分割。因此,当内容数据插入时如果容器越过边界线完全移动到下一页面,就不执行分割处理而执行类似于图21所示的移动处理。
虽然没有显示在图28的操作流程中,但是如果违反了任何布局优化规则,就重新执行计算以避免违反规则,如上面参考步骤0904所述的(图9)。
如上所述,根据第二实施例,容器的属性由用户设定。相应地,当插入内容时如果容器从预定页面伸出,就根据用户设定的容器属性执行自动布局处理。相应地,根据用户的意愿可以得到均衡的布局。
第三实施例
在第一和第二实施例中,布局调整的执行考虑了通过页间链路彼此相联的容器的属性。在第三实施例中,参考图33,将描述一种通过影响布局计算和布局调整的普通链路来设定容器的属性的方法,该容器与位于页间链路末端的容器相联。
图35表示了与位于页间链路末端的容器(图33中的容器1707和1708)相联的容器(图33中的1706,3301,1709以及3304)的属性设定处理的流程图。该处理由主机内的处理器135执行。
布局编辑应用121判断由用户执行的链路设定操作设定的链路是否为页间链路(步骤3501)。类似于第一实施例的步骤2001,步骤3501中的判断可以通过参考存储在存储器136中的链路属性(本实施例中的图34)来执行。如果在步骤3501中判断出设定了页间链路(图33中的链路1801)(步骤3501的是),布局编辑应用121如第一或第二实施例所描述的设定位于页间链路末端的容器(图33中的容器1707)的属性。接着,判断对于位于页间链路末端的容器是否设定有其它的链路(步骤3502)。布局编辑应用121也可以通过参考存储在存储器136中的图34的链路属性来执行步骤3502的判断。参见图33,位于页间链路末端的容器为1707和1708,并且链路1711、1712、3303以及3305是为容器1707和1708设定的。相应地,判断出对于位于页间链路末端的容器设定有其它的链路(步骤3502的是)。接着,布局编辑应用121对通过步骤3502确定的其它链路与页内链路末端上的容器相关联的容器的属性进行设定(步骤3503)。稍后将对步骤3503进行详细描述。布局编辑应用121识别出步骤3503的设定(步骤3504)并且结束该处理。接着,类似于第一和第二实施例,根据内容数据的插入执行布局调整。
图36表示了在步骤3503所执行的具体处理。布局编辑应用识别出在步骤3502识别出的其它链路的类型(步骤3601)。对于仅仅将容器彼此相联的链路,显示图26所示的特性,用以设定通过该链路与位于页间链路末端的容器相联的容器(图33的容器1706,1709以及3304)的属性(步骤3603)。如果在步骤3601中判断出设定了一个具有向导的链路,则根据连接到页间链路的容器的属性,对应容器的属性发生自动改变(步骤3605)。例如,参考图33,与页间链路相连的容器1707通过向导与容器3301相联。于是,容器3301的属性根据容器1707的属性而设定。具体地,参考存储在存储器136中的容器1707的属性以设定容器3301的属性。接着,布局编辑应用121显示类似于图37所示的特性3701的特性,其指示着该属性以上述的方式设定(步骤3606)。
为了帮助理解图36所示的处理,以下参考图33对一个具体例子进行描述。首先考虑这样一个例子,其中通过垂直链路与位于页间链路末端的容器1707相联的容器1706的属性被设定。在这种情况下,作为如第一或第二实施例描述的所执行的布局调整的结果,存在着容器1707移动到不同页面的可能性。相应地,显示图26所示的特性对话2601,以便可以对与容器1707相联的容器1706是与容器1707一同移动到另一页面还是保留在预定页面(1701)上进行设定。接着,考虑通过向导功能与容器1707相联的容器3301。对向导功能将在后面进行描述。向导功能影响布局调整,类似于上述的链路和锚标志。例如,安排在水平方向上的容器1707和3301的垂直位置,例如图33所示,可以被调整。另外,当安排在垂直方向上的数个容器通过具有向导的链路彼此相联时,容器的水平位置可以被调整。更为具体地,参考图33,容器1707和3301安排在水平方向上。当作为布局调整的结果,容器1707的布局位置在垂直方向上发生位移时,容器3301的布局位置根据容器1707的位移而在垂直方向上发生变化。相应地,如果通过向导与容器1707相联的容器3301的属性根据容器1707的属性进行设定,则当根据第一实施例执行了将容器1707移动到不同的页面的处理、将容器保留在预定页面上的处理或者将容器1707进行分割的处理时,对容器3301也执行类似的处理。例如,如果容器1707从页面1701移动到页面1702上时,容器3301连同容器1707一起移动到页面1702。接着,考虑通过水平链路直接与容器1708相联结的容器3304。在这种情况下,显示图26所示的特性对话2601用以设定容器3301的属性。接着,对用户所选择的设定进行识别并且执行布局调整。
根据第三实施例的处理,例如,图33中,当与页间链路相连接的容器1707从页面区域1701被移动到页面区域1702时,根据用户设定的与容器1707的布局相关的属性设定执行对于与容器1707相联的容器的布局处理。于是,就可以在整个文档上得到均衡的布局调整。
即使容器的属性如上所述地设定,也可能有这样一种情况,依据插入容器的内容数据不能执行基于所设定的容器属性的布局处理。在这种情况下,在改变了模板上的容器属性或各种设定之后执行纠错处理或是再次执行布局计算和布局调整。
在上述第一到第三实施例中,容器的属性可以事先设定。然而,当判断出作为内容数据的插入和布局调整的结果时,位于页间链路末端的容器将会从预定页面上伸出时,也可以对容器的属性进行设定。另外,在上述的实施例中,当页间链路设定时自动设定容器的属性。然而,即使页间链路没有设定,也可以事先设定每个容器的属性。在这种情况下,当作为内容数据插入的结果,容器伸入到另一页面上时,容器可以根据设定的属性被移动到另一页面或是被安排越过不同的页面。
上述自动布局系统(布局编辑应用121)的功能性结构如图39所示。
参考图39,布局编辑应用121根据插入到数据区域中的内容数据动态改变具有数个数据区域的模板的布局。属性设定单元3901设定通过链路与其他数据区域相联的数据区域的属性。调整单元3902根据插入到数据区域内的内容数据调整数据区域的布局。判定单元3903根据调整单元调整的数据区域的布局来判定通过链路与其它数据区域相联的数据区域是否从预定页面上伸出。如果判定单元3903判定出数据区域从预定页面区域伸出,则确定单元3904确定页面区域,其中,根据属性设定单元3901设定的数据区域的属性,在该页面区域上安排数据区域。当由属性设定单元3901设定的数据区域的属性允许数据区域被安排越过不同的页面区域时,确定单元3904确定数据区域将被分割并安排在数个页面上。当确定单元3904根据属性设定单元3901设定数据区域的属性确定出数据区域被安排在之前页面区域或是在之前页面区域的随后页面区域。本发明还可以通过提供具有存储介质(或记录介质)的系统或是装置来实现,该存储介质存储用以实现上述实施例的功能并使得该系统或装置的计算机(或是中央处理单元(CPU)或微处理器单元(MPU))读取并执行存储在存储介质上的程序码。
在这种情况下,从存储介质读取出的程序码本身提供了上述实施例的功能。另外,上述实施例的功能不仅可以通过使得计算机读取并执行程序码而实现,还可以通过使得运行在计算机上的操作系统(OS)根据程序码的指令执行的一些或所有的处理来实现。
另外,上述实施例的功能还可以通过将读取自存储介质的程序码写在插在计算机上的功能扩展板的存储器或是连接到计算机的功能扩展单元,并使得功能扩展板的CPU或是功能扩展单元根据程序码的指令执行一些或是所有的处理来实现。
进一步,上述实施例的功能还可以这样实现,即用网络将用以执行上述实施例的功能的软件程序的程序码进行发放,将程序码存储在例如硬盘和存储器的存储装置或存储介质上,例如系统或设备的即可擦写光盘(CD-RW),并使得系统或是设备的计算机(或是CPU或MPU)执行存储在存储设备或存储介质上的程序码。
虽然对本发明的描述参考了示例性的实施例,应当理解的是本发明并不限于所披露的示例性的实施例。对以下的权利要求应当赋予最为广泛的解释以包涵所有的修改、等同的结构和功能。
Claims (14)
1.一种布局处理方法,根据插入到数据区域的内容数据而动态改变具有数个数据区域的模板的布局,该布局处理方法包括:
属性设定步骤,设定通过链路与另一个数据区域相联的数据区域的属性;
调整步骤,根据插入数据区域的内容数据调整数据区域的布局;
判定步骤,根据调整步骤所调整的数据区域的布局,判定通过链路与另一个数据区域相联的数据区域是否从预定设定页面区域伸出;以及
确定步骤,当判定步骤判定出数据区域从预定设定页面区域伸出时,确定出一个页面区域,根据在属性设定步骤所设定的数据区域的属性来在该页面区域上安排该数据区域;
其中在确定步骤中,根据数据区域从预定设定页面区域伸出的伸出量来确定将数据区域安排在预定设定页面区域中还是在不同于预定设定页面区域的一个页面区域中。
2.根据权利要求1的布局处理方法,其中,当链路延伸越过数个页面区域时,对应于属性设定步骤中链路的设定而设定该数据区域的属性。
3.根据权利要求1的布局处理方法,其中,当链路延伸越过数个页面区域时,对应于属性设定步骤中链路的设定而显示用以设定该数据区域属性的设定屏。
4.根据权利要求1的布局处理方法,其中的确定步骤包括:
当属性设定步骤允许属性为延伸越过数个页面区域时,
计算数据区域从预定设定页面区域伸出的量;和
根据计算出的伸出量对数据区域进行分割以将数据区域安排在数个页面区域上。
5.根据权利要求1的布局处理方法,其中,当在确定步骤中确定其上将安排有数据区域的页面区域时,再次执行调整布局的调整步骤。
6.根据权利要求1的布局处理方法,其中,当链路延伸越过数个页面区域时,在调整步骤中在包括有数个页面区域的单一布局区域上对数据区域的布局进行调整。
7.根据权利要求1的布局处理方法,其中在调整步骤中调整的布局显示在显示单元上。
8.一种布局处理装置,根据插入到数据区域的内容数据而动态改变具有数个数据区域的模板的布局,该布局处理装置包括:
属性设定单元,配置成设定通过链路与另一个数据区域相联的数据区域的属性;
调整单元,配置成根据插入数据区域的内容数据调整数据区域的布局;
判定单元,配置成根据调整单元所调整的数据区域的布局,判定通过链路与另一个数据区域相联的数据区域是否从预定设定页面区域伸出;以及
确定单元,当判定单元判定出数据区域从预定设置页面区域伸出时,确定出一个页面区域,根据属性设定单元所设定的数据区域的属性来在该页面区域上安排该数据区域;
其中在确定单元中,根据数据区域从预定设定页面区域伸出的伸出量来确定将数据区域安排在预定设定页面区域中还是在不同于预定设定页面区域的一个页面区域中。
9.根据权利要求8的布局处理装置,其中,当链路延伸越过数个页面区域时,属性设定单元配置为对应于链路的设定而设定该数据区域的属性。
10.根据权利要求8的布局处理装置,其中,当链路延伸越过数个页面区域时,属性设定单元配置为对应于链路的设定而显示用以设定该数据区域属性的设定屏。
11.根据权利要求8的布局处理装置,其中的确定单元配置为当属性设定单元允许属性为延伸越过数个页面区域时,计算数据区域从预定设定页面区域伸出的量,并且根据计算出的伸出量将数据区域进行分割以将数据区域安排在数个页面区域上。
12.根据权利要求8的布局处理装置,其中,当确定单元确定其上将安排有数据区域的页面区域时,调整单元配置为再次调整布局。
13.根据权利要求8的布局处理装置,其中,当链路延伸越过数个页面区域时,调整单元配置为在包括有数个页面区域的单一布局区域上对数据区域的布局进行调整。
14.根据权利要求8的布局处理装置,其中在调整单元中调整的布局显示在显示单元上。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004361482A JP4298642B2 (ja) | 2004-12-14 | 2004-12-14 | レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム |
JP361482/2004 | 2004-12-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1790338A CN1790338A (zh) | 2006-06-21 |
CN100458780C true CN100458780C (zh) | 2009-02-04 |
Family
ID=36654774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101342793A Expired - Fee Related CN100458780C (zh) | 2004-12-14 | 2005-12-13 | 布局处理方法、装置以及程序 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7707495B2 (zh) |
JP (1) | JP4298642B2 (zh) |
CN (1) | CN100458780C (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4047308B2 (ja) * | 2004-08-06 | 2008-02-13 | キヤノン株式会社 | レイアウト処理方法、情報処理装置及びコンピュータプログラム |
EP1836584A4 (en) * | 2004-11-16 | 2009-05-06 | Zalag Corp | DISPLAY / PRESENTATION METHODS AND DEVICES CORRESPONDING TO CONTENT ELEMENTS AND DISPLAY CONTAINERS |
GB2430059A (en) * | 2005-09-08 | 2007-03-14 | Hewlett Packard Development Co | Variable data printing |
GB2430060A (en) * | 2005-09-08 | 2007-03-14 | Hewlett Packard Development Co | Flows for variable data printing |
JP4956202B2 (ja) * | 2007-01-16 | 2012-06-20 | キヤノン株式会社 | 情報処理装置及び情報処理方法及びプログラム |
US8108763B2 (en) * | 2007-01-19 | 2012-01-31 | Constant Contact, Inc. | Visual editor for electronic mail |
JP4442616B2 (ja) * | 2007-02-14 | 2010-03-31 | セイコーエプソン株式会社 | 文書編集装置、プログラムおよび記憶媒体 |
US8065628B2 (en) | 2007-06-25 | 2011-11-22 | Microsoft Corporation | Dynamic user interface for previewing live content |
JP2010026766A (ja) | 2008-07-18 | 2010-02-04 | Canon Inc | 情報処理装置、情報処理方法及びプログラム |
JP2010039938A (ja) * | 2008-08-07 | 2010-02-18 | Fuji Xerox Co Ltd | 文書処理装置及び文書処理プログラム |
JP5419412B2 (ja) | 2008-10-08 | 2014-02-19 | キヤノン株式会社 | 文書編集装置、文書編集方法およびコンピュータプログラム |
TWI366130B (en) * | 2008-10-17 | 2012-06-11 | Htc Corp | Method for adjusting page displaying manner, mobile electronic device, and computer program product using the method thereof |
JP2010097564A (ja) * | 2008-10-20 | 2010-04-30 | Canon Inc | 情報処理装置及びレイアウト処理方法 |
JP2010123002A (ja) * | 2008-11-20 | 2010-06-03 | Canon Inc | 文書画像レイアウト装置 |
JP5629435B2 (ja) | 2009-06-30 | 2014-11-19 | キヤノン株式会社 | 情報処理装置、情報処理方法、およびプログラム |
JP5460390B2 (ja) | 2010-03-12 | 2014-04-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | レイアウト変換装置、レイアウト変換プログラム、およびレイアウト変換方法 |
WO2012039723A1 (en) * | 2010-09-26 | 2012-03-29 | Hewlett-Packard Development Company | Generating variable document templates |
USD705792S1 (en) | 2011-12-28 | 2014-05-27 | Target Brands, Inc. | Display screen with graphical user interface |
USD705790S1 (en) | 2011-12-28 | 2014-05-27 | Target Brands, Inc. | Display screen with graphical user interface |
USD715818S1 (en) * | 2011-12-28 | 2014-10-21 | Target Brands, Inc. | Display screen with graphical user interface |
US9213460B2 (en) * | 2012-01-20 | 2015-12-15 | Cimpress Schweiz Gmbh | Visual editing tool buffer region |
KR101437090B1 (ko) * | 2012-06-08 | 2014-09-11 | 스핀노트 주식회사 | 보조페이지 출력이 가능한 출력장치, 보조페이지 출력방법 및 그 방법을 구현하는 프로그램이 기록된 기록매체 |
US8584077B1 (en) * | 2012-07-30 | 2013-11-12 | Agilent Technologies, Inc. | User-controllable connectivity engine for electronic design automation tools |
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 |
EP3014484A4 (en) * | 2013-06-28 | 2017-05-03 | Microsoft Technology Licensing, LLC | Selecting and editing visual elements with attribute groups |
US9779065B1 (en) * | 2013-08-29 | 2017-10-03 | Google Inc. | Displaying graphical content items based on textual content items |
CN104102728A (zh) * | 2014-07-23 | 2014-10-15 | 天脉聚源(北京)科技有限公司 | 一种新闻列表展示方法和装置 |
CN115048088A (zh) * | 2016-05-17 | 2022-09-13 | 谷歌有限责任公司 | 自动确定布局约束的系统和方法 |
CN109710568A (zh) * | 2018-12-18 | 2019-05-03 | 深圳壹账通智能科技有限公司 | 理赔文件格式标准化处理的方法、装置、介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1223731A (zh) * | 1996-05-14 | 1999-07-21 | 株式会社理光 | Java打印机 |
WO2003083704A1 (en) * | 2002-03-28 | 2003-10-09 | International Business Machines Corporation | System and method for hierarchical layout specialization |
CN1530855A (zh) * | 2003-03-12 | 2004-09-22 | ������������ʽ���� | 布局系统和布局程序以及布局方法 |
CN1530856A (zh) * | 2003-03-12 | 2004-09-22 | ������������ʽ���� | 布局系统和布局程序以及布局方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
DE69308032T2 (de) * | 1992-11-09 | 1997-05-22 | Microsoft Corp | Verfahren und system zum verbinden von objekten in einem rechnersystem |
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 |
US5717922A (en) * | 1995-07-31 | 1998-02-10 | International Business Machines Corporation | Method and system for management of logical links between document elements during document interchange |
US5813020A (en) * | 1995-07-31 | 1998-09-22 | International Business Machines Corporation | Method and system for dynamic presentation parameter override during document interchange |
US6317762B1 (en) * | 1995-11-22 | 2001-11-13 | Fujitsu Limited | Document creating apparatus creates free format document from handwritten data converting into normalized size |
JP3695595B2 (ja) | 1996-05-14 | 2005-09-14 | 株式会社リコー | Java対応型プリンタ |
US6026417A (en) * | 1997-05-02 | 2000-02-15 | Microsoft Corporation | Desktop publishing software for automatically changing the layout of content-filled documents |
US6880122B1 (en) * | 1999-05-13 | 2005-04-12 | Hewlett-Packard Development Company, L.P. | Segmenting a document into regions associated with a data type, and assigning pipelines to process such regions |
JP3594228B2 (ja) * | 1999-07-01 | 2004-11-24 | シャープ株式会社 | 枠消し装置、枠消し方法、およびオーサリング装置 |
JP3812470B2 (ja) | 2002-03-18 | 2006-08-23 | セイコーエプソン株式会社 | コンテンツ配信システム、コンテンツ配信方法およびプログラム並びに課金方法 |
US7143344B2 (en) * | 2002-06-12 | 2006-11-28 | Microsoft Corporation | Transformation stylesheet editor |
JP4055494B2 (ja) * | 2002-07-09 | 2008-03-05 | セイコーエプソン株式会社 | レイアウトシステム及びレイアウトプログラム、並びにレイアウト方法 |
US7325197B1 (en) * | 2003-06-16 | 2008-01-29 | Microsoft Corporation | Method and system for providing page control content |
US7325196B1 (en) * | 2003-06-16 | 2008-01-29 | Microsoft Corporation | Method and system for manipulating page control content |
US7424672B2 (en) * | 2003-10-03 | 2008-09-09 | Hewlett-Packard Development Company, L.P. | System and method of specifying image document layout definition |
JP4110105B2 (ja) * | 2004-01-30 | 2008-07-02 | キヤノン株式会社 | 文書処理装置及び文書処理方法及び文書処理プログラム |
US7581178B2 (en) * | 2004-07-30 | 2009-08-25 | Microsoft Corporation | Systems and methods for pagination using variable page dimensions |
JP4522280B2 (ja) * | 2005-02-04 | 2010-08-11 | キヤノン株式会社 | 情報処理装置及びその制御方法、プログラム |
AU2005201758B2 (en) * | 2005-04-27 | 2008-12-18 | Canon Kabushiki Kaisha | Method of learning associations between documents and data sets |
-
2004
- 2004-12-14 JP JP2004361482A patent/JP4298642B2/ja not_active Expired - Fee Related
-
2005
- 2005-12-12 US US11/299,559 patent/US7707495B2/en not_active Expired - Fee Related
- 2005-12-13 CN CNB2005101342793A patent/CN100458780C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1223731A (zh) * | 1996-05-14 | 1999-07-21 | 株式会社理光 | Java打印机 |
WO2003083704A1 (en) * | 2002-03-28 | 2003-10-09 | International Business Machines Corporation | System and method for hierarchical layout specialization |
CN1530855A (zh) * | 2003-03-12 | 2004-09-22 | ������������ʽ���� | 布局系统和布局程序以及布局方法 |
CN1530856A (zh) * | 2003-03-12 | 2004-09-22 | ������������ʽ���� | 布局系统和布局程序以及布局方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1790338A (zh) | 2006-06-21 |
US7707495B2 (en) | 2010-04-27 |
JP4298642B2 (ja) | 2009-07-22 |
JP2006171979A (ja) | 2006-06-29 |
US20060156227A1 (en) | 2006-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100458780C (zh) | 布局处理方法、装置以及程序 | |
CN100362464C (zh) | 文件处理装置和文件处理方法 | |
US7373593B2 (en) | Apparatus and method for automatically setting constraints within a document layout | |
CN100361068C (zh) | 信息处理装置及其控制方法 | |
US4800510A (en) | Method and system for programmed control of computer generated graphics layout | |
CN100429646C (zh) | 包括手写数据的电子文档的显示装置及方法 | |
CN100407125C (zh) | 布局控制装置和布局控制方法 | |
US8713430B2 (en) | Document layout method | |
CN100359511C (zh) | 文件处理装置和文件处理方法 | |
US8700984B2 (en) | Computerized method and computer program for displaying and printing markup | |
US20050094205A1 (en) | Selective preview and proofing of documents or layouts containing variable data | |
US20050094207A1 (en) | User interface for creation and editing of variable data documents | |
US20050168780A1 (en) | Information processing method and apparatus, and computer-readable program | |
US6167410A (en) | Document processing apparatus for adding predetermined design types to an original document | |
JP2010113479A (ja) | 情報処理装置及び情報処理方法 | |
CN100389384C (zh) | 布局处理方法及信息处理装置 | |
JP2009110391A (ja) | 情報処理装置および制御方法および制御プログラム | |
WO1992021097A1 (en) | Method and apparatus for automated page layout of text and graphic elements | |
KR102649627B1 (ko) | 어도비 인디자인 전자편집(dtp) 프로그램을 이용한 이미지 자동배치 및 실행방법 | |
US11170156B1 (en) | Drop word tool for digital typesetting | |
Bain | CorelDRAW 12: the official guide | |
JP2000181906A (ja) | 修飾設定装置および記録媒体 | |
JPH08202856A (ja) | 画像処理方法 | |
JP2006221505A (ja) | レイアウトシステムおよびレイアウトプログラム、並びにレイアウト方法 | |
Kolokolov | Anatomy of Diagrams |
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: 20090204 Termination date: 20161213 |
|
CF01 | Termination of patent right due to non-payment of annual fee |