解析布局相关文档中的页面引用的制作方法

文档序号:6435243阅读:91来源:国知局
专利名称:解析布局相关文档中的页面引用的制作方法
解析布局相关文档中的页面引用
背景技术
以基于办公效率的格式存储的文档通常没有设定的页面布局。结果,文档的项会出现的页面完全与用于对文本数据进行布局的方法相关。另外,这些文档的某些部分会包括对文档的其它部分的引用。为了使得这些引用更加准确,当处理引用时,需要知道引用项出现的页面。在办公效率的应用中,该信息毫无疑义是已知的,这是因为整个文档对于处理在任何给定时间都是可用的。然而,在打印机中,文档必须被线性地处理,因此对在引用之后出现的项的引用无法准确地识别引用项。

发明内容
一般地,在一个方面,本发明涉及一种用于解析电子文档(ED)中的引用的方法。 该方法包括获得包括对ED内的项的引用的ED ;基于ED生成用于输入到布局引擎的中间文档(ID);在ID外的数据结构内识别包括引用的初始值的条目;通过布局引擎并且在ED 的第一呈现(rendering)期间,基于ID和替代引用的初始值计算包括项的第一页面;用与第一页面对应的第一页码填充条目;通过布局引擎并且在ED的第二呈现期间,基于ID和替代引用的第一页码计算包括项的第二页面;用与第二页面对应的第二页码填充条目;以及使用布局引擎并且响应于条目中第一页码等于第二页码,基于ID和替代引用的第二页码生成第一呈现文档(RD)。一般地,在一个方面,本发明涉及一种存储用于解析电子文档(ED)中的引用的指令的非暂态计算机可读存储介质。该指令包括以下功能获得包括对ED内的项的引用的 ED;基于ED生成用于输入到布局引擎的中间文档(ID);在ID外的数据结构内,识别包括引用的初始值的条目;将ID和替代引用的初始值提交到布局引擎,其中布局引擎在ED的第一呈现期间计算包括项的第一页面;用与第一页面对应的第一页码填充条目;将ID和替代引用的第一页码提交到布局引擎,其中布局引擎在ED的第二呈现期间计算包括项的第二页面;用与第二页面对应的第二页码填充条目;以及响应于第一页码等于第二页码,基于ID 和替代引用的第二页码生成呈现文档(RD)。一般地,在一个方面,本发明涉及一种用于解析电子文档(ED)中的引用的系统。 该系统包括硬件处理器;转换器模块,其在硬件处理器上执行,并且被配置成基于包括对 ED内的项的引用的电子文档(ED)而生成中间文档(ID);布局引擎,其在硬件处理器上执行并且被配置成在ED的第一呈现期间,基于ID和替代引用的初始值计算包括项的第一页面;以及在ED的第二呈现期间,基于ID和替代引用、与第一页面对应的第一页码,计算包括项的第二页面;以及数据结构,其在ID的外部并且包括存储初始值、第一页码以及与第二页面对应的第二页码的条目,其中布局引擎进一步被配置成响应于第一页码等于第二页码,基于ID和替代引用的第二页码生成呈现文档(RD)。根据以下描述和所附权利要求,本发明的其它方面将变得明显。


图1示出了根据本发明的一个或更多个实施例的系统。图2示出了根据本发明的一个或更多个实施例的流程图。图3、4A和4B示出了根据本发明的一个或更多个实施例的示例。图5示出了根据本发明的一个或更多个实施例的计算机系统。
具体实施例方式现在将參照附图详细描述本发明的具体实施例。为了一致性,各图中相似的元件以相似的附图标记来表示。在本发明的实施例的以下详细描述中,阐述了大量特定的细节,以提供对本发明的更全面的理解。然而,对本领域技术人员来说明显的是,本发明可在没有这些特定细节的情况下来实践。在其它实例中,没有详细描述公知的特征,以避免不必要地使描述复杂化。一般地,本发明的实施例提供了一种用于解析电子文档(ED)中的引用的系统和方法。具体地,在布局引擎对ED的处理之前,用先前记录的页码替代引用。先前记录的页码对应于在ED的先前呈现期间引用项所位于的页面。在布局引擎对ED的处理之后,将引用项所位于的最新的页面的页码与替代值进行比较。如果不存在匹配,则重复处理,但是使用最新的页码作为引用的替代。图1示出了根据本发明的一个或更多个实施例的系统100。如图1所示,系统100 具有多个部件,包括页面呈现装置125和客户端计算机105。页面呈现装置125可以是例如打印机、电子阅读器等。客户端计算机105可以是个人计算机(PC)、台式计算机、主机、服务器、电话、配电亭(kiosk)、电缆箱、个人数字助理(PDA)、移动电话、智能电话等。客户端计算机105和页面呈现装置125之间可以是直接连接(例如,通用串行总线(USB)连接)。 替选地,客户端计算机105和页面呈现装置125可使用具有有线和/或无线分段的网络120 而连接。在本发明的一个或更多个实施例中,页面呈现装置125是影印机(未示出)的部分。在本发明的一个或更多个实施例中,页面呈现装置125和客户端计算机105是影印机 (未示出)的部分。在本发明的一个或更多个实施例中,PRD 125位于客户端计算机105上。在这样的实施例中,PRD 125可对应于用于呈现ED的客户端装置105上的硬件和软件的任意組合。在本发明的一个或更多个实施例中,客户端计算机105执行用户应用程序110。用户应用程序110是由用户操作的软件应用程序,并且被配置成获得、输入、生成和/或打印具有任意数目的页面的电子文档(ED)(例如,电子文档115)。因此,用户应用程序110可以是字处理应用程序、电子表格应用程序、桌面出版应用程序、图形应用程序、照片打印应用程序、因特网浏览器等。用户应用程序110可生成新的ED和/或获得先前保存的ED。在本发明的一个或更多个实施例中,电子文档115的节包括对EDl 15内的项的ー 个或更多个引用。当基于ED 115生成呈现文档145吋,ー个或更多个引用将被引用项所位于的呈现文档145中的页面的页码所取代。例如,ED 115可包括内容表(TOC)节。TOC节将包括对ED 115的副标题和章节小标题的引用。当基于ED 115生成呈现文档145吋,引用将被副标题和章节小标题所位于的呈现文档145中的页面的页码所取代。在本发明的一个或更多个实施例中,ED 115是使用文档标记语言(例如,0DF、OOXML等)来表示/定义的。因此,引用可被记录为文档标记语言的标签内的属性。此外, 由用户应用程序110针对ED 115创建的分页符也可被记录在文档标记语言的标签内。在本发明的一个或更多个实施例中,页面呈现装置125包括布局引擎140。布局引擎140被配置成计算可读介质(例如,纸、幻灯片、縮影胶片、计算机监视器、电子阅读器等)上的ED 115的栏、段落、语句、词、字母、副标题、小标题、图像等的位置/布置。在本发明的一个或更多个实施例中,页面呈现装置125包括转换器模块135。转换器模块135被配置成将ED 115变换(转换)成适合于布局引擎140使用的中间形式或中间文档(ID)。此外,转换器模块135可用布局引擎140使用中间形式之前的页码替代中间形式的引用。在本发明的一个或更多个实施例中,数据结构130包括与ED 115中的每个引用对应的条目。每个条目可具有引用的多个值。这多个值(例如,PNpPNpPNpPNp...)对应于在布局引擎140对ED 115的先前呈现期间引用项所位于的页面的页码。在本发明的一个或更多个实施例中,可基于用户应用程序110设置的分页符来估计初始值(即,PN0)。在本发明的一个或更多个实施例中,为了使得引用准确,当布局引擎140处理引用吋,需要知道引用项所位于的页面。然而,在页面呈现装置125中,ED 115被线性地处理,并且对引用之后出现的项的任何引用(例如,TOC节之后的副标题)无法准确地识别页码。因此,当布局引擎140处理引用吋,用在先前呈现之后先前记录在数据结构130中的页码来替代引用。一旦布局引擎140呈现了文档,则可以将替代值与引用项所位于的页面的实际页码进行比较。如果不存在匹配,则可以重复处理,但是使用最新的页码作为对引用的替代。在本发明的一个或更多个实施例中,页面呈现装置125还可包括用于显示与打印处理相关联的信息的⑶I (未示出)。⑶I可以在页面呈现装置125的显示器上在网络浏览器、应用程序窗ロ等中来查看。可以由用户应用程序110的用户以这些显示技术来查看 GUI。GUI可包括标准显示元素,包括视频、音频和文本以及接ロ技术,而不限于形式上的文本提交、话音捕获以及用户手势解释。在本发明的一个或更多个实施例中,可存在用于查看 ⑶I的多种其它显示技木。图2示出了根据本发明的一个或更多个实施例的流程图。图2中示出的处理例如可供图1的系统使用,以解析电子文档中的引用。图2中示出的步骤的順序在本发明的实施例中可不同,并且ー个或更多个步骤可并行执行和/或可以是可选的。在步骤205中,获得电子文档(ED)。ED包含对ED中的项的引用。例如,引用可以是对ED内的章节标题或副标题的指针。此外,引用可位于ED的内容表内。在本发明的一个或更多个实施例中,ED是使用文档标记语言(例如,0DF、00XML等)来表示/定义的。因此,ED和ED中的引用的特性可被记录为文档标记语言的标签内的属性。在步骤210中,(例如,由以上參照图1讨论的转换器模块135)生成中间文档 (ID)。ID是适合于布局引擎使用的文档。ID可包括ED的内容,但是具有未解析的引用。在步骤215中,在ED和ID外的数据结构中识别引用的条目。条目包括引用的初始值。例如,条目可具有初始值“3”。在本发明的一个或更多个实施例中,可基于用户应用程序(例如,以上參照图1讨论的用户应用程序110)设置的分页符来估计初始值。在步骤220中,计数器K被初始化为K = 1,并且页码η (即,PNih)的值被设置为PNIH = PN0 =初始值。在步骤225中,计算具有引用项的页面。具体地,在ED的第K次呈现期间(例如, 由以上參照图1讨论的布局引擎140)执行计算,其中在ED的第K次呈现之前,PNih替代引用。在步骤230中,将与算出的页面对应的页码记录在条目中。此外,将变量PNk设置为PNk =页码。在步骤235中,确定PNk是否等于PNim。当确定PNk等于PNih吋,处理进行到步骤 2450否则,当确定PNk不等于PNim吋,处理进行到步骤M0。在步骤MO中,将计数器K递增一,并且处理返回至步骤225。在步骤M5中,生成呈现文档。呈现文档是基于以PNk-代引用的ID生成的。呈现文档的生成可包括通过页面呈现装置(例如,打印机)打印呈现文档。本领域技术人员将理解,可执行多种其它以上未描述的步骤。图3示出了根据本发明的一个或更多个实施例的数据结构300。数据结构300可与以上參照图1讨论的数据结构130基本上相同。每个条目310对应于ED中的不同引用。 此外,每栏对应于布局引擎对ED的不同呈现(即,图2中示出的处理的不同迭代)。如图3 所示,在第一次迭代306之后,以引用A引用的项被计算为在呈现文档的页面3上。在X-I 次迭代308之后,以引用A引用的项被计算为在呈现文档的页面4上。在X次迭代309之后,以引用A引用的项被计算为仍在呈现文档的页面4上。換言之,进行了 X次迭代(即, ED的X次呈现),以最终定下以引用A引用的项的位置。相比之下,在第一次迭代之后,就正确地识别具有以引用B和引用C引用的项的页面。在本发明的一个或更多个实施例中, 当最终定下引用所引用的项的位置(即,页码在至少最后两次迭代中保持恒定)或迭代次数超过预定限制(例如,11次迭代)吋,生成呈现文档(例如,硬拷贝文档)。图4A示出了根据本发明的一个或更多个实施例的示例。图4A中示出的示例例如可供系统100使用,以解析电子文档中的引用。图4A中示出的部分在本发明的实施例中可不同,并且ー个或更多个部分可并行执行和/或可以是可选的。在部分A 405中,史密斯先生在客户端计算机上在用户应用程序中制作了电子文档(ED)。该ED可以是例如字处理文档。用户应用程序可以是例如字处理器。客户端计算机可以是例如史密斯先生的台式计算机。在部分B 406中,史密斯先生提交ED的打印命令。打印命令可由用户应用程序通过网络传送到打印机(即,页面呈现装置)。在该示例中,打印命令初始化打印处理,并且将呈现处理卸载到打印机而不是在客户端计算机上执行呈现。在部分C 407中,打印机基于ED生成包含对ED中的项的引用的ID。该项可位于 ID中的任何地方,并且对该项的引用可位于例如ID的内容表中。在部分D 408中,打印机创建引用的条目,并且存储引用的初始值。条目可以以数据结构存储在打印机上,并且初始值可以是随机生成的数或恒定值(例如“ 0”)。这是在初始呈现期间将最初替代ID中的引用的值。在部分E 409中,在以初始值替代引用的ID的初始呈现期间,打印机计算/识别项所位于的页面的页码(即,PN1),并且将页码记录在条目中。PN1可以是例如“ 3”。在部分F 410中,打印机确定初始值不等于PN1 (即,初始值=0兴PN1 = 3)。这些值是不同的,这是因为引用项所位于的页面已改变。当例如内容被扩展、引用被填满时以及由于各种其它因素,这会在呈现处理期间发生。在部分G 411中,在以PNX_2替代引用的随后呈现期间,打印机识别位于具有页码 PNjh的页面上的引用项。PNjh然后被记录在条目中。打印机确定PNjh不等于PNX_2并且启动另ー呈现。在部分H 412期间,在以PNjh替代引用的第X次呈现期间,打印机识别位于具有页码PNx的页面上的引用项。PNx然后被记录在条目中。如部分H 412所示,PNjh = PNx = 6。这对应于引用项的位置已被最终定下的情形。图4B示出了根据本发明的一个或更多个实施例的示例。图4B中示出的示例可供例如系统100使用,以解析电子文档中的引用。图4B中示出的部分在本发明的实施例中可不同,并且ー个或更多个部分可并行执行和/或可以是可选的。在部分I 413中,打印机确定PNjh = PNx = 6。如上所述,这对应于引用项的位置被最终定下的情形。在部分J 414中,打印机基于ID和替代引用的PNX,生成硬拷贝文档(即,呈现文档)。具体地,在该示例中,通过将引用设置为“6”来生成(和打印)硬拷贝文档。在部分K 415中,打印机修改ED以包括PNx作为引用的潜在值。在该示例中,打印机修改ED以包含引用的值“6”。如果未来尝试打印ED,则引用的初始值可被设置为“6”, 以消除或至少减少生成硬拷贝文档所需的迭代次数。打印机还可使用其它类似的方法以立即识别引用的正确值。例如,打印机可识别 ED中的一組分页符,并且将引用的初始值设置为分页符的值。这可产生更接近引用的最终值的初始值,并且可要求较少的呈现迭代来识别这些最终值。分页符通常对布局特性的微小改变非常敏感,并且在不同的用户应用程序之间可不同。然而,分页符可提供关于文档的、包含被引用的特定项的页面的逼近。使用分页符来设置初始值可用作呈现处理的部分, 或者可取代呈现处理来使用。例如,如果在值的确定中不需要完全的准确性,则在呈现处理期间可取代识别引用值而使用分页符值。这可消除通过ID迭代多次以识别引用值的需要。 否则,可使用从分页符得到的值作为开始呈现处理的初始值。本发明的实施例实际上可在任何类型的计算机上实现,而与所使用的平台无关。 例如,如图5所示,计算机系统500包括一个或更多个处理器502、相关联的存储器504 (例如,随机存取存储器(RAM)、缓存、闪存等)、存储装置506 (例如,硬盘、诸如光盘驱动器或数字视频盘(DVD)驱动器的光驱、闪存棒等)以及当今计算机(未示出)的典型的大量其它元件和功能。在本发明的一个或更多个实施例中,处理器502是硬件。例如,处理器可以是集成电路。计算机系统500还可包括输入装置,诸如键盘508、鼠标510或麦克风(未示出)。 此外,计算机系统500可包括输出装置,诸如监视器512(例如,液晶显示器(LCD)、等离子显示器或阴极射线管(CRT)监视器)。计算机系统500可经由网络接ロ连接(未示出)连接到网络514(例如,局域网(LAN)、诸如因特网的广域网(WAN)或任何其它类型的网络)。在本发明的一个或更多个实施例中,存在许多不同类型的计算机系统,并且上述输入和输出装置可采用其它形式。一般而言,计算机系统500至少包括实践本发明的实施例所需的最少处理、输入和/或输出装置。此外,在本发明的一个或更多个实施例中,上述计算机系统500的ー个或更多个元件可位于远程位置并且通过网络连接到其它元件。此外,本发明的实施例可在具有多个节点的分布式系统上实现,其中本发明的各个部分(例如,数据结构、转换器模块、布局引擎)可位于分布式系统内的不同节点上。在本发明的一个实施例中,节点对应于计算机系统。替选地,节点可对应于具有相关联的物理存储器的处理器。替选地,节点可对应于处理器或具有共享存储器和/或资源的处理器的微核。此外,用于执行本发明的实施例的计算机可读程序代码形式的软件指令可暂时或永久存储在非暂态计算机可读存储介质上,诸如光盘(CD)、磁盘、穿孔卡、磁带、存储器或任何其它计算机可读存储装置。
尽管关于有限数目的实施例描述了本发明,但是得益于本公开内容的本领域技术人员将理解,在不背离此处公开的本发明的范围的情况下,可以想到其它实施例。因此,本发明的范围应仅由所附权利要求来限定。
权利要求
1.一种用于解析电子文档ED中的引用的方法,包括 获得包括对所述电子文档内的项的引用的电子文档;基于所述电子文档,生成用于输入到布局引擎的中间文档ID ; 在所述中间文档外的数据结构内识别包括所述引用的初始值的条目; 通过所述布局引擎并且在所述电子文档的第一呈现期间,基于所述中间文档和替代所述引用的所述初始值,计算包括所述项的第一页面; 用与所述第一页面对应的第一页码填充所述条目;通过所述布局引擎并且在所述电子文档的第二呈现期间,基于所述中间文档和替代所述引用的所述第一页码,计算包括所述项的第二页面;用与所述第二页面对应的第二页码填充所述条目;以及使用所述布局引擎并且响应于在所述条目中所述第一页码等于所述第二页码,基于所述中间文档和替代所述引用的所述第二页码,生成第一呈现文档RD。
2.根据权利要求1所述的方法,其中,所述电子文档是使用可扩展标记语言定义的。
3.根据权利要求1所述的方法,其中,所述电子文档是由页面呈现装置PRD获得的,并且其中,所述页面呈现装置包括所述布局引擎和所述数据结构。
4 根据权利要求1所述的方法,还包括在所述电子文档内识别与用户应用程序相关联的分页符的出现;以及在计算所述第一页面之前,基于所述分页符在所述条目中设置所述初始值。
5.根据权利要求1所述的方法,还包括响应于所述第一页码等于所述第二页码,修改所述电子文档以包括用于所述引用的所述第二页码;以及使用所述第二页码作为所述初始值来生成所述电子文档的第二呈现文档。
6.根据权利要求1所述的方法,其中,所述数据结构是数组。
7.根据权利要求1所述的方法,其中,所述电子文档包括内容表,并且其中,所述内容表包括所述引用。
8.一种存储用于解析电子文档ED中的引用的指令的非暂态计算机可读存储介质,所述指令包括以下功能获得包括对所述电子文档内的项的引用的电子文档; 基于所述电子文档,生成用于输入到布局引擎的中间文档ID ; 在所述中间文档外的数据结构内识别包括所述引用的初始值的条目; 将所述中间文档和替代所述引用的所述初始值提交到所述布局引擎,其中,所述布局引擎在所述电子文档的第一呈现期间计算包括所述项的第一页面; 用与所述第一页面对应的第一页码填充所述条目;将所述中间文档和替代所述引用的所述第一页码提交到所述布局引擎,其中,所述布局引擎在所述电子文档的第二呈现期间计算包括所述项的第二页面; 用与所述第二页面对应的第二页码填充所述条目;以及响应于所述第一页码等于所述第二页码,基于所述中间文档和替代所述引用的所述第二页码,生成呈现文档RD。
9.根据权利要求8所述的非暂态计算机可读存储介质,其中,所述电子文档是使用可扩展标记语言定义的。
10.根据权利要求8所述的非暂态计算机可读存储介质,其中,所述电子文档是由页面呈现装置PRD获得的,并且其中,所述页面呈现装置包括所述布局引擎和所述数据结构。
11.根据权利要求8所述的非暂态计算机可读存储介质,其中,所述指令还包括以下功能在所述电子文档内识别与用户应用程序相关联的分页符的出现;以及在计算所述第一页面之前,基于所述分页符在所述条目中设置所述初始值。
12.根据权利要求8所述的非暂态计算机可读存储介质,所述指令还包括响应于所述第一页码等于所述第二页码,修改所述电子文档以包括用于所述引用的所述第二页码;以及使用所述第二页码作为所述初始值来生成所述电子文档的第二呈现文档。
13.根据权利要求8所述的非暂态计算机可读存储介质,其中,所述数据结构是数组。
14.根据权利要求8所述的非暂态计算机可读存储介质,其中,所述电子文档包括内容表,并且其中,所述内容表包括所述弓I用。
15.一种用于解析电子文档ED中的引用的系统,包括 硬件处理器;转换器模块,其在所述硬件处理器上执行,并且被配置成基于包括对所述电子文档内的项的引用的电子文档ED而生成中间文档ID ;布局引擎,其在所述硬件处理器上执行,并且被配置成在所述电子文档的第一呈现期间,基于所述中间文档和替代所述引用的初始值,计算包括所述项的第一页面;以及在所述电子文档的第二呈现期间,基于所述中间文档和替代所述引用、与所述第一页面对应的第一页码,计算包括所述项的第二页面;以及数据结构,其在所述中间文档外部,并且包括存储所述初始值、所述第一页码以及与所述第二页面对应的第二页码的条目,其中,所述布局引擎进一步被配置成响应于所述第一页码等于所述第二页码,基于所述中间文档和替代所述引用的所述第二页码,生成呈现文档RD。
16.根据权利要求15所述的系统,其中,所述电子文档是使用可扩展标记语言定义的。
17.根据权利要求15所述的系统,还包括用户应用程序,被配置成记录所述电子文档中的分页符的出现, 其中,所述初始值是基于所述分页符设置的。
18.根据权利要求15所述的系统,其中,所述布局引擎进一步被配置成响应于所述第一页码等于所述第二页码,修改所述电子文档以包括用于所述引用的所述第二页码;以及使用所述第二页码作为所述初始值来生成所述电子文档的第二呈现文档。
19.根据权利要求15所述的系统,其中,所述转换器模块、所述布局引擎以及所述数据结构位于页面呈现装置上。
20.根据权利要求15所述的系统,其中,所述电子文档包括内容表,并且其中,所述内容表包括所述引用。
全文摘要
一种用于解析电子文档(ED)中的引用的方法,包括获得具有对项的引用的ED;基于ED生成用于输入到布局引擎的中间文档(ID);识别具有引用的初始值的条目;在ED的第一呈现期间,基于ID和替代引用的初始值计算具有项的第一页面;用与第一页面对应的第一页码填充条目;在ED的第二呈现期间,基于替代引用的第一页码计算具有项的第二页面;用与第二页面对应的第二页码填充条目;以及响应于第一页码等于第二页码,基于替代引用的第二页码,生成第一呈现文档。
文档编号G06F17/30GK102567305SQ20111030561
公开日2012年7月11日 申请日期2011年9月29日 优先权日2010年9月30日
发明者詹森·詹姆斯·格拉姆斯 申请人:柯尼卡美能达美国研究所有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1