打印结构化文档的制作方法

文档序号:6479727阅读:172来源:国知局
专利名称:打印结构化文档的制作方法
打印结构化文档相关申请的交叉引用本申请涉及通过引用并入本文的以下共同未决的申请2007年6月27日提交的美国申请号11/769,671。
背景技术
文档是被设计并呈现为单独实体并且被记录或存储在物理储存介质(例如,电子存储器装置或打印介质,诸如纸)中的信息集。结构化文档(structured document)由其呈现彼此相关的可显示元素(例如,文本、图像、音频和视频)形成。这些元素典型地就其在文档内的布局和相对位置而言彼此相关。文档元素可以由较低级元素形成。例如,文本典型地由字词、句子和段落形成。图像典型地由不同层(例如,前景和背景)和不同区形成。 音频和视频典型地分别由在时间上且在层次上布置的音频和视频内容的单元和序列形成。可以使用诸如标准生成的标记语言(SGML)、可扩展标记语言(XML)和超文本标记语言(HTML)之类的标记语言来描述结构化文档的逻辑结构或语义。文档的标记语言描述典型地包括对文档的离散元素进行划界和标记的标签集。例如在XML中,标签是识别其相关元素的开头和结束点的关键字。标记语言标签典型地具有将它们与它们包围的元素相区分的不同语法。标签语法允许解析器辨别该标签。结构化文档可以由能够解释文档的标记语言描述的任何工具(例如web浏览器)呈现。在一些情况下,一个或多个样式表(例如, 级联样式表(CSS))可以附连到文档的逻辑结构以产生不同的相应呈现。在许多情况下,针对一种应用环境设计的结构化文档呈现不适合于另一种应用环境或者至少未针对另一种应用环境进行优化。例如,网页的格式典型地不利于打印。结果, 用户典型地消耗比在他们打印包含用户不感兴趣的内容的整个网页时所需的更多的资源 (例如,墨和纸),所述内容诸如广告、页眉、页脚、中心栏以及大的边距设计特征。

发明内容
在一个方面中,本发明特征在于一种方法,依据该方法捕获打印对象。在捕获每个打印对象的过程中,接收依据文档的结构化对象规范在显示器上再现的文档的区域上的用户输入姿势(gesture);识别在显示器上的用户输入姿势的活动区内再现的结构化对象规范的元素;把用户输入姿势解释为打印内容指定命令;以及依据结构化对象规范的所识别元素和打印内容指定命令从结构化对象规范中导出打印对象。确定一个或多个页面上的打印对象的打印布局。输出打印布局。本发明特征还在于设备和机器可读介质,其存储使机器实施上面描述的方法的机器可读指令。通过包括附图和权利要求书的以下描述,本发明的其他特征和优点将变得显而易见。


图1是结构化文档打印系统的实施例的框图。图2是结构化文档打印方法的实施例的流程图。图3是在结构化文档的相应区域上呈现输入用户姿势的显示器的实施例的图解视图。图4是呈现结构化文档以及文档的结构化对象规范的表示的图形用户界面的实施例的图解视图。图5是打印对象捕获系统的实施例的图解视图。图6是打印布局生成器模块的实施例的图解视图。图7是确定和输出打印对象的打印布局的方法的实施例的流程图。图8是图1所示的结构化文档打印系统的实施例的图解视图。
具体实施例方式在以下描述中,相同的参考数字用来识别相同的元素。而且,附图旨在以图解的方式示出示例性实施例的主要特征。附图不旨在描绘实际实施例的每个特征以及所描绘元素的相对尺寸,并且不是按比例绘制的。I.介绍本文详细描述的实施例能够使得用户能规定他们想要打印的结构化文档的单独元素。以此方式,这些实施例减少诸如纸和墨之类的资源的不必要消耗。另外,这些实施例中的一些实施例能够基于结构化文档中的超链接引用的用户选择而聚集来自结构化文档之外的资源的内容。在一些实施方式中,这种特征给用户提供一种用于跨不同网页和不同网站聚集内容的便捷机制。II.术语的定义如本文所使用的,术语“文档”意指被设计并呈现为单独实体并且被记录或存储在物理储存介质(例如,电子存储器装置或打印介质,诸如纸)中的信息集。“结构化文档”是由其呈现在空间上、时间上或时空上彼此相关的可显示“元素”(即,结构化文档的组成信息的内聚子集,例如文本、图像、音频和视频)形成的文档。空间相关元素典型地就其在文档内的布局和相对位置而言彼此相关。文档元素可以由较低级元素形成。术语“结构化对象规范”意指结构化文档的逻辑结构或语义的描述。可以使用诸如标准生成的标记语言(SGML)、可扩展标记语言(XML)和超文本标记语言(HTML)之类的标记语言来描述这个信息。例如在XML中,结构化文档被描述为包含嵌套XML元素集的文档对象。结构化对象规范可以通过应用编程接口(API)来呈现。例如,文档对象模型(DOM) 是允许程序和脚本访问并修改结构化文档的内容、结构和样式的API规范。DOM以节点的层次树的形式表示结构化文档,所述节点实施专用接口。每个节点具有DOM节点类型、节点名称和节点值。DOM把文档对象及其组成元素结构化为不同类型的多个节点,从而以不同的细节水平提供文档结构的视图。术语“打印对象”广义地指代可以在物理或虚拟页面上再现的任何类型的视觉可感知的结构化文档内容,包括图像和文本。基于图像的打印对象可以是结构化文档的任何类型的数字或电子图像元素的完整或部分版本,包括由图像传感器(例如,摄像机、静止图像照相机或者光学扫描仪)捕获的图像或者这种图像的经处理(例如,滤波、重新格式化、增强或以其他方式修改的)版本;计算机生成的位图或向量图形图像;文本图像(例如,包含文本的位像);以及肖像图像。术语“打印对象"M盖单元素打印对象和由一个或多个结构化文档元素的内聚群或集形成的多元素打印对象。多个结构化文档元素到单个打印对象的分配表明组成的结构化文档元素是相关的。一般而言,多元素打印对象中的结构化文档元素的类型可以是相同的或者不同的。术语“用户输入姿势”意指从用户接收的且可以被解释为命令的图形输入。该输入可以对应于任何类型的图形输入(例如,通过用户操纵诸如计算机鼠标之类的指示笔或虚拟指示器而生成的输入)。在一些实施例中,用户输入姿势对应于形式自由的图形形状, 其可以由一个或多个笔划(即,所捕获点的序列或集合)的序列组成。在其他实施例中,用户输入姿势对应于其大小或纵横比或者两者可以由用户选择的受约束图形形状(例如,矩形或弯曲边界)。术语“打印内容指定命令”意指指示结构化文档的元素是应当被包含在打印布局中还是从打印布局中排除的命令。术语“打印布局”意指在一个或多个页面上打印对象集的布置。术语“页面”指代其中可以布局图形对象的任何类型的离散区,包括图形对象布局可以被打印在其上的分立物理介质(例如,一张纸)所实现的物理页面、以及包含可以例如通过电子显示装置而呈现给用户的图形对象布局的虚拟、数字或电子页面。“计算机”是根据暂时或永久存储在机器可读介质上的机器可读指令(例如,软件)处理数据的机器。执行特定任务的这种指令集被称为程序或软件程序。术语“机器可读介质”指代能够承载可由机器(例如,计算机)读取的信息的任何介质。适合于有形包含这些指令和数据的储存装置包括但不限于所有形式的非易失性计算机可读存储器,包括例如半导体存储器装置(诸如EPROM、EEPROM和闪速存储器装置)、磁盘(诸如内部硬盘和可移动硬盘)、磁光盘、DVD-ROM/RAM和CD-ROM/RAM。“节点”是网络中的接点或连接点。示例性节点包括但不限于终端、计算机和网络交换机。III.结构化文档打印系统的实施例的概述图1示出包括打印对象捕获模块12和打印布局生成器模块14的结构化文档打印系统10的实施例。打印系统10与显示器16对接,该显示器依据文档18的结构化对象规范20再现(或呈现)结构化文档18。结构化文档18可以是任何类型的电子文档,其与结构化对象规范20相关联,结构化对象规范20以允许解析器(或解释器)分离文档的内容与结构描述(或“标记”)的方式描述文档18的结构。在一些实施例中,结构化对象规范20采取使用诸如SGML、XML和 HTML之类的标记语言描述(或建模)文档的电子文件的形式。在所示的实施例中,结构化文档18包括各种内容类型的区域(例如,图像内容区域,诸如标识(LOGO)区域22,广告横幅(AD BANNER)区域M以及包括四个图像A、B、C、D的集合的图像区域21 ;视频剪辑区域 26 ;混合内容区域观;以及包括三个超链接引用的集合的超链接引用区域30),其在文档18 内的布局和相对位置构成文档18的结构。结构化文档打印系统10生成用户指定用于打印的结构化文档18的元素集的打印布局32。另外,结构化文档打印系统10能够基于结构化文档中超链接引用的用户选择而从结构化文档之外的资源聚集内容。结构化文档打印系统10使得用户能够使用输入姿势 34指定他或她想要打印的文档18的单独元素,所述输入姿势34在一些情况下可能与显示器16上元素的实际再现相当粗糙地吻合。结构化文档打印系统10基于由结构化对象规范 20提供的文档18的结构描述的分析来解释用户输入的姿势34。通过这些方式,结构化文档打印系统10减少诸如纸和墨之类的资源的不必要消耗,同时提供用于使用户规定打印内容指定命令的快速、高效且便捷机制。结构化文档打印系统10可以被实施在任何计算或处理环境中,包括实施在数字电子电路中或者在计算机硬件、固件或软件中。在一些实施例中,打印对象捕获模块12和打印布局生成器模块14由在计算机上执行的一个或多个相应软件模块实施。用于实施结构化文档打印系统10的计算机过程指令以及其生成的数据典型地存储在一个或多个机器可读介质中。图2示出结构化文档打印系统10生成结构化文档18的用户指定元素的打印布局 32所用的方法的实施例。响应于在显示器16上再现的文档18的区域上每个用户输入姿势34的接收,打印对象捕获模块12启动捕获打印对象38的过程(图2,块40)。在这个过程中,打印对象捕获模块12识别在显示器16上的用户输入姿势34的活动区内再现的结构化对象规范20的元素(图2,块42)。打印对象捕获模块12把用户输入姿势34解释为打印内容指定命令(图 2,块44)。打印对象捕获模块12依据结构化对象规范20的识别元素和打印内容指定命令从结构化对象规范20中导出打印对象38 (图2,块46)。打印对象捕获模块12典型地把打印对象38存储在机器可读介质上的数据库47中(参见图1)。响应于从用户接收到打印布局生成命令(图2,块48),打印布局生成器模块14 确定一个或多个页面50上的打印对象38的打印布局32 (图2,块52)并且输出打印布局 32(图2,块M)。打印布局32可以由打印布局生成器模块14以各种不同方式输出。例如, 可以通过将其再现在显示器16上的预览窗口中、将其存储在机器可读介质上的数据库中以及将其再现在打印介质(例如,纸)上,来输出打印布局32。IV.Α.概述结构化文档打印系统10典型地由不限于任何特定硬件、固件或软件配置的一个或多个分立数据处理模块(或部件)来实施。例如,在一些实施方式中,结构化文档打印系统10嵌入在各种各样的电子设备的任一种的硬件中,所述电子设备包括台式计算机、膝上型计算机和工作站计算机、能够浏览网页等等的电缆或卫星机顶盒、以及便携式电信装置 (例如,Web浏览器使能的移动电话)。打印对象捕获模块12和打印布局生成器模块14是数据处理部件,其可以被实施在任何计算或数据处理环境中,包括实施在数字电子电路(例如,专用集成电路,诸如数字信号处理器(DSP))中或者在计算机硬件、固件、装置驱动器或软件中。在一些实施例中,这些数据处理部件12-14的功能性被组合到单个数据处理部件中。在一些实施例中,这些数据处理部件12-14中的一个或多个的每个的相应功能性由多个数据处理部件的相应集执行。在一些实施例中,打印对象捕获模块12和打印布局生成器模块14是互联网浏览器软件应用的组成部件。在其他实施例中,这些模块12-14被提供为互联网浏览器软件应用程
8序的插件扩展的一部分,所述互联网浏览器软件应用程序诸如hternet Explorer web浏览器、Mozilla Firefox web浏览器、Safari web浏览器以及Opera web浏览器。在一些实施方式中,用于实施由结构化文档打印系统10执行的方法的过程指令 (例如,机器可读代码,诸如计算机软件)以及其生成的数据存储在一个或多个机器可读介质上。B.打印对象捕获樽块的示例件实施例如上面所解释的,响应于在显示器16上再现的文档18的区域上接收到每个用户输入姿势34,打印对象捕获模块12启动捕获打印对象的过程(图2,块40)。姿势是从用户接收的且可解释为命令的图形输入。姿势可以由用户以各种不同方式输入。在一些实施例中,用户使用计算机鼠标(例如,通过点击计算机鼠标的左键或者通过点击计算机鼠标的左键或右键并且在按下该键的同时移动鼠标)或其他输入装置来输入姿势。在一些实施例中,例如,用户在数字化器输入板上使用指示笔来输入姿势。姿势典型地由以下属性中的一个或多个来表征默认动作;动作区;显示屏幕位置;大小;和形状。默认动作是响应于姿势由打印对象捕获模块12采取的动作。在一些实施例中,姿势可以具有一个以上默认动作。动作区是在至少部分姿势之下的结构化文档18 的区域。对于一些姿势,动作区仅对应于姿势的一部分。例如,检查标记姿势的动作区是在检查标记的顶点附近的文档18的区域,以及交叉标记(S卩,由两条交叉线形成的标记,诸如 “X”,‘X’和“ + ”)的动作区是在其两条组成线的交点附近的文档18的区域。对于其他姿势,动作区对应于被由构成姿势的笔划形成的边界至少部分包围的文档18的区域。边界可以例如对应于边界框或形式自由的形状的界线。在捕获打印对象的过程(图2,块40)中,打印对象捕获模块12识别在显示器16 上的用户输入姿势34的活动区内再现的结构化对象规范20的元素(图2,块42)。图3示出在结构化文档18的相应区域上再现输入用户姿势的显示器16的实施例。具体而言,检查标记姿势60再现在混合内容区域观上,检查标记姿势62再现在超链接引用区域64上,交叉姿势66再现在文本区域68上,边界框边界姿势70再现在视频剪辑区域沈上,并且形式自由边界姿势72再现在图像区域74上。响应于检查标记姿势60的接收,打印对象捕获模块12识别在检查标记的顶点附近再现的结构化对象规范20的任何元素。根据混合内容区域观的内容和检查标记姿势60 的总体大小,打印对象捕获模块12可以识别在混合内容区域观中再现的所有或部分结构化对象规范元素。例如, 响应于检查标记姿势62的接收,打印对象捕获模块12识别在检查标记姿势62 的顶点附近再现的、结构化对象规范超链接引用元素64( “链接4”)。 响应于交叉姿势66的接收,打印对象捕获模块12识别在两条线的交点附近再现的结构化对象规范20的任何元素。例如,根据文本区域68的内容和交叉姿势66的总体大小,打印对象捕获模块12可以识别在文本区域68中再现的所有或部分结构化对象规范元素。 响应于边界框边界姿势70的接收,打印对象捕获模块12识别其至少一部分再现在边界框边界姿势70的边界内的视频剪辑元素26。 响应于形式自由边界姿势72的接收,打印对象捕获模块12识别其至少一部分
9再现在形式自由边界姿势72的边界内的图像元素74。在捕获打印对象的过程(图2,块40)中,打印对象捕获模块12另外把用户输入姿势34解释为打印内容指定命令(图2,块44)。例如,在一些实施例中,打印对象捕获模块 12把检查标记姿势和边界姿势解释为在打印布局32中包括结构化对象规范的识别元素的打印内容指定命令,而打印对象捕获模块12把交叉姿势解释为从打印布局32中排除结构化对象规范的识别元素的打印内容指定命令。因而,关于图3所示的实施例,打印对象捕获模块12的这些实施例将把用户输入姿势60、62、70和72解释为在打印布局32中包括在混合内容区域观中再现的所有或部分结构化对象规范元素、超链接引用元素64、视频剪辑元素沈和图像元素74的命令;打印对象捕获模块12另外将把用户输入姿势66解释为从打印布局32中排除在文本区域68中再现的所有或部分结构化对象规范元素的命令。在捕获打印对象的过程(图2,块40)中,打印对象捕获模块12另外依据结构化对象规范20的识别元素和打印内容指定命令从结构化对象规范20中导出打印对象(图2,块 46)。在这个过程中,打印对象捕获模块12从在打印布局32中包括的结构化对象规范的每个元素中导出相应的打印对象。因而,关于图3所示的实施例,打印对象捕获模块12将从每个以下元素中导出相应的打印对象在混合内容区域观中再现的所有或部分结构化对象规范元素;超链接引用元素64 ;视频剪辑元素沈;图像元素74 ;以及没有从打印布局32 中排除的在文本区域68中再现的结构化对象规范元素的任何子元素部分(如果有的话)。图4示出呈现结构化文档18的实施例82以及文档18的结构化对象规范20的表示84的图形用户界面80的实施例。在所示的实施例中,文档82是网页并且结构化对象规范由文档对象模型(DOM)表示,其中结构化对象规范的每个元素由层次树中的节点表示。 结构化对象规范的DOM表示84呈现在图形用户界面80的窗口 88的第一窗格86中。与 DOM表示84的选择元素对应的内容呈现在窗口 86的第二窗格90中。例如,在所示的实施例中,与选择的文本元素92对应的文本内容93呈现在窗格90中。响应于突出显示(Highlight)按钮94的用户选择,图形用户界面改变其中结构化文档82正被呈现的窗口中呈现的对应内容的一个或多个显示参数(例如,亮度、对比度和色彩)。例如,在所示的实施例中,改变在混合内容区域观中呈现的混合内容元素的第二文本子元素95的一个或多个显示参数以便突出显示与DOM表示84中的选择文本元素92对应的文本内容。在一些实施例中,用户可以修改在窗格90中呈现的内容。例如,关于图4所示的实施例,用户可以以任何各种不同方式修改文本内容93,包括但不限于删除一些或所有的文本内容93以及添加新的文本内容。响应于更新(Update)按钮96的用户选择,打印对象捕获模块12将修改的内容存储在相应的打印对象中。在一些实施例中,打印对象捕获模块 12也将把修改的内容呈现在图形用户界面80中再现的结构化文档82的对应区域95中。在一些实施例中,结构化对象规范18包含对结构化文档18的相应内容的超链接引用而不是包含实际内容。例如,代替包含嵌入式资源(例如,另一个结构化文档(诸如网页)或者多媒体文件(诸如图像文件或视频剪辑文件)),结构化对象规范18典型地包含识别规定在结构化文档之外的资源的位置的地址或路径名称的超链接引用(例如,统一资源定位符(URL)或统一资源标识符(URI))。响应于选择对在结构化文档18之外的资源的超链接引用的输入用户姿势的接收,打印对象捕获模块12基于该超链接检索资源并且根据该资源生成一个或多个打印对象。根据所检索的资源的类型,打印对象捕获模块12可以自动地或者响应于另外的用户输入而根据该资源生成一个或多个打印对象。在一些实施例中,如果所检索的资源是结构化文档(例如,网页),则打印对象捕获模块12在显示器16上的单独窗口中呈现该结构化文档并且允许用户依据本文描述的任一方法(例如,参见结构化文档打印方法图2的块 40-46)输入关于所呈现的结构化文档的打印内容指定命令。在一些实施例中,如果所检索的资源是多媒体文件(例如,图像文件或视频文件),则打印对象捕获模块12从所检索的资源中自动地导出一个或多个打印对象。例如,可以根据从视频文件中提取的关键帧或者根据从图像文件中提取的缩略图像来生成打印对象。图5示出打印对象捕获系统的实施例,其中打印对象捕获模块12响应于输入用户姿势选择对在结构化文档18之外的资源的超链接引用而通过网络97 (例如,LAN或WAN, 诸如互联网)从远程节点检索资源。在所示的实施例中,打印对象捕获模块12响应于结构化文档82的超链接引用区域64的用户选择而从远程节点100检索网页98并且响应于结构化文档82的视频剪辑区域沈的用户选择而从远程节点104检索视频文件102。在从远程节点100检索网页文件98后,打印对象捕获模块12在显示器16上的单独窗口中呈现网页98并且提示用户输入关于所呈现的网页98的打印内容指定命令。在从远程节点104检索视频文件102后,打印对象捕获模块12从所检索的视频文件中导出一个或多个关键帧并且从这些关键帧生成相应的打印对象。在一些情况下,这些关键帧嵌入在视频文件102中。 在这些情况下,打印对象捕获模块12通过提取嵌入在视频文件102中的一个或多个关键帧来导出关键帧。在其他情况下,打印对象捕获模块12通过把检索的视频文件102传送到关键帧提取模块106来导出关键帧。关键帧提取模块106使用任何各种关键帧提取方法来从视频文件102中提取一组关键帧108。关键帧提取模块106把提取的关键帧108发送到打印对象捕获模块12。打印对象捕获模块12根据从关键帧提取模块106接收的一个或多个关键帧而生成相应的打印对象。C.打印布局生成器模块的示例性实施例如上面所解释的,打印布局生成器模块14确定一个或多个页面50上的打印对象的打印布局32(图2,块52)并且输出打印布局(图2,块M)。在一些实施例中,打印布局生成器模块110通过给一个或多个页面分配相应那些打印对象并且基于应用于分配给页面的打印对象的布局规则和布局优化准则来确定每个页面的相应布局,而自动地确定打印布局32ο图6示出包括页面分配模块112、页面布局生成器模块114和用户界面模块116的打印布局生成器模块14的实施例110,用户通过用户界面模块116与打印布局生成器模块 110交互。图7示出页面分配模块112和页面布局生成器模块114协同生成在一个或多个页面50的每个上的图形对象的相应布局所用的方法的实施例。页面分配模块112给一个或多个页面分配图形对象(图7,块68)。页面分配模块 112对从打印对象捕获模块12接收的打印对象38的集合进行操作。页面分配模块112使用各种各样的页面分配方法中的任何一种方法来给一个或多个页面50分配打印对象38。 在一些方法中,页面分配模块112基于页面填充准则(诸如在页面上可以布局的打印对象38的用户规定或默认的最大数量,或者用户规定或默认的固定页面数量)给页面分配打印对象38。在这些方法中,页面分配模块112可以依据一个或多个布置准则(诸如就与打印对象38相关联的元数据而言规定的图形对象的用户规定布置或者默认布置规则)给页面分配打印对象38。页面分配模块112典型地以其中打印对象38的内容被布置在结构化文档18中的读取顺序给页面分配打印对象38。页面分配模块112把规定打印对象38到页面 50的分配的打印对象页面分配数据120传送到页面布局生成器模块114。页面布局生成器模块114依据图形对象分配数据120输出每个页面50上的相应打印对象的打印布局32 (图7,块12 。在一些实施例中,页面布局生成器模块114基于记分、评价或适应度(fitness)函数确定给定的一个页面的打印布局。这样的记分、评价或适应度函数可以被用于各种各样的不同布局生成实施例中,如下面详细描述的。页面布局生成器模块114把一个或多个页面50上的打印对象38的打印布局32输出到用户界面模块 66。在一些实施方式中,页面布局生成器模块114以按特定文件格式(例如,PDF或XML)布置的规范的形式输出打印布局32。用户界面模块116在显示器16上呈现(或再现)打印布局32(图7,块124)。在一些实施方式中,用户界面模块116允许用户交互地浏览由打印布局生成器模块14自动生成的页面50。用户界面模块116也允许用户规定对页面的编辑。对给定页面的任何规定的编辑由用户界面模块116解释。用户界面模块116把解释的用户命令指令传输到页面布局生成器模块114。页面布局生成器模块114重复图7的方法的一个或多个方面以依据从用户界面模块116接收的编辑来确定一个或多个页面的修订的打印布局32。用户界面模块 116把修订的最终布局32呈现给用户。用户然后可以浏览修订的页面,规定对一个或多个修订的页面的编辑,或者命令结构化文档打印系统10再现一些或所有的页面。页面布局生成器模块114可以以各种各样的不同方式确定给定页面上打印对象的打印布局。在一些实施例中,页面布局生成器模块114使用每个页面的基于树结构的划分确定给定页面的打印布局。在这个过程中,页面布局生成器模块114迭代地构造一系列连续布局,每个布局包括添加到该系列中的先前布局的额外的一个图形对象。在每个迭代中,页面布局生成器模块114基于相应分数从先前的连续布局中构造当前的连续布局。通过比较那些实际再现大小与针对由先前连续布局中额外图形对象的不同相应相对位置定义的候选当前布局所计算的相应那些目标再现大小来计算分数。在2007年6月27日提交的美国申请号11/769,671中包含关于基于树结构的页面划分实施例的结构和操作的附加细节。在其他实施例中,页面布局生成器模块114通过依据遗传算法演变定义在给定页面上放置的打印对象的位置、尺度和旋转取向的相应遗传结构并且基于上述的记分、评价或适应度函数以及某些偏好和页面要求从所得到的布局中选择打印布局,而确定给定页面的打印布局。例如在美国专利号6,636,648和美国专利申请公开号2002/0122067中包含关于基于遗传演变的打印对象布置实施例的结构和操作的附加细节。在其他实施例中,页面布局生成器模块114通过基于力模型在页面上定位打印对象而确定给定页面的打印布局,所述力模型假设每个打印对象对位于相同页面上的其他打印对象施加力。该力是分隔打印对象的距离的函数。每个打印对象在作用于该打印对象上的净力的方向上被移动作为净力的函数的距离。例如在美国专利号6,636,650中包含关于基于力模型的打印对象布置实施例的结构和操作的附加细节。V.结构化文档打印系统的示例性架构和相关应用环境结构化文档打印系统10 (参见图1)可以由一个或多个分立模块(或数据处理部件)实施,所述模块(或数据处理部件)可以被实施在任何计算或数据处理环境中,包括实施在数字电子电路(例如,专用集成电路,诸如数字信号处理器(DSP))中或者在计算机硬件、固件、装置驱动器或软件中。在一些实施方式中,用于实施结构化文档打印系统10执行的方法的计算机过程指令以及其生成的数据存储在一个或多个机器可读介质中。图8示出在计算机系统154中包含的结构化文档打印系统10的实施例150,并且显示器16由计算机显示监视器156实施,计算机显示监视器156由计算机154中的显示控制器控制。计算机系统巧4包括处理单元(CPU) 155、系统存储器157以及把处理单元耦合到计算机系统的各个部件的系统总线。处理单元巧5典型地包括一个或多个处理器,每个处理器可以是各种商业可获得的处理器中的任一种的形式。系统总线可以是存储器总线、外围总线或本地总线,并且可以与各种总线协议(包括PCI、VESA、Microchannel、ISA和EISA) 中的任一种兼容。计算机系统IM也包括永久储存存储器(例如,硬盘驱动器、软盘驱动器、 CD ROM驱动器、磁带驱动器、闪速存储器装置和数字视频盘),其连接到系统总线并且包含一个或多个计算机可读介质盘,所述计算机可读介质盘为数据、数据结构和计算机可执行指令提供非易失性或永久性储存。系统存储器157典型地包括只读存储器(ROM)和随机存取存储器(RAM),所述只读存储器存储包含计算机系统的启动例程的基本输入/输出系统(BIOS)。系统存储器157也存储结构化文档打印系统10的实例、GUI驱动器、输入数据、输出数据、中间处理数据以及其他数据。用户可以使用一个或多个输入装置159(例如,键盘158、计算机鼠标160、麦克风、操纵杆和触摸垫)与计算机系统巧4交互(例如,输入命令或数据)。计算机系统巧4 也典型地包括外围输出装置,诸如扬声器和打印机。计算机系统IM可以通过经网络接口卡(NIC)进行的网络连接而连接到远程节点。信息可以通过图形用户界面(GUI)进行呈现, 在计算机显示监视器156上向用户显示图形用户界面(⑶I)。⑶I典型地集成到可由CPU 155执行的web浏览器应用程序中。VI.结论本文详细描述的实施例能够使得用户能规定他们想要打印的结构化文档的单独元素。以此方式,这些实施例减少诸如纸和墨之类的资源的不必要消耗。另外,这些实施例中的一些实施例能够基于结构化文档中的超链接引用的用户选择而从结构化文档之外的资源聚集内容。在一些实施方式中,这种特征给用户提供一种用于跨不同网页和不同网站聚集内容的便捷机制。其他实施例在权利要求书的范围内。
权利要求
1.一种计算机实施的方法,包括捕获打印对象(38),其中对于每个打印对象(38),该捕获分别包括接收依据文档(18)的结构化对象规范00)在显示器(16)上再现的文档(18)的区域上的用户输入姿势(34),识别在显示器(16)上的用户输入姿势(34)的活动区内再现的结构化对象规范00) 的元素,把用户输入姿势(34)解释为打印内容指定命令,依据结构化对象规范OO)的所识别元素和打印内容指定命令从结构化对象规范OO) 中导出打印对象(38);确定一个或多个页面(50)上的打印对象(38)的打印布局(3 ;以及输出打印布局(32)。
2.权利要求1的方法,其中该接收包括接收以至少部分包围显示器(16)上的活动区的边界(70)为形式的用户输入姿势(34),并且该识别包括识别其至少一部分被再现在边界 (70)内的结构化对象规范OO)的元素。
3.权利要求1的方法,其中该接收包括接收以具有顶点的检查标记(60)为形式的用户输入姿势(34),该识别包括识别其至少一部分被再现在检查标记(60)的顶点附近的结构化对象规范OO)的元素,并且该解释包括把用户输入姿势(34)解释为在打印布局(32) 中包括所识别元素的打印内容指定命令。
4.权利要求1的方法,其中该接收包括接收以具有在交点处交叉的两条线的交叉标记 (66)为形式的用户输入姿势(34),该识别包括识别其至少一部分被再现在这两条线的交点附近的结构化对象规范OO)的元素,并且该解释包括把用户输入姿势(34)解释为从打印布局(3 中排除所识别元素的打印内容指定命令。
5.权利要求1的方法,还包括修改与结构化对象规范OO)的所识别元素对应的显示器上再现的文档(18)的任何区域的一个或多个显示参数。
6.权利要求1的方法,其中文档(82)是网页并且结构化对象规范OO)由文档对象模型(DOM)表示,其中结构化对象规范OO)的每个元素由层次树(84)中的相应DOM对象表示 ο
7.权利要求6的方法,还包括在显示器(16)上的窗口(88)中呈现DOM对象的表示 (84)以及响应于与DOM对象的所呈现的表示(84)有关的用户输入来修改结构化对象规范 (20)的所识别元素的内容,且其中该导出包括从修改的元素中导出打印对象(38)。
8.权利要求1的方法,其中该接收包括以选择指向文档(18)之外的资源(98、102)的超链接引用(64)的形式接收输入姿势(34),且还包括基于超链接引用(64)检索资源(98、 102)以及根据检索的资源(98、102)生成一个或多个打印对象(38)。
9.权利要求8的方法,其中超链接引用(64)指向网页(98),并且该生成包括通过关于网页(98)执行所述接收、识别、解释和导出来生成一个或多个打印对象(38)。
10.权利要求8的方法,其中超链接引用(26)指向视频文件(102),并且该生成包括从视频文件(102)中提取一个或多个关键帧并且根据提取的关键帧生成一个或多个打印对象(38)。
11.权利要求1的方法,其中该确定包括通过给一个或多个页面(50)分配相应那些打印对象(38)并且基于应用于分配给页面(50)的打印对象(38)的布局规则和布局优化准则来确定每个页面的相应布局而自动地确定打印布局(32)。
12.—种设备,包括显示器(156);存储器(157);以及处理单元(155),其耦合到存储器(157)和显示器(156)并且在操作中用来执行操作, 所述操作包括捕获打印对象(38),其中在捕获中处理单元(15 对于每个打印对象(38)分别执行包括如下的操作接收依据文档(18)的结构化对象规范00)在显示器(156)上再现的文档(18)的区域上的用户输入姿势(34),识别在显示器(156)上的用户输入姿势(34)的活动区内再现的结构化对象规范00) 的元素,把用户输入姿势(34)解释为打印内容指定命令,依据结构化对象规范OO)的识别元素和打印内容指定命令从结构化对象规范OO)中导出打印对象(38);确定一个或多个页面(50)上的打印对象(38)的打印布局(3 ;以及输出打印布局(32)。
13.权利要求12的设备,其中在接收中处理单元(15 执行包括接收以至少部分包围显示器(156)上的活动区的边界(70)为形式的用户输入姿势(34)的操作,并且在识别中处理单元(155)执行包括识别其至少一部分被再现在边界(70)内的结构化对象规范OO) 的元素的操作。
14.权利要求12的设备,其中在接收中处理单元(15 执行包括接收以具有顶点的检查标记(60)为形式的用户输入姿势(34)的操作,在识别中处理单元(15 执行包括识别其至少一部分被再现在检查标记(60)的顶点附近的结构化对象规范00)的元素的操作, 并且在解释中处理单元(15 执行包括把用户输入姿势(34)解释为在打印布局(3 中包括所识别元素的打印内容指定命令的操作。
15.权利要求12的设备,其中在接收中处理单元(15 执行包括接收以具有在交点处交叉的两条线的交叉标记(66)为形式的用户输入姿势(34)的操作,在识别中处理单元 (155)执行包括识别其至少一部分被再现在这两条线的交点附近的结构化对象规范OO) 的元素的操作,并且在解释中处理单元(15 执行包括把用户输入姿势(34)解释为从打印布局(3 中排除所识别元素的打印内容指定命令的操作。
16.权利要求12的设备,其中文档(82)是网页并且结构化对象规范由文档对象模型 (DOM)表示,其中结构化对象规范的每个元素由层次树中的相应DOM对象表示,并且处理单元(155)另外在操作中用来执行包括在显示器(156)上的窗口(88)中呈现DOM对象的表示(84)的操作
17.权利要求16的设备,其中处理单元(155)另外在操作中用来执行包括响应于与 DOM对象的所呈现的表示(84)有关的用户输入来修改结构化对象规范OO)的所识别元素的内容的操作,且其中该导出包括从修改的元素中导出打印对象(38)。
18.权利要求12的设备,其中在接收中处理单元(15 执行包括以选择指向文档(18) 之外的资源(98、102)的超链接引用(64)的形式接收输入姿势(34)的操作,并且处理单元 (155)另外在操作中用来执行包括基于超链接引用(64)检索资源(98、102)以及根据检索的资源(98、102)生成一个或多个打印对象(38)的操作。
19.权利要求12的设备,其中在确定中处理单元(15 执行包括通过给一个或多个页面(50)分配相应那些打印对象(38)并且基于应用于分配给页面(50)的打印对象(38)的布局规则和布局优化准则来确定每个页面(50)的相应布局而自动地确定打印布局(32)的操作。
20.一种计算机可读介质(157),其存储使计算机(154)执行包括如下的操作的计算机可读指令捕获打印对象(38),其中对于每个打印对象(38),该捕获分别包括接收依据文档(18)的结构化对象规范00)在显示器(16)上再现的文档(18)的区域上的用户输入姿势(34),识别在显示器(16)上的用户输入姿势(34)的活动区内再现的结构化对象规范00) 的元素,把用户输入姿势(34)解释为打印内容指定命令,依据结构化对象规范00)的所识别元素和打印内容指定命令从结构化对象规范00) 中导出打印对象(38);确定一个或多个页面(50)上的打印对象(38)的打印布局(3 ;以及输出打印布局(32)。
全文摘要
捕获打印对象(38)。在捕获每个打印对象(38)的过程中,接收依据文档(18)的结构化对象规范(20)在显示器(16)上再现的文档(18)的区域上的用户输入姿势(34);识别在显示器(16)上的用户输入姿势(34)的活动区内再现的结构化对象规范(20)的元素;把用户输入姿势(34)解释为打印内容指定命令;以及依据结构化对象规范(20)的所识别元素和打印内容指定命令从结构化对象规范(20)中导出打印对象(38)。确定一个或多个页面(50)上的打印对象(38)的打印布局(32)。输出打印布局(32)。
文档编号G06F3/048GK102165410SQ200880128449
公开日2011年8月24日 申请日期2008年1月31日 优先权日2008年1月31日
发明者C·阿特金斯, S·刘, 张彤, 肖峻 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1