格式化文档的方法

文档序号:6422435阅读:494来源:国知局
专利名称:格式化文档的方法
技术领域
本发明涉及一种以适合于打印和/或电子出版的呈现的设计来准备内容的自动化方法。
背景技术
在本说明书中对任何现有技术的引用不是并且不应被当作承认或以任何形式暗示所述现有技术形成一般常识的部分。
大多数文档产生无需使用任何种类的结构或自动化来实现。为了提高文档产生过程的效率,变化程度的自动化是可用的。当前的用于打印和/或电子出版的电子排版和文档布局以及出版系统提供了利用不同类型的数据来产生完整作品的自动化特征。内容通常与给予所完成的作品特定外观的设计或风格内容分开而产生。所述外观可公用于跨系列的一组作品,从而给予所述系列常常被设计成对潜在购买者有吸引力的一致格式。
内容的创建者,以下被称为内容创建者写作品的文本。特定的作品亦可能需要产生其他素材,如绘图和其他图形插图。这些可由内容创建者创建或准备,该内容创建者可以是准备书面内容的内容创建者,或者由另一个内容创建者创建或准备,如技术插图画家或画家。原始文本或其他素材在以下被称为内容,并且不必为作品的最终外观而被格式化。
风格外观通常由图形、文档或网设计者来控制。设计者担负着创建美学上令人愉快或有效的设计的任务,所述设计可旨在用于以页的形式或在一些其他几何空间中打印或电子出版。我们以后将把设计输出称为局部页、整页或一系列页,尽管它可包括其他显示空间,如计算机监视器或其他显示设备。
设计者典型地准备样本页和/或产生指示作品所完成的外观的书面总纲。样本页和总纲可使用公知的桌面出版软件包,如Adobe Pagemaker、Adobe InDesign或QuarkXPress、网页内容创建软件来创建,或者使用字处理系统或其他数据处理系统来记录。风格信息在以下被称为设计。
一旦设计已被认可,并且内容已被完成,两者均被发送给操作者,该操作者通过人工组合内容与设计和在设计中指定的布局规则来准备作品的呈现。该过程是人工强度大的,有错误和误解的机会。典型的作品,如包含几百页的参考书可具有相当复杂的布局,包括边栏(sidebar)、绘图、照片、图表和表格,并且可让操作者花费几个星期到几个月来人工准备。
该过程是很主观的,并且即使通过使用限定某些对象的位置如何相互关联的若干定位规则,有可能的是对相同素材独立工作的两个不同操作者将产生两个很不同的结果。
在完成该过程时,作品典型地由出版者以打印或电子形式出版。该出版者可以是商业出版者、团体、公司、个体或作品的任何其他传播者。
在该过程中创建的内容和设计信息典型地被存储于计算机可读文件或多个计算机可读文件、数据流、一个或多个数据库记录,以下被称为数据集,并且在所有实例中可包括结构标签化(tagging),如在XML、SGML、HTML和其他标签化规范中所呈现的。
设计通常包括提供结构给所出版的作品的几个不同部分段落风格这些被应用于内容中的段落并且指定要被应用于作品中的各种元素的信息,如字体和字体大小,所述元素包括主体文本、节标题、边栏头部、边栏文本、说明(caption)、页头书名(running header)和列表。类型说明书亦可与段落风格分开详述,并包括规则以提供风格控制给排版者(typesetter),如在最终文档中连字号的使用。段落风格首要地处理段落的格式。它们通常不提供对段落的相对或绝对定位的任何指导,尽管当段落被强制分成两个或多个部分时,一种风格可提供对被允许以与段落的其余部分隔离的形式存在的行(line)的数目的某种控制。后者在本领域公知为“保持”选项,或“寡/孤(widow/orphan)”控制。段落风格亦可限定对先前或随后段落的关系,或者指定整个段落是否必须出现在单个页上。
主控页(master page这些是被用作模板的文档说明书,该模板用于所限定的显示区域,如作品内的页。例如,在打印的作品中,主控页典型地包括这样的元素,其位置和特征很少变化,如果有的话,从而允许这些页被预先定义。这些页可包括被用在部分题目页上的背景图形,被用在主文本页上的页头书名和脚部,页边距之后的背景阴影以及占位符,用于诸如页数和章节题目的事物。许多出版物设计指定用于不同显示风格的多个主控页。
元素这些是根据位置和内容变化的项目。它们由设计者定义,并且可借助样本文本和图像(例如在插图的情况下)来图示,并且它们可具有关联的定位规则,如“总放置在显示区域的顶部”。元素包括标志、广告、菜单、边栏、表格、插图和与作品目的和设计有关的其他项目。
文档DTD(文档类型定义)和大纲(schemas)是对可被用于描述特定内容类型的结构标签的定义。DTD和大纲通常被表达为然后被应用于内容的结构实体的按序或嵌套系列。例如,具有标题实体的大纲允许内容被描述为标题实体。DTD和大纲典型地在人工分析过程中得到或者从其他DTD和大纲得到。它们涉及内容和内容的结构设计两者,但准备DTD或大纲的动作通常被实施为与准备设计和内容分开的过程。
一些内容可被创建和存储在数据库系统中。该内容可从二级数据库得到或可被直接输入到数据库中。这种类型的内容典型地包括涉及商业产品的信息,如产品描述和说明书。一些数据库系统能够将风格标签应用于数据库中的内容并且/或者以结构化方式出版该数据。这些数据库出版系统中的一些包括表达来自多个数据库的动态数据库的能力。
涉及数据库出版系统的是被首要地用于报告生成和事务处理文档,如发票、保险文档和计划书的自动化软件的类别。这些系统被首要地集中在高速大容量数据处理上,并且总是在其图形精密度上被限制。它们不适合于高质量商业出版应用。
一些文档自动化系统利用加强页布局应用程序的功能的软件,如QuarkXPress、Adobe PageMaker或Adobe InDesign,从而允许它们起到数据库出版系统的作用。这些系统被局限于高度结构化的数据,并且具有处理数据长度或外观的任何可变性的受限能力。
几个桌面出版包亦提供了自动调整特征,例如,其可将元素移动到页的顶部或底部,或者以内容中的特定基准点来维持其位置。这些系统具有解决复杂冲突位置要求的受限能力。许多桌面出版包亦提供脚本或其他程序系统,其允许通过适当熟练的程序人员实行布局过程的某种程度的控制。这个功能性提供了一种用于开发半自动化或甚至全自动化的布局系统的方法。然而,这些系统存在缺陷。全布局可仅在想要的结果相对基本的或者具有很显著的程序开发的情况下被实现。较复杂的布局可由熟练的程序人员来实现,但每个新设计都典型地需要扩展的附加开发以适应对该设计唯一的特征。当与需要代替的人工过程比较时,这些限制通常使脚本或程序方法不经济。典型地,自动化模板仅被开发用于书籍或文档,其基本设计将被用在许多题目中,如一系列作品中,其中总题目计数将以几打或几百的实例来计。
已尝试使排版和/或布局过程全面自动化。这些包括排版软件系统的开发,如TeX、Penta和Advent 3B2。这些系统提供了用于定义自动化模板的扩展程序支持。然而,创建用于将在商业上有吸引力的书籍的模板可花费高达几个月的强化开发。这些系统亦可提供解决方案,其中模板使用数值约束来严格定义,或者使用用户界面内的一系列常常冗长的参数对话框,或者通过经由控制文件或经由程序界面的这些参数的某种其他表达来定义。已尝试在这些系统中包括图形用户界面,但代码结构的复杂度使得与界面的交互在其功能性上是有限的。开发用于复杂模板的新说明书所涉及的时间和成本使系统充满了一个水平的复杂度,其使它们对于一般图形设计和出版市场是达不到的。为这些系统创建的模板对于一次性的出版,如具有短打印过程的唯一书籍格式通常在经济上不可行,并且难以适应高度可变的内容的要求。这些系统在软件和训练操作者的成本上亦很昂贵,并且不提供显著的交叉介质功能性。
自动化成本系统的相关类别被创建以首要地处理办公文档和一些技术文献。实例包括Interleaf和Adobe FrameMaker。这些系统已被较多地集中在文档管理和产生上,而不是精密的图形设计呈现。
为支持复杂技术文档产生的要求,被称为SGML的结构标签化系统被开发。一些出版系统通常以受限的方式开始支持SGML,并且通常具有令人失望的结果。SGML的主要缺陷是其巨大的复杂度和它试图编码的结构的范围。被称为HTML的SGML的一个很小的子集然后被开发以使能互联网上的出版。HTML在其支持复杂文档和视觉结构的结构要求的能力上极其受限。
在组合SGML的好处同时减小复杂度的尝试中,由W3C委员会开发了XML,XML和其衍生物已开始驱动一个范围的出版系统,但尚未以图形复杂度和易用性为特征,所述图形复杂度和易用性将确保其在市场上的强有力接受的。典型地,XML出版由程序人员而不是图形设计者来驱动。改善对XML出版系统的界面的未来尝试有可能增加其使用。在XML出版中采用的一个方向是经由XSL-FO,一种在所限定的空间,如打印页内定义结构元素的外观的方法。XSL-FO尚不能提供大多数专业打印和在线出版者所需要的图形精密度。
总之,现有技术状况由人工桌面出版系统、半自动化桌面出版系统和全自动化出版系统来限定。内容和设计信息均被存储在数据集内,其可以是计算机可读文件或多个计算机可读文件、数据流、一个或多个数据库记录,并且在所有实例中包括XML或其他标签化。一般而言,这些系统沿两个轴排列使用较简单的系统提供最高且最灵活的呈现精密度但提供最低的自动化程度;最复杂的系统提供高程度的自动化,以较低水平的呈现精密度为折中。

发明内容
因此本发明的优点是通过以下解决了现有技术出版系统中所经历的问题使文档产生过程全面自动化同时提供最高程度的灵活图形设计和呈现。在实施例中,本发明允许通过以下简单地指定设计在所限定的空间,如页或显示设备中绘出设计,并且设置限定所完成的作品中的元素定位的多个规则。本发明的实施例亦允许通过在人工桌面出版构架内嵌入自动化相关特性来指定全自动化设计。这使来自通常被用于人工布局过程的环境中的全自动化模板的说明书成为可能。
本发明的实施例亦将创建大纲的过程与创建文档设计的过程通过从设计自动得到大纲而结合在一起。大纲然后被递送给内容创建者,从而使其被自动或人工地应用于内容并且用于控制内容的结构,确保了结果与自动化布局引擎兼容。
本发明的实施例亦提供了一种方法,通过该方法,设计成分的几何方面可被记录为依赖于其他成分。这提供了一种方法,通过该方法,页上的所绘出的设计可重定尺寸以适合于高度可变的内容,同时维持针对原始空间关系的设计者意图。这些空间关系可被进一步扩展以提供具有复杂格式化行为的制表数据。
本发明另外提供了一种用于在图形方面准备布局设计数据集和设计内的元素的优选位置参数的方法,以及一种为了创建用于在布局中包括的适当文本、图形和多媒体内容的目的而从布局设计数据集中提取结构信息的方法。本发明亦提供了一种用于使所显示的内容与源内容和设计数据集同步的方法。
对于以前已经以硬拷贝格式出版的作品,存在现在仅被出版为旨在在计算机监视器或其他显示设备上被察看的电子书籍(e-book)的增加的趋势。本发明的实施例在寻求仿真打印页的样子和感觉的电子或在线介质的准备上具有特别的实用性。如果需要的话,这种电子书籍也被打印。
具体而言,许多文档现在以如通过诸如Adobe Acrobat的应用程序生成和读取的可移植文档格式(PDF)被电子地呈现。这些格式首要地旨在即使当被察看于可具有不同显示选项和设置的计算机上时,仍保留文档的布局和格式。以这种方式,文档的创建者可确保当被察看和/或打印时,想要的格式被保留。以其他在线格式,如HTML,这通常是不可能的,其中显示设备解释某些格式化选项以实现所需效果,而不是以其原始的绝对形式来再现它们。
然而,以前已经以硬拷贝格式出版的一些作品现在是以专门适合于网浏览器的格式提供的,而不仿真打印页的样子和感觉。本发明亦方便了这种形式的在线出版。
本发明的实施例是有用的,但不局限于布局复杂文档,如教科书、学术研究、字典、规章呈递、杂志、报纸、技术期刊、销售报告、统计分析和指导手册。本发明的实施例亦被证明在用于在计算机监视器或其他显示设备上的在线或离线显示的页或屏的创建中是有用的。一些复杂的出版物,特别是形成一系列这种出版物之一的那些,可被设置成向读者呈现公用于所述系列的所有成员的一致风格。本发明的实施例允许以最小,或至少减小的布局过程中的人工干预来产生遵循所限定的布局或风格的出版物。
本发明的实施例允许根据限定理想布局的规则或规则集来布局设计元素。所述规则涉及对组成作品的许多不同元素的定位。规则亦可涉及对作品的排字(typographical)格式化,如连字号连接和对齐(justification)规则。设计元素可包括文本和图形元素,如插图、照片、边栏、图示、图表和表格,以及如作品设计者所限定的其他元素。所述规则被限定在将任何元素相关于另一个元素或几何信息显示的物理特性,如边缘或边距的项目中。
通过使用依照本发明的一个或多个实施例所限定的过程来应用这些规则,有可能使由动态供应数据组成的页视图的布局全面自动化。
在第一广义形式中,本发明提供了一种在用于打印或在线显示的页上布局元素的迭代方法,其中所述页包括内容和设计,所述内容包括多个不同类型和图形元素,并且所述设计包括与特定类型或图形元素关联的规则,所述规则限定评分系统,所述评分系统依赖于对所述规则的顺应性程度而限定得分,所述方法进一步包括以下步骤a)在几何上设置在内容中包括的多个类型或图形元素;b)根据在设计中包括的规则对所得到的布局评分;c)存储所述得分;以及d)对多个不同布局重复以上的步骤a)到c)。
具有最佳得分的布局优选地被选择为要在最终作品中使用的布局。可替换地,用户可被呈现有对最高评分布局的选择并人工选择优选的布局。
所述方法可进一步包括步骤在布局每个页上的元素之前将内容划分成多个页大小的节。页视图大小信息可被包括在设计中。每个页视图布局可被设置成使所述多个页视图的每个都包括在不同设置中的多个页视图设置,其中每个相继的布局与先前布局的不同之处在于特定的页视图元素与其先前位置偏离了预定距离。
可替换地,并且为了减小所需的迭代数,每个图形元素都可相对于几何界限而被定位在如与之关联的规则所限定的位置中。以这种方式,有可能通过以下使布局过程较为有效估计哪些位置有可能给出最佳得分,并且强制元素占据依照所定义的规则被认为是最优的那些位置。
内容可被包括在第一计算机可读数据文件中。设计说明书可被包括在第二计算机可读文件中。第一和第二计算机可读文件可被分开创建。
来自所述第二计算机可读文件的某些信息,如内容大纲,可以可用于第一计算机可读文件。这种信息可包括某些所限定的页元素的细节,所述元素可被指定给第一计算机可读文件中的某个内容。
在迭代布局过程开始之前,内容可被划分成页大小的部分。以这种方式,布局引擎能够一次布局单个页。划分成页大小的部分是在组成页单位的各个图形元素的大小的基础上进行的。在内容中标识的每个图形元素根据设计数据文件中的信息来格式化,并且根据该过程,每个图形元素,如边栏或插图的大小可被计算并且每个页视图的内容可被确定。
在第二广义形式中,本发明包括一种在用于打印或用于在线显示的页上布局元素的系统,包括处理装置,用于接收包括内容的第一数据集,并且根据在包括设计说明书的第二数据集中包括的规则或多个规则来布局第一数据集中的内容,其中所述处理器被设置成以与页几何结构的限定关系来产生所述内容的多个不同布局,并且根据在所述第二数据集中包括的评分方案对每个布局评分。
布局引擎可被配置成在单个计算机或服务器上运行。可替换地,为了增加效率并提供冗余,分布式处理系统可被使用,从而使特定作品的呈现的准备被分成若干过程,其可被执行于分布式处理环境中,如一个机器内的不同处理器,被执行于支持多任务环境的单个机器上的单个处理器上,或者被执行于包括不同机器的网络上。分割布局任务的便利方式是对内容进行预处理以创建若干较小的节,如部分、章节、页或元素,以及然后在分布式处理环境中有效地分配每个过程。
包括布局引擎的计算机系统亦可在物理上远离所述文件的创建者,所述布局引擎工作以组合内容数据集中的数据内容和在设计数据集中包含的说明书。以这种方式,容纳布局引擎的计算机系统可由发行创建内容和设计所需的软件包或多个软件包的出版商来操作,并且设置以接收所产生的数据集并且使用它们来产生所完成的作品。在一个实施例中,对布局引擎的访问可经由远程登录或网服务器界面来控制。优选地,第一和第二数据集可使用适当的数据网络来提交。示例的适当数据网络是互联网。适当的安全规定可被应用于任何数据传递以保护任何机密信息。
可替换地,有可能将作品准备中包含的所有三个软件过程(内容创建、设计创建和布局过程)集成为可在单个计算机上操作的单个软件包。以这种方式,内容创建者可创建待存储为第一数据集的内容。他或她亦可创建书籍或网设计,或者选择可用的几个预先定义的风格之一,并且将其存储为第二数据集。布局过程然后可在本地被执行,其中所得到的布局被显示在他或她的屏幕上而无需联系远程计算机。


为了较好地理解本发明并理解如何实现本发明,将参照附图仅为了示例来描述本发明,在附图中图1示出本发明一实施例的过程、输入和输出的总体流程图;图2示出边栏元素的样本设计;图3示出内容与设计组合的相同边栏;图4示出边栏元素的另外样本定义;图5示出内容与设计组合的相同边栏;图6示出包括图形内容的另外样本边栏;图7示出图6的边栏的不同特征如何相互关连;图8a示出被用于定义规则的样本计算机菜单;图8b示出可被用于选择和指定优先权给规则的简化的计算机菜单;图9a-h示出依照本发明一实施例的迭代布局过程中的各种迭代;图10a和10b示出特定表格风格的定义和从所述表格风格产生的样本表格;图11a-d示出不同表格风格定义和从所述表格风格产生的对应样本表格;图12a-c示出不同表格风格定义和从所述表格风格产生的对应样本表格;图13a和13b示出插图定义和将所述定义应用于内容的样本结果;图14是用于实施本发明的系统的实例的示意图;图15是用于实施本发明的系统的可替换实例的示意图;并且图16是图15的终端站之一的示意图。
具体实施例方式
现在将参照图1到13b来描述本发明,所述图在实施例中涉及一种布局用于包括在作品中的页元素以便于打印和/或电子出版的自动化方法。应理解本发明可以以许多不同形式来实施,而不应被理解成被局限于在此提出的实施例;相反,这些实施例被提供以使本公开内容将是彻底和完整的并且将把本发明全面传达给本领域的技术人员。事实上,本发明旨在覆盖这些实施例的可替换形式、修改和等效形式,其被包括在如所附权利要求所限定的本发明的精神和范围内。此外,在对本发明的以下详述中,众多特定的细节被提出是为了提供对本发明的彻底理解。然而,对本领域的普通技术人员将显然的是本发明可无需这些特定细节而被实施。
可使用硬件、软件或硬件和软件两者的组合来实现本发明。被用于本发明的软件被存储在一个或多个处理器可读存储介质上,包括硬盘驱动器、CD-ROM、DVD、光盘、软盘、磁带驱动器、RAM、ROM或其他适当的存储设备。在可替换的实施例中,所述软件的一些或全部可被替换成专用的硬件,包括定制集成电路、门阵列、FPGA、PLD和特定用途计算机。
图1示出本发明一实施例的配置的顶级视图,并且说明了系统的不同部分之间的数据流动。块100和120表示涉及使用软件应用程序的操作者的过程。块140表示自动执行的过程。块110和130表示中间数据输出,并且块150表示所完成的作品。
过程100涉及内容,或者将形成所完成作品的内容的原始信息的创建。这典型地由可能对于所完成的作品的最终布局一无所知的内容创建者来创建。中间输出110是包括原始文本和图形内容的一个或多个数据集,其可通过如XML所使用的某种置标(markup)或标签信息来部分补充。中间输出110可被存储在数据库中,从而使其能至少部分地被再使用于多个题目和多个设计,以便于打印和在线察看两者。
过程120涉及设计数据集的创建。这典型地由可能对所完成的作品的内容几乎不知道或一无所知的图形、文档或网设计者来创建。过程120的输出130是数据集,其限定其中将出现在所完成的作品中的某些元素如何相互关连。所述相互关系根据规则来限定,其以提供对每个规则对想要的布局的重要性的相对度量的一个或多个加权来补充。规则可以是预先配置的或用户定义的。过程100所创建的数据集可包括专门想要被包括在被定义于过程120中的设计的标签化,或者可包含通用标签化,其典型地遵循DTD或大纲,所述DTD或大纲描述文本的每个部分及其目的的DTD或大纲,如章节标题和章节数,体文本以及页元素,如边栏头部和边栏文本,插图和表格。设计数据集包括若干说明书,如,但不局限于显示区域或页的大小;限定相对于显示区域或页的元素的优选定位以及那些元素的相互关系的规则;排字说明书;颜色说明书和支持想要的布局所需的其他数据。
尽管内容创建者和创建元素的相互关系的设计的设计者可以是不同的人,应理解在可替换的实施例中内容创建者和设计者可以是相同的人。
过程140是接收内容数据集110和设计数据集130作为输入的自动化布局过程。如稍后较为全面的描述,所述自动化过程根据说明书,如在设计数据集130中定义的规则来布局在内容数据集110中定义的元素。所述布局被自动执行并且可包括迭代过程,其将包括在内容数据集110中的文本划分成页大小的或其他的节,并且以多个不同方式布局在那个页或节上的每个元素,所述方式的每个都具有与其他的略为不同的设置,然后根据在设计数据集130中定义的规则和加权对每个设置评估或“评分”。
最终输出150是包括所完成的作品的数据集,根据适当情况,其处于适合于打印或显示或者上载到适当的万维网服务器的格式。另外,如果几个可替换的布局具有相同或类似的页得分,或者布局需要人工干预以解决作品元素之间的另外冲突要求,可以为人工干预提供机会。
当设计者创建设计数据集130时,设计者使用定制软件应用程序或如桌面出版系统的另一个应用程序内的嵌入式应用程序。我们将把这两者都称为设计者应用程序。图形设计者使用设计者应用程序来创建设计数据集130。设计者应用程序与当前的桌面出版(DTP)和网页设计应用程序的类似之处在于它允许设计者使用工具来创建不同的元素并将它们放置在页上的所需位置。以这种方式可创建的元素类型包括但不局限于填充有固定文本的框架,随后可从数据集110中提取的自动化文本框架(或占位符),固定的图像框架,自动化图像框架(或占位符),背景元素,如水印和阴影,框,线,字段,其可表示交叉参考点或重复信息,如文档参考号或章节题目,以及典型地可形成书籍、杂志或其他打印或在线作品的所有其他元素。
允许设计者这种灵活性的设计者应用程序的特征之一是创建我们将称为自动化框架的东西的能力。以与使用当前DTP或网页设计系统创建框架的方式类似的方式,自动化框架是使用鼠标或光标控制而绘出在设计者应用程序内的。然而,自动化框架在许多关键方面与公知的框架不同。自动化框架被配置成引用特定的段落风格或特定的结构标签。段落风格由内容创建者或者在一些情况下由工作流程或自动化过程中的另一个参与者引用到附着于内容110的文本的标签。
当设计数据集130在内容数据集110之前被创建时,可以有由箭头链接块100和120所示的从设计者应用程序到内容创建应用程序的信息流动。在它们之间传递的信息可包括所限定段落风格和页视图元素格式如段落的细节,或者需要被包括在特定元素,如边栏、表格或插图中的其他信息。以这种方式,内容创建者或内容数据集110的编辑者能够指示文本中的某些段落要以特定方式处理。然而,他或她不需要知道所完成的作品的总体风格,例如仅仅是他或她希望文本的某个块被放置在边栏。在设计数据集不在内容数据集之前创建的情况下,内容创建者可利用DTD或大纲来提供涉及其内容的结构信息。我们将这称为上游结构流动。内容不需要使用该过程来创建,但它提供了本发明特有的某些好处。
在存在上游结构流动的情况下,内容数据集创建过程100可由内容创建者使用内容创建应用程序来实施。内容创建应用程序的实例是字处理软件。用于该目的的典型应用程序包括Microsoft Word、Word Perfect、XML编辑器或HTML编辑器。亦可使用能够输出具有本发明所需的结构标签化的内容的任何其他数据处理应用程序来创建内容,例如图形准备应用程序,如Adobe Photoshop或Adobe Illustrator。内容数据集亦可通过对数据库中存储的或诸如PDF文档的其他文件中嵌入的内容数据的一个或多个引用而得到。
内容创建应用程序被提供有附加的软件功能性,其允许内容创建者将结构标签人工地应用于内容,或者内容创建应用程序将结构标签自动地应用于内容。我们将组合有附加软件功能性的内容创建应用程序称为内容创建系统。它通常将不允许内容创建者规定有关任何页元素的实际位置的细节,但将允许他或她将某些有区别的特性指定给某些元素。例如,在字处理应用程序的情况下,如果内容创建者希望突出想要被放置在边栏中,即与主文本流动分开并且通常带框或其他的区别的文本段落,则他或她可能能够通过使用鼠标或键盘来选择讨论中的文本并且选择适当的菜单选项以标签化讨论中的文本。内容创建者可用的选项由大纲来确定,该大纲从段落风格、页元素和使用设计者应用程序过程120定义且传送给内容创建系统过程100的其他说明书得到。
例如,在字处理应用程序的情况下,当准备内容时,内容创建者可以创建有标题的短段落,他或她旨在使它被展示在边栏中以使它不干扰作品的主文本。他或她能够选择段落标题,并且根据菜单将其标签化为例如“sbHead”,指示它要被当作边栏头部并且被相应地定位和格式化。他或她也能够选择段落文本,并且将其标签化为例如“sbText”。(标签“sbHead”和“sbText”可由设计者应用程序的操作者任意命名。它们亦可从导入到设计者和内容创建应用程序中的DTD或大纲来映射。)在许多实例中,内容创建系统能够将适当的标签化自动应用于内容而无需用户干预。
讨论中的文本可以以保持在正常情况下对内容创建者不可见的方式来标签化,除非如果他或她选择检查特定文本项的特性,或者文本可以以与众不同的方式来显示,可能以粗体来显示,被下划线,或者以不同的颜色被示出。当然,这些的任何组合可被使用。
内容的标签化可使用置标语言,如HTML或XML来实现,或者机器可读标记系统可被使用。在任何情况下,内容创建者能够明确而简单地描绘内容中的某些元素。
一旦内容创建者已完成他或她的作品,并且如果需要将其标签化,他或她可将所完成的内容数据集转发给作品的出版者,或者直接转发给出版引擎140。
对块100的引用可表示过程100或内容创建系统。对块120的引用可表示过程120或设计者应用程序。对块140的引用可表示布局过程140或出版引擎应用程序。
图2到6示出公知为边栏的一个页元素,以及用于设置边栏的模板的实例。边栏常常被包括在书籍和其他出版物中,并且通常提供对主题、感兴趣的事实、说明性图形或涉及主或体文本的其他文本的短总结。
图2示出如何定义边栏元素200。边栏由两个框架组成(在本发明中被用于导入源内容的框架被称为“自动化框架”,自动化框架可包括预定和导入的源内容的组合)第一框架210,包括头部文本或题目,以及第二框架230,包括边栏文本。在创建自动化框架时,设计者使用设计者应用程序来创建每个类型的元素。由于所完成的作品的页上的最终大小和绝对位置是未知的,在该实例中自动化框架210和230仅有的有意义的尺度是其宽度,其被设置成由内容创建者在内容创建过程100中限定的宽度。在其他实例中,所述宽度可由布局引擎来改变。在该实例中,框架的高度既由它们必须包含的文本量(如内容创建者在过程100所确定的)来确定又由设计者为该文本指定的格式化特性来确定。另外,所述框架的高度可被固定,其中任何超排(overset)的文本被强制流到其他框架中。
自动化框架的格式化,即非位置特征,由设计者来限定。在图2所示的实例中,自动化框架210包括用于边栏头部220的标签,并且尽管在该实例中不可见,设计者已指定了标签的格式化特性。这被格式化以使文本被保持对齐并且以粗体12pt Times Roman字体出现。自动化框架230包括边栏文本240,并且这被格式化以使文本被保持对齐并且以10pt Arial字体出现。这些特性仅仅是为了举例,并且不同和/或其他特性可由设计者在他或她创建它们时添加给每个自动化框架。被应用于框架或标签的其他典型特性可以是文本颜色、背景阴影、边界风格和颜色。
图3示出当根据设计数据集130中的说明书被格式化时,边栏如何在所完成的作品150中出现的实例。标题被示出在与文本分开的框中,且被以如在图2中示出的模板中指定的粗体字体被呈现。文本源自内容文档110,其中段落已被链接到名为“[sbHead]”和“[sbText]”的标签或风格。
自动化框架的另一个特征是其引用专门字段的能力,例如允许它们被用于插入增量计数器,为了交叉引用的目的来自书中的其他地方的另一个部分的文本,章节和题目号,目录号,从数据库引用的信息,或者以机器可读形式可用的其他信息或数据。设计者能够确切指定什么信息可被插入,并且它将源自何处。
自动化框架的另一个特征是其从内容提取多个所涉及的段落的能力。例如,“sbText”标签或风格引用可借助“Repeat”函数被放置在自动化框架中。出版引擎140使用该选项来触发一行为,其中从已被指定“sbText”风格或标签的第一“sbText”段落按序跟随的所有另外的段落将被结合到当前元素中。这允许具有未知数目的段落的元素被结合到最终元素显示格式中。在元素所需的内容标签在设计数据集被创建时未知的情况下,通配符标签可被用于代替任何其他标签化,从而允许文档设计者创建一般元素设计,布局引擎可通过将被用于设置完整页的相同技术应用于单个元素内的所有子元素来适配所述一般元素设计。这部分地突出了布局引擎的递归性(recursive nature)。它可被应用于整个作品,应用于一节内的一系列页,应用于单个页,以及应用于所述单个页的节。
图4示出如何在设计者应用程序中创建边栏模板,其包括头部和文本的先前描述的元素,其中“sbText”结合了以上所述的“repeat”选项。它亦包括新的部分“Sidebar”,其仅仅是读出“Sidebar”的纯文本,以及{Ch#}和{Sb#},其是自动增量的字段,分别插入当前章节号和该章节内的边栏号。
图4进一步说明了所述模板内的边栏或其他元素的说明书如何提供在使用本发明创建的模板中所固有的DTD或大纲的初始形式。由过程120创建的设计数据集包括得到适当DTD或大纲所需的所有信息,所述DTD或大纲然后可被应用于内容数据集并且然后被提供给格式化引擎以使它可通过设计来表达内容。DTD或大纲是通过剖析每个元素的内容并且得到其中的段落风格标记符/标签和字段的序列来从文件中提取。在本发明中,多个文本框架可出现在多个元素定义中,其中每个都包含多个段落标记符/标签和字段。为一致地得到DTD或大纲,本发明使用以下所述的扫描途径,从而使每个元素定义页内的每个框架的坐标被比较。所述框架被排序以使它们配合当前语言的读出的自然顺序,并且框架的内容然后以自然顺序被剖析以得到DTD或大纲。
例如,在英语-语言模板(或被创建用于左到右、上到下读出系统的任何模板)中,每个框架都根据其坐标依次被引用,从页左上角中的那些开始并且以页右下角的那些结束。当两个框架具有相等的上坐标时,所述框架以从左到右的顺序被优先化(prioritise)。当两个框架具有相等的左坐标时,所述框架以从上到下的顺序被优先化。符号顺序内的每个框架的内容然后被剖析以得到用于完整元素定义的DTD或大纲。被创建用于右到左读出系统的模板相反将使用右到左扫描。来自页上的每个框架的段落标记符和字段根据其优先权被添加给DTD或大纲。诸如被用于插入图像到元素中的那些的框架亦被包括在DTD或大纲中。在大多数实例中,这足以生成可被用于标签化或将结构应用于内容的DTD或大纲。当内容数据集被引擎处理时,内容然后可被匹配于模板设计。可以存在设计者希望改变用于元素或整个文档的DTD或大纲内的元素顺序的时候。一种设施被提供有用户界面,其允许用户容易地改变DTD或大纲内元素或子元素的顺序。
可以存在被用于指定内容数据集的DTD或大纲与被选择用于对输出进行格式化的所选模板基本上不兼容的场合。在该实例中,变换应用程序被提供在系统内,从而使来自一个DTD或大纲的元素和子元素可被匹配于另一个DTD或大纲的元素或子元素,由此允许在布局过程之前内容被适当地重构。在变换应用程序内,用户可选择重排元素内的内容,删除存储在不兼容或设计不需要的元素中的内容,否则提供自动调节给经变换的文件。
在元素所需的内容的特定特性在创建设计模板时未知的情况下,通配符标签的添加提供了指定要求以包括元素内的内容但无需限制该元素的结构(如所使用的段落风格)的方式。例如,当设计者创建用于典型地可被用于组合了段落风格的未知组合的冗长主题的边栏的设计时,它们可指定元素内通配符标签的包括。在遇到通配符标签时,内容创建系统挂起到内容的结构应用程序以允许包括多个段落风格或标签的任何内容从那时被包括,直到用户指示他们已完成该过程。此时,内容创建系统恢复其对内容结构的自动或人工标签化。
图5示出根据图4的模板格式化的边栏在其是所完成的作品150的第二章中的第三边栏的情况下看起来什么样的实例。
图6示出边栏的另一个实例。图6中示出的边栏400包括框架410,其具有处于偏差形式的下降影子(dropped shadow),局部有阴影的框架420。在框架410内是题目430,其提供有关边栏主题的一些信息。题目430通过水平线条440与边栏的主体分开。在水平线条440之下是边栏400的主体。在此情况下,主体由图形图像450组成,尽管可替换地,它可以是文本段(text passage)、方程、图表或任何其他项目。
在现有技术布局系统和方法中,以上描述的各个元素通常将被人工创建和放置,从而导致耗时和强劳动的过程。然而,本发明的实施例允许诸如针对图2到6讨论的边栏的页元素根据预定义规则来自动创建。
图7示出添加了便于布局过程自动化的几个结构元素的图6的边栏。该边栏的各个成分以限定的空间关系被结构化,从而使任何一个成分的位置依赖于至少一个其他成分的位置。我们将把这些框架称为可变几何结构的衍生框架。
在图7的实例中,要被包括在经格式化的边栏中的第一元素是题目文本430周围的边界435。边界限定题目文本430的尺寸和位置,并且是用于它的占位符。
将框架410的题目文本430与主内容450分开的水平线条440被定义为连接在图7中示出为菱形的点442和444的线。点442和444的垂直位置根据边界435的下边缘的垂直位置来限定。实际上,线440的垂直位置被限定为等于边界435的下边缘的垂直位置,而具有0mm的偏差。以这种方式,在经格式化的输出中,线440将确切地位于边界435的下边缘。当然,所述偏差可被设置成任何正或负值以实现不同效果。最终结果是如果边界435的下边缘被移动,则线440将以对应的方式移动。
以类似方式,包围形成框架410主内容的图形图像450的边界455的上边缘根据与水平划线440具有0mm偏差来限定。以这种方式,题目文本430的任何移动将导致由于先前限定的空间关系而造成的线440移动,以及由于其对线440的类似依赖性而造成的图像450移动。边界455的下边缘根据图像450的大小来限定。如果图像为另一个而被改变,或者被重定尺寸,则在必要时下边界被自动调节。
框架410的位置取决于边界455的下边缘。在本实例中,位置以0mm偏差被限定,尽管其可被更改以在图形图像450周围留下较大的边距。
最后,被限定用于边栏400的最后空间关系指定影子框架420的位置。不象到此为止限定的其他关系,影子框架420根据框架410的下边缘的位置加上某个距离,例如6mm的偏差来限定。另一个偏差相对于框架410的最右边缘而被限定,从而给出影子框架420的特征偏差外观。
在边栏400中限定的可变几何结构的衍生框架和线的各种空间依赖性在图7中由双线箭头示出。
所述依赖性的效果是如果任何单个成分的位置偏移,则直接或间接地依赖于所改变的位置的任何成分的位置亦根据限定的关系自动改变。尽管未示出,空间依赖性亦可被限定成应用于水平方向上的水平以使来自一个框架的宽度或左/右位置以可使高度和垂直位置依赖的相同方式变成另一个的基础。通过使用该方法,元素的设计可被自动调节以适合于内容。在许多不同设计被提供用于相同元素的情况下,当指定参数被超过,如相关元素设计之一内的框架高度超过某个限制时,进一步有可能触发从该元素的一个设计到另一个的自动前进。这将允许内容根据可替换的元素设计而被格式化。例如,如果文本使框架超出某个范围,如例如页的主要文本框架的垂直高度,则在第一实例中通常将占据跨二列页设计的仅一个列的元素的文本可被重定目标于利用二列设计的元素。
自动化框架的另一个特征是其跨页在水平方向上并且沿页在垂直方向上重复其本身以便于限定和再现表格的能力。设置有水平和垂直重复的选项的单个框架可用作包括多列和行的表格的基础。这可在图10a中看出,该图示出如何限定这样的框架。图10a示出如设计者应用程序120的用户看到的屏幕上的显示。在标有“Repeat Horiz”和“Repeat Vert”的框中示出的复选标记指示对应的框架要被重复,这是由于由内容创建者提供了用于它们的更多信息。重复数由通过内容创建系统100提交的内容中的行和列数驱动。在附加的有关数据通过出版引擎140处理时,对下部右手单元的格式化-黑背景上的白文本-被重复。
图10b示出在图10a所示的表格定义的基础上如其将出现在所完成的作品150中的样本表格的视图。对被定义于设计者应用程序120内的单元的重复能力由内容创建系统100重新解释以针对适当的行和列数而提示内容创建者。通过在单个表格定义内组合重复单元和非重复单元,有可能以格式化选项的任何组合来创建任何表格格式,从简单的透明阴影(clearshading)到复杂的交替垂直和水平图案。这使得在内容中行或列的实际范围已知之前,表格的外观能够被定义到某个程度。
设计者应用程序120可提供重复行和/或列的其他配置,如图11a所示。在图11a中,表格可被限定具有交替的阴影图案。在数据被添加到表格时,图11a中所示的表格定义强制两个最右的列重复。
使用图11a的定义产生的表格在图11b中示出,其中在图11a中定义的交替明和暗阴影可被清楚地看到。作为进一步的替换,这个类型的行为可以在水平和垂直方向被同时创建以产生棋盘效果。图11c示出其中明和暗阴影在水平和垂直方向交替的表格定义。图11d示出由这样的定义得到的样本表格。
在图11a到11d的所有实例中,内容创建者在另外的行或列中添加更多的数据可导致在设计数据文件130中的表格定义中定义的格式信息的自动应用被应用于那些另外的行和列。
用户亦可提供在空间上引用另一个成分的设计成分的重复性行为。例如,背景影子框架的边界可被链接到表格内重复单元的边界。图12a示出了用户如何定义一表格以包括每个都具有下降影子的若干单元。图形用户界面上的菜单可被提供以允许用户选择仅在第一单元之后的影子。当可读出例如“在第一例子上”的菜单选项被选择时,在图12a中示出的单元中的影子将仅出现在第一单元之后,而不管组成表格的单元数。可替换地,如果重复性行为被设置成重复表格单元的“在每个例子上”,原始影子的拷贝将被放置在组成表格的每个单元之后,如在图12b的样本表格中所示。作为另外的替换,如果背景影子被设置成“跨接(span)”,则仅当最后的单元已被放置在表格时该影子将被绘出,并且将从表格单元的原始例子延伸到表格单元的最后例子。从该元素定义得到的表格的类型在图12c中示出,其中背景影子是邻接的并且跨接组成表格的所有单元。
某些字段,如较早时在讨论“自动化框架”和“增量计数器”中所描述的,可被链接到重复框架以实现特定的结果,如增量计数器。例如,包含增量计数器的框架可被链接到表格单元并被设置成在每次该表格单元出现在当前表格中时重复。以这种方式,行计数器可出现在表格外,从而在每次创建表格内的新行时自动复制和增量其本身。
该表格定义过程的特定应用可被应用于插图及其关联的标注(callout)。标注常常被用于突出插图的特定特征,并且通常与该插图的说明分开表示。图13a示出用作用于其左边图像框架的标注信息的接收者的单列表格的定义。标注框架被定义为一表格单元,其具有垂直重复特性和适当偏差,从而使其沿该页逐步向下。标注信息可具有被链接于其的关联增量计数器字段。在诸如“在每个上重复”特性的选项被打开的情况下,该计数器(在图13a中示出为“1”)具有对表格单元的限定空间关系。这导致在被包含于内容数据集中的标注被处理时出版引擎140将计数器的拷贝复制在每个表格单元的旁边。图13b示出样本结果,其中在图中在左边编号为1到4的特定元素根据前后关系被相关于表格中右边的对应数字。表格中的数字由计数器的每个例子产生,所述每个例子又通过对包括在内容中的标注的例子的处理而被包括。在另外的实例中,随着图中更多的标注被添加和引用,标注表格中的对应编号条目将被创建。该方法允许当那些附加格式化元素的包括未在内容中直接指定时,表格外部的格式化元素的包括被自动包括。图13b示出标注数字如何通过它们与重复单元的关联而添加给每个标注。插入标注数字的该要求不被暴露于内容创建者,因为其通过引擎响应于设计而处理。
包括了以上,设计者应用程序可被用于定义一系列规则,其然后由出版引擎140用于产生最终作品150。图8a-b示出来自设计者应用程序的样本弹出菜单,其可被用于限定用于将在最终作品上出现的每个元素的位置规则。当他或她选择选项以把规则指定给所限定的元素,如边栏或图表时,菜单被呈现给设计者。
如图8a中所示,样本规则可以是“对象被调整到页底部了吗?”。该特定特性对于某些页元素可以是理想的。图8a中所示的样本规则具有与之关联的四个数值数量。被标记为“最大容许间距”的第一个指示当关联页元素处于最可能位置的5mm的“最大距离”-示出为第三数量-内时,即当它是针对页底部的绝对水平时,所述规则将评分(最大100中的)30点。第二数量-“每mm扣除的点”-指示对于元素远离理想方位而定位的的每mm,将从得分扣除3点。第四选项指示一旦元素与理想方位距离是10mm,则点将不再被扣除。数值数量可针对被构建到系统中的规则而被隐藏于用户,或者被表达为用户定义的规则的部分。图8a中所示的规则和界面仅示出可被用在该系统内的一些规则。图8b示出另一个实施例,由此界面为末端用户而被简化到这种程度以致它们被局限于选择可被应用于元素位置要求的每个规则的优先权,所显示的优先权是“忽略”、“可以”、“应当”和“必须”。如在图8a中所示的那些的其他参数可被在程序上限定但不被暴露给用户。
界面亦被提供以允许终端用户将其自己的规则添加给系统。规则亦可控制布局的排字方面,如在一个实例中指定“应当从不存在每个都以连字号结束的3或更多行的序列”。程序和/或图形界面两者均可被提供给用户。程序界面允许用户使用可与出版系统接口的编程系统来定义规则。图形界面允许在不需要实际编程的情况下对规则的详细说明。
规则与风格定义一起被存储在设计数据集130中,并且可被与一个范围的不同源内容110一起使用。这允许一个设计数据集130可被使用在形成一致系列的任何数量的作品的出版引擎140中。例如,由单个学术教科书出版者产生的一系列书籍可全部使用系统的设计数据集130来产生,从而导致遵循单个风格的整个系列的作品,而无需每次都人工准备作品。
可根据需要来定义其他规则。例如,规则可被定义成检查元素是否处于与其锚(anchor)相同的页上,所述锚是在内容数据中实施的基准点,如果它是,则授予50点,而如果它不是,则为0点。该规则示出了简单的二元规则,如果条件满足,则它评分为最大的点,而如果不是则是0点。在该例子中,不需要附加的参数。这与针对图8a描述的较早规则形成对比,其考虑到加权和与理想位置的某个偏离,但减小了对较大偏离的布局的得分。
产生过程中的最终步骤是由出版引擎140执行的布局操作。到该自动化过程的输入是内容数据集110和设计数据集130。
布局过程140中的第一步骤包含从内容数据集110中提取标签化的文本,并且根据包含在设计数据集130中的风格信息将其格式化。该格式化仅扩展到字体、字符大小和插图、图表、边栏等的插入。例如,边栏是通过提取标签化的文本并根据设计数据集内的定义将该文本格式化来创建。以这种方式,边栏的总尺寸基于要被包括的文本量和在设计数据集内固定的宽度来确定。
在所有文本和其他素材已被提取和格式化以使它可被定尺寸之后,在要产生作品的一个实例中,接下来的步骤是将所有素材划分成页大小的节。在以下,页将被看作仅仅是显示空间的一个实例。页尺寸和其他格式化信息被指定于设计数据集130中。通过使用迭代过程,根据哪些元素存在于可在要被包含在每个页内的第一例子中看到的内容中,出版引擎140生成多个不同的布局。如果特定的页仅由体文本组成,则通常仅有一个可能的格式,这是因为体文本简单地填充可用的空间。然而,如果页具有非体文本的任何内容,如可适合于页上的若干不同位置的元素,则布局引擎为每个可能的布局迭代地把页元素设置在该页上的不同位置中,根据被应用于每个元素的规则对每个布局评分,并且选择使用最终布局中的最高评分的设置。
迭代过程在图9a-h中被示出。最终打印页的修整后尺寸由框350表示。可用于体文本的布局的页区域由框330表示。框330和框350之间的区域通常被保留用于边距、头部、脚部或页编号,并且没有内容文件的内容最初被包括在那里。一旦元素已从文本中被提取,可根据框330内或外部的设计说明书来定位它。该特定页包括图形300、边栏310和框架化文本320的项目,以及可被设置成填充框330中的剩余空间的体文本(未示出)。虚水平线指示在可能布局的每个迭代期间各种页元素的位置可被改变的最小增量340。增量340的尺度在图中被夸大,并且可在实际中被设置成近似1mm。在可替换的实施例中,所述增量可小于或大于1mm。
图9a示出在整个内容数据集已被定尺寸之后页上的元素的初始布局。在图9a中,布局通过以下来确定设置每个元素以使没有元素重叠另一个元素并且每个元素被垂直隔开以维持被用于增量每个迭代布局的度量。可替换地,在一些例子中初始布局可被使用以使每个元素重叠在可用的第一位置中,这可改善所得到的设计。在元素300、310和320之间以及周围分布着已在该页上被定位的体文本(未示出)。布局过程140评价与页上的每个元素关联的规则,包括与体文本关联的任何一个,并且存储用于所述页布局的结果。
接下来的步骤包含将各种页元素重新设置到随后的迭代位置中,同时保持出现在页上的相同大体顺序。图9b示出要被评价的接下来的布局包含框架化文本320沿页被下移一个增量,而其他元素如它们在图9a中那样保持。该新布局根据与以前相同的规则来评价并且新结果被存储用于该布局。
继续该例子,每次将元素320向下移动一个增量的过程被重复,并且每次都根据所应用的规则对结果布局的评分被评价,并且结果被存储,直到元素320达到如与该元素关联的规则所确定的它在页上可占据的最低点,如图9c中所示。此时,在存储该页的得分之后,元素310现在被沿页下移一个增量,并且元素320沿该页上移回来以正好被定位在元素310以下。这在图9d中被示出。同样,根据规则对该页评分,并且每次沿该页向下移位元素320一个增量并且评分和存储每个布局的过程继续,直到根据与该元素关联的规则,元素320再次到达页上的最低可能位置,如图9e中所示。
图9f示出紧接着在图9e中所示的步骤之后的接下来的步骤。元素310下移动又一个增量,并且元素320移动到刚好在元素310以下。整个评分、存储和移位过程继续,直到根据与这些元素关联的规则,元素310和320两者在页上均被定位得它们所可能低到的程度。此时,元素300被向下移位一个增量,如图9g中所示,并且整个过程重复。
用于该特定页的迭代过程的最终步骤在图9h中被示出,其中根据与这些元素关联的规则,所有三个元素300、310和320被沿页向下定位到它们所可能低到的程度。用于该页的最终得分然后被存储。
已被存储用于通过该过程产生的页布局的所有得分被存储。布局过程被配置成仔细搜寻所有所存储的得分,其可以有几百万或更多的,并且根据在设计数据集130中定义的规则,确定哪个布局产生最高得分,且具有最高得分的布局由此被认为是最适合的布局。最高评分的布局由此被选择为用于该页的布局。页根据所选布局被配置并且被拷贝到主控文档用于来自该过程的最终输出。布局过程然后继续前进到接下来的页上,并且针对新页迭代过程再次开始。整个迭代过程针对作品中的每页被重复并且在页包含多于一列或者比一组元素设计多的列的情况下可包含多组迭代。
布局系统可进一步使用递归过程以控制布局的范围,即所完成的作品所需的页或屏数。在一个实例中,元素的放置可与字和字母间隔的调节组合以强制内容适合于有限的空间内。在存在空间约束的情况下,该过程通过首先布局页并且测量相对于限定约束而计算的页的任何过载(overrun)或欠载(underrun)来进行。例如,可以存在将内容适合到三页中的约束,但在第一布局中结果达到四页。在该例子中,出版引擎140可将文档和主要内容中的大多数元素减小近似25%。设计者可能已经将约束应用于某些元素和对象以提供参数限制给所述对象的空间的容许减小或挤压量。出版引擎140然后可通过首先提供对文档内的字和字母间隔的达25%的压缩来继续调节现有布局。这可导致元素的重新设置和它们在页上的重新定位。页范围再一次可被测量并且任何过载或欠载可被计算。如果需要,该过程可被重复直到符合所需范围或者引擎达到另一个限制。一旦符合了空间约束,用于定位页上的元素的以上递归过程可针对每个页而被执行,如以上针对图9a-9h所述。
有可能借助所述引擎来使用递归以将布局和内容配合技术应用于出版物的所有方面,如,但不局限于·行中的字数,·段落中的行数,·页上的段落数,·文档中的页数,以及·由多个较短文档构成的复合文档中的页数。
在与出版引擎140可调节页上的元素布局相同的意义上,出版引擎140亦可最优化较大元素内的子元素或嵌套元素的布局,并且将相同的递归范围适合应用于那些元素。因此,对包含较小嵌套元素的大元素的半页约束将使出版引擎140根据布局规则来尝试各种布局并且尝试文本和图形的重定尺寸操作,直到空间被填充而没有超排或显著的欠排。
在以上所述的实施例中,如由最小放置距离340限定的每个可能放置相对于规则而被评价。这可导致在特定布局被选择之前所需要的巨大数量的计算。依赖于可用的计算设施,上述实施例提供了穷尽过程以确定用于给定页的最优布局。然而,实际上使用这种方案创建的大多数可能布局将得分很低并且因此被拒绝。
在实际中,产生最佳得分的布局是页元素被最接近得定位于如在关联规则中所限定的最优位置的那些。因此在另一个实施例中,与先前描述的过程相比,迭代布局过程在某种程度上是受约束的。作为受约束过程的一个实例,考虑包括六个有区别的页元素,A、B、C、D、E和F的页。在该实例中,总共有可被用于限定每个元素的位置的四个可能规则。所述规则是1.设置元素紧邻于元素基准锚2.设置元素于页顶部3.设置元素于页底部
4.保持元素在与元素基准锚相同或稍后的页上。
这些规则是说明性的实例,并且其他规则可被定义。所述规则的每个都与如先前所述的评分方法学关联以使与规则的完全顺应将产生比仅部分顺应更好的得分。
为了限制所执行的迭代数,用于六个页元素的可能位置由四个不同规则来限定。以这种方式,第一迭代尝试根据第一规则来放置所有六个元素。在大多数情况下,将不可能将所有元素放置在由单个规则规定的位置中,因此某些元素将得分好,而其他的将得分差。
第二迭代尝试根据第一规则来放置前五个元素,并且根据第二规则来放置第六元素。同样,该根据被评分并且被存储。第三迭代尝试根据第一规则来放置前五个元素,并且根据第三规则来放置第六元素。由于相对于体文本的所放置元素的影响,元素锚的位置可在布局过程中移动。每次将元素放置在页上时,最晚的位置信息和布局对体文本流动具有的影响被布局引擎利用。这允许在页被组成时布局规则适于页组成的最晚例子。在一些例子中,由于其原始包括不再有效,最初被包括在潜在布局中的元素可被所述引擎从页设计中取出(drop from)。一旦布局已针对每个有效元素而完成,则布局被评分并被存储。
以下的表格示出在该特定实例中尝试的可能布局。迭代被示出在左手列中,而被应用于每个页元素的规则被示出在表格的主体中。因此迭代1示出六个元素A-F的每个按照规则1来放置。在每个新迭代时,一个或多个页元素根据新规则来重新定位,直到当所有元素已按照规则的每个可能组合被放置时达到最终迭代。


在具有m个元素和n个可能规则的页中,于是存在要被尝试、评分和存储的nm个可能组合。在具有六个页元素和四个规则的本实例中,于是存在要尝试的46或4096个组合。尽管它需要大数量的迭代,可能布局的这个数量仍显著低于使用先前实施例所需的数量,其可导致几百万个可能布局。
一旦每个迭代已被进行,布局软件能够选择最高评分的布局。可替换地,对最高评分布局或预定最小值以上的评分的选择可被选择以允许用户选择哪个布局被用在最终的文档中。
具有与上述方法有特定相关性的附加规则可被定义。该规则强制特定页上的所有元素被保持处于它们出现于内容数据文件110中的相同顺序。以这种方式,如果所得到的布局破坏了那个特定规则,则大数量的可能迭代可被容易地被舍弃。使用该规则的一实例是在标题和子标题的情况下,其中子标题必须跟随标题。在该例子中,在标题之前放置子标题的任何布局可被评分为零,并且被舍弃而无需进一步的评价。
在创建所完成的作品150之前,需要后产生(post-productin)过程。该过程执行直到主布局被完成之前不能被完成的格式化,并且包括添加页编号、页头书名、交叉参考和内容表创建。例如,内容表的创建需要每个页被格式化和编号。由于例如内容表框架和主文本之间的冲突,后产生可反过来不利地影响页的布局,并因此可再一次触发页的随后完整布局以解决该冲突。在其他实例中,可使用相同的递归方法学来进行布局过程以允许布局引擎在包括必须适合于限定元素内的页上的子元素的布局成分的动态范畴内解决冲突,直到确保符合了包括多节或章节的文档的页范围。
布局过程旨在在很大尺度上不需用户干预,并且首要地在被定义于设计数据集130内的规则的基础上执行布局任务。然而,可以存在需要人的干预的场合。例如,用于特定页的两个或更多布局可产生相等或类似的得分,这可能需要操作人员选择仅一个选项。与此同时,用户具有完全的自由度以在完成过程150之后改变布局。
出版引擎140亦可被配置成以与用户交互的方式来操作以使人工布局过程的许多方面自动化。
在本发明的实施例中,出版引擎140可与内容创建系统100和设计者120应用程序远距离的被操作。以这种方式,设计者和内容创建者可彼此独立地执行其工作,并且例如经由互联网来向出版社提交其各自的文件,所述出版社容纳执行布局过程140的计算机。布局过程然后可在两个提交文件的基础上被完成,并且一旦完成了过程140,所完成的作品150的拷贝可被自动提供给内容创建者和/或设计者。
在许多情况下,设计数据集在所完成的作品的内容之前是可用的。在此情况下,内容创建者可选择察看章节或整个作品的预览。为此,他或她可从内容创建系统的菜单中选择适当的选项,其经由适当的数据链路,如互联网,将当前章节或作品连同对可以已被存储于出版者的关联设计数据集的引用一起发送给出版引擎140。布局过程然后能够根据现有设计数据集来布局所提交的内容。作品然后以诸如PDF的用于显示的适当格式被送回给内容创建者。
在特定设计数据集不可用的情况下,内容创建者可选择可被出版者使得可用的若干预定义设计数据集之一。事实上在许多情况下,这些预定义设计数据集之一可适合于所完成的作品,特别是较不复杂的作品。
在可替换的实施例中,应理解所有三个过程,内容创建过程100、设计过程120和布局过程140,可在单个场所并由单个人来进行。在这样的实施例中,内容创建过程100和设计过程120可被组合成单个过程。
因此本领域的技术人员将理解,可使用各种各样的系统来执行以上概述的过程的方面。在其最基本的形式中,这可通过使用处理系统来实现,所述处理系统适于使用内容数据文件110和设计数据文件130产生最终输出150。依赖于如以上所述的实施,这可被人工或自动地执行。
适当的处理系统的实例在图14中被示出。
具体而言,处理系统10大体包括至少处理器20,存储器21,输入/输出(I/O)设备22,如键盘和显示器,以及外部接口23,如所示,其经由总线24耦合在一起。
处理系统可适于诸如经由外部接口从外部源接收内容和设计数据文件110、130,或者可适于允许内容和设计数据文件根据一个或多个用户经由输入设备22的人工输入而被限定。其所实现的方式将取决于相应实施的特性。
在任何情况下,一旦内容和设计数据文件110、130已被接收,处理系统适于执行存储在存储器21中的适当应用软件以允许以上详细描述的过程被执行,从而允许创建最终输出150。
这样,在一个实例中,处理器20将从内容数据文件中提取内容,然后根据设计数据来确定内容所呈现的空间。然后在根据在设计数据集130中所定义的规则和加权来对每个设置“评分”之前,处理器20将根据在设计数据中定义的规则将内容设置在所确定的显示空间中,如以上所述。
该过程借助处理器20来重复,其工作以通过改变显示空间内的一个或多个内容对象的位置来选择性地修改布局。经修订的布局然后被评分。
基于先前变化对得分的影响,处理器20使用布局的得分来确定进一步的变化。其根据所需的频率被迭代地重复。这样,在一个实例中,这被重复直到获得预定得分,或者直到没有进一步的改善被获得。
在该阶段,通过使布局呈现在显示器22上,对布局的人工审阅可由用户来进行。在此情况下,具有适当得分的若干布局可被提供以允许用户选择优选的布局。可替换地,对优选布局的选择可单独基于得分被自动化。
在任何情况下,一旦获得优选布局,则处理器使用它来生成最终输出150,其然后根据需要被存储在存储器21中或经由外部接口23而输出。这样,在该例子中,处理系统10实施出版引擎140,并且亦可用作内容创建系统100和设计者应用程序120。
因此,应当理解,处理系统可以是被适当地编程以进行分析的任何形式的处理系统,如将在以下较为详细的描述。因此处理系统可以是适当编程的计算机、笔记本电脑、手掌型计算机等。可替换地,专用硬件等可被使用。
然而,可替换的体系结构,如分布式体系结构等,亦可被实施。
其实例如图15中所示,其中处理系统10被耦合到在基站1处提供的数据库11。经由通信网络2,如互联网,或经由通信网络4,如局域网(LAN)4,基站1被耦合到若干终端站3。这样,将理解LAN 4可在提供内容创建和/或设计服务的公司或其他组织处形成内部网络。
因此,在使用中,终端站3必须适于与定位在基站1处的处理系统10通信。将理解,这允许若干不同形式的终端站3可被使用。
适当终端站的实例在图16中示出。如所示,终端站3包括处理器30,存储器31,输入/输出设备32,如键盘和显示器,以及外部接口33,如所示,其经由总线34耦合在一起。内部接口35典型地被提供以允许终端站3被耦合到通信网络2、4之一,并因此其可处于网络接口卡等的形式。
在使用中,处理器30适于经由通信网络2、4与提供在基站1中的处理系统10通信以允许上述过程被实施。因此,将理解如果通信网络2是互联网,则这可通过以下来实现使基站1向终端站3的用户呈现网页,从而允许用户提交内容和设计数据文件110、130。
因此,将理解终端站3可由任何适当的处理系统形成,如适当编程的PC、互联网终端、笔记本电脑、手持PC等,其典型地操作应用软件以使数据能传递并且在一些情况下使能网浏览。
在该情况下,内容提供者和设计者可被提供于终端站3中的相应的一个处,根据需要,设计者和内容提供者独立操作以创建内容和设计数据文件110、130。将理解,在该过程期间,设计的细节可被转发给内容提供者以允许其被用在如以上所述的内容的生成中。在任何情况下,一旦被完成,内容和设计数据文件110、130可被提交给在基站1处的处理系统10。处理系统10然后如以上所述操作以生成最终输出150。
根据需要,最终输出然后可被传递给终端站3中的相应的一个,就地被修改,通过基站1被显示为网页,或者根据需要被传递到其他地方。
这样,在一个实例中,处理系统10实施出版引擎140,而终端站3实施内容创建系统100和设计者应用程序120。
在此情况下,应当理解,对该过程的访问可通过使用预订系统(subscription system)等来控制,其需要费用支付来访问基站,一掌控所述过程的网站。这可通过使用口令系统等来实现,如本领域的技术人员将理解的。
在本发明的优选实施例中,在从终端站3被发送到基站10之前,数据是例如通过公知的加密技术来保护的。同样,在被发送回终端站3之前,基站10所产生的结果优选地被加密。以这种方式,内容、设计和结果布局的保密性被维护。
此外,设计文件130可被存储在数据库11中,从而允许文件随后被访问和被用在生成新输出150中。这允许内容提供者委托单个设计文件130,其被保持在基站1中,并且在将来被再用于各种各样的内容数据文件110,如本领域的技术人员将理解的。
在任何情况下,不管所使用的体系结构,上述技术允许内容根据设计数据被设置在限定的空间中。这可通过使处理系统根据存储在存储中的设计数据操纵内容来产生若干不同布局来实现。所述布局然后可被自动评分,从而允许根据得分来选择优选布局。该过程可被自动进行以使例如具有最高得分的布局被选择。可替换地,可根据得分来选择若干布局,其中优选布局由用户响应于视觉评估来选择。
为了说明和描述的目的已经呈现了本发明的以上详述。这并不是想要穷举或限制本发明于所公开的精确形式。根据以上所讲,许多修改和变化是可能的。所描述的实施例被选择是为了最好地说明本发明的原理及其实际应用以由此使本领域的其他技术人员能够在各种实施例中并且以适合于所设想的特定使用的各种修改来最好地利用本发明。旨在使本发明的范围由所附的权利要求来限定。
权利要求
1.一种将元素布局在被限定的空间中的迭代方法,其中该布局包括内容数据和设计数据,所述内容数据包括字母数字和/或图形元素,并且所述设计数据包括与特定字母数字元素或图形元素关联的规则或多个规则,所述规则限定评分系统,所述评分系统根据对所述规则的顺应性程度来限定得分,所述方法包括以下步骤(a)在几何上设置在内容数据中包括的字母数字和/或图形元素;(b)根据在设计数据中包括的规则或多个规则对所得到的布局评分;(c)存储所述得分;以及(d)对多个迭代的字母数字和/或图形布局重复以上的步骤(a)到(c)。
2.权利要求1)所述的方法,其中被限定的空间是书籍的页。
3.权利要求1)所述的方法,其中被限定的空间要被显示在屏幕上。
4.权利要求1)所述的方法,进一步包括步骤(e)基于在所述步骤(b)中具有最高得分的布局从多个迭代的布局中选择不同字母数字和/或图形元素的最优布局。
5.如权利要求0所述的方法,进一步包括步骤(f)重复所述步骤(a)到(e)以提供包括多个被限定的空间的所完成的作品。
6.如权利要求1)所述的方法,所述评分步骤(b)包括步骤对具有在该空间中的最优的相对位置的字母数字元素和/或图形元素评分为高值,以及步骤对具有所述空间中的差的相对位置的字母数字元素和/或图形元素评分为低值,该规则或多个规则确定空间中的最优和差位置。
7.一种将一个或多个元素布局在被限定的空间中的方法,该方法包括以下步骤(a)设置涉及该空间中一个或多个元素的所需定位的规则;(b)将字母数字和/或图形元素定位在该空间中;(c)根据所述步骤(b)的定位遵循所述步骤(a)的规则的程度来对所述步骤(b)的定位评分;(d)将一个或多个元素重新定位在该空间中;(e)根据所述步骤(b)的定位遵循已针对该元素定义的另一个规则的程度来对所述步骤(d)的定位重新评分;以及(f)根据哪个步骤导致较高得分,将一个或多个元素定位在所述步骤(b)或所述步骤(d)的位置中。
8.权利要求0所述的方法,其中所述空间是书籍的页。
9.权利要求0所述的方法,其中所述空间是要被显示在屏幕上的框架。
10.一种将元素布局在被限定的空间中的迭代方法,其中该布局包括内容数据和设计数据,所述内容数据包括字母数字和/或图形元素,并且所述设计数据包括与特定字母数字元素或图形元素关联的规则或多个规则,所述规则或多个规则限定评分系统,所述评分系统根据对所述规则或多个规则的顺应性程度来限定得分,所述方法包括以下步骤(a)在一空间内在几何上设置在内容中包括的字母数字和/或图形元素;(b)确定用于在所述步骤(a)中设置的字母数字和/或图形元素的空间是否超出所限制的空间;(c)如果用于在所述步骤(a)中设置的字母数字和/或图形元素的空间超出所限制的空间,则对所述字母数字和/或图形元素重定尺寸;(d)重复以上的步骤(a)到(c)直到用于在所述步骤(a)中设置的字母数字和/或图形元素的空间适合于所限制的空间内;以及(e)基于所述规则或多个规则在所述步骤(d)之后设置所限制的空间内的字母数字和/或图形元素以确定布局。
11.一种用于将元素布局在被限定的空间中的设备,所述设备由包括以下的处理系统形成(a)存储,用于存储(i)内容数据,包括字母数字和/或图形元素,以及(ii)设计数据,包括与特定字母数字元素或图形元素关联的规则或多个规则,所述规则限定评分系统,所述评分系统根据对所述规则的顺应性程度来限定得分,(b)处理器,其适于(i)在几何上设置在内容数据中包括的字母数字和/或图形元素以生成布局;(ii)根据在设计数据中包括的规则或多个规则对所得到的布局评分;(iii)存储所述得分;以及(iv)对多个迭代的字母数字和/或图形布局重复以上的步骤(b)(i)到(b)(iii)。
12.如权利要求11的设备,所述处理系统包括用于向用户呈现布局的显示器。
13.如权利要求12的设备,所述处理系统适于(a)选择相应的布局;以及(b)生成表示所选布局的输出数据。
14.如权利要求13的设备,该处理系统适于根据以下的至少一个来选择布局(a)从用户接收的输入命令;以及(b)相应的布局得分。
15.如权利要求13或权利要求14的设备,该处理系统被耦合于通信网络,该处理系统适于(a)从被耦合于该通信网络的一个或多个终端站接收内容和/或设计数据;以及(b)将所接收的内容和/或设计数据存储在该存储中。
16.如权利要求15的设备,所述处理系统适于将输出数据传递给所选终端站。
17.如权利要求11到16的任何一项的设备,该处理系统适于根据从用户接收的输入命令来确定内容和/或设计数据。
18.如权利要求11到17的任何一项的设备,该设备适于执行权利要求1到9的任何一项的方法。
19.一种用于将元素迭代地布局在被限定的空间中的设备,该设备由包括以下的处理系统形成(a)存储,用于存储(i)内容数据,包括字母数字和/或图形元素,以及(ii)设计数据,包括与特定字母数字元素或图形元素关联的规则或多个规则,所述规则限定评分系统,所述评分系统根据对所述规则或多个规则的顺应性程度来限定得分,(b)处理器,其适于(i)在一空间内在几何上设置在内容中包括的字母数字和/或图形元素;(ii)确定用于在所述步骤(a)中设置的字母数字和/或图形元素的空间是否超出所限制的空间;(iii)如果用于在所述步骤(a)中设置的字母数字和/或图形元素的空间超出所限制的空间,则对所述字母数字和/或图形元素重定尺寸;(iv)重复以上的步骤(b)(i)到(b)(iii)直到用于在所述步骤(b)(i)中设置的字母数字和/或图形元素的空间适合于所限制的空间内;以及(v)基于该规则或多个规则在所述步骤(b)(iii)之后设置所限制的空间内的字母数字和/或图形元素以确定布局。
20.如权利要求19的设备,该设备是如权利要求11到19的任何一项的设备。
21.如权利要求19或权利要求20的设备,该设备适于执行权利要求10的方法。
全文摘要
本发明提供了一种以适合于打印和/或电子出版的呈现的设计来准备内容的方法。该方法利用包括字母数字和/或图形元素的内容数据,以及包括与特定字母数字元素或图形元素关联的规则或多个规则的设计数据。这可被用于限定评分系统,其根据布局对规则的顺应性程度来限定得分,其中布局是依照所得到的得分来选择的。
文档编号G06F17/21GK1735892SQ200380103474
公开日2006年2月15日 申请日期2003年11月18日 优先权日2002年11月18日
发明者斯蒂芬·詹姆士·欧布里安 申请人:泰普菲系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1