CN102132313B - 具有本机部分和导出部分的内容 - Google Patents
具有本机部分和导出部分的内容 Download PDFInfo
- Publication number
- CN102132313B CN102132313B CN200980134128.4A CN200980134128A CN102132313B CN 102132313 B CN102132313 B CN 102132313B CN 200980134128 A CN200980134128 A CN 200980134128A CN 102132313 B CN102132313 B CN 102132313B
- Authority
- CN
- China
- Prior art keywords
- content
- export section
- application program
- machine part
- machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 43
- 230000004048 modification Effects 0.000 claims description 2
- 238000012986 modification Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 35
- 230000008569 process Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 11
- 239000012634 fragment Substances 0.000 description 8
- 238000004806 packaging method and process Methods 0.000 description 8
- 238000007639 printing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000009795 derivation Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
Abstract
描述具有本机部分和导出部分的内容。在一种实现中,一个或多个计算机可读介质包括可在计算设备上执行以便在内容容器中将内容存储为本机部分和导出部分的指令。本机部分对首创内容的应用程序来说是本机的,而导出部分在本机部分不受支持时提供该内容的发布视图。
Description
背景
软件开发者继续添加和修改应用程序以便向用户提供所增加的功能。例如,软件开发者可以编写以与先前提供功能的方式所不同的方式提供功能的新应用程序。同样,可以对现有应用程序作出修改,例如添加新的功能部件、修改现有的功能部件、删除不希望的功能部件等等。然而,由这些应用程序使用的文件格式,无论是新文件格式还是被修改的文件格式,都可能与现有的文件格式不兼容。
概述
描述具有本机部分和导出部分的内容。在一种实现中,一个或多个计算机可读介质包括可在计算设备上执行以便在内容容器中将内容存储为本机部分和导出部分的指令。本机部分对首创内容的应用程序来说是本机的,且导出部分用来在本机部分不受支持时提供内容的发布视图。
在一种实现中,在作出内容容器中的内容的本机部分与应用程序不兼容的判断时,读取内容容器中所包括的被配置成提供内容的发布视图的导出部分。输出从导出部分所读取的内容的发布视图。
在一种实现中,作出内容容器中的内容的本机部分与应用程序不兼容的判断。选择内容容器中所包括的多个导出部分中的一个,其中导出部分中的每一个都被配置成提供内容的发布视图。从所选择的导出部分输出内容的发布视图。
提供本概述以便以简化形式介绍下面在详细描述中进一步描述的概念的选集。本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来帮助确定所要求保护的主题的范围。
附图简述
参考附图描述该详细描述。各图中,参考数字的最左边的(诸)数字标识符其中该参考数字第一次出现的图。在描述和附图中的不同实例中相同的参考数字的使用可以指示相似的或相同的项。
图1是在示例实现中可操作为采用涉及具有本机部分和导出部分的内容的技术的环境的阐释。
图2是将图1的计算设备更详细地示出为经由网络与其他计算设备通信的示例实现中的系统的阐释。
图3将图1和图2的内容容器的示例实现描绘为具有遵照XPS的导出部分。
图4是描述示例实现中其中编写包括将对应用程序来说是本机的内容的版本存储在本机部分中并将对应用程序来说不是本机的内容的版本存储在导出部分中的选项的应用程序的过程的流程图。
图5是描述在示例实现中其中图4的应用程序被部署到最终用户并由最终用户使用的过程的流程图。
图6是描述在示例实现中其中在应用程序与内容容器中的本机部分不兼容时选择多个导出部分中的至少一个以便由应用程序输出的过程的流程图。
详细描述
概览
软件开发者(例如,独立软件供应商、执业软件开发者等等)可以生产具有与现有文件格式不兼容的文件格式的应用程序。例如,文件格式可以被修改为支持添加到应用程序的功能。然而,所修改的文件格式可能与先前的文件格式不兼容。同样地,可以开发与先前存在的文件格式不兼容的新文件格式。
传统上,具有这些新格式(无论是新格式还是被修改的格式)的应用程序在用户能够使用该应用程序的本机格式来共享内容之前在广泛的安装基础上部署。用来减轻此问题的传统技术涉及导出功能的使用。然而,此传统技术的使用涉及由用户选择是将内容保存到本机格式还是将内容导出到另一格式。此选择可以导致在功能方面可以具有广泛差异的不同的内容版本的传播,例如,固定的功能对比可修改的功能、内容显示的不同丰富程度等等。
描述具有本机部分和导出部分的内容。在一种实现中,描述了可以被用来维护具有本机格式的内容的本机部分和提供内容的发布视图的导出部分的内容容器。例如,本机部分可以包括对首创内容的应用程序来说是本机的格式的内容,例如新的文件格式或修改的文件格式的内容。导出部分可以提供可以由与本机文件格式不兼容的应用程序访问的内容的发布视图。因而,在内容容器被不支持本机文件格式的应用程序访问时,该应用程序可以访问导出部分以便获取内容的发布视图。以此方式,内容容器可以自由地被应用程序共享而不考虑该应用程序是否与本机文件格式兼容。不兼容的应用程序可以“回退”至内容的兼容版本。在一种实现中,执行内容在内容容器中的存储(例如,使用“保存”命令)以使得自动地存储本机部分和导出部分且无需进一步的用户干预。
在一种实现中,内容容器可以支持导出部分的分层排列。例如,可以使用可以支持不同的功能例如支持不同的显示技术(例如,颜色、字体、动画等等)、可以是固定的或可修改的等等的不同文件格式来存储导出部分。因此,可以向与本机文件格式不兼容的应用程序提供各种导出部分,这些导出部分可以使用各种各样的考虑例如访问内容容器的应用程序功能来选择。还构想了各种其他示例,这些其他示例的进一步讨论可在有关图6处找到。
在以下讨论中,首先描述可操作为采用涉及具有本机部分和导出部分的内容的技术的示例环境。然后,描述可以在该示例环境中采用的各示例过程。因此,各示例过程的实现不限于该示例环境,且同样地该示例环境的使用不限于执行各示例过程。
示例环境
图1是在示例实现中可操作为采用涉及具有本机部分和导出部分的内容的技术的环境100的阐释。所阐释的环境100包括具有处理器104和存储器106的计算设备102。可以以各种方式配置计算设备102。例如,计算设备102可以被配置成能够在网络上通信的计算机,例如台式计算机、移动台、娱乐设备、通信上被耦合到显示器设备的机顶盒、无线电话、游戏控制台等等。因而,计算设备102的范围可以是从带有充足的存储器和处理器资源的全资源设备(例如,个人计算机、游戏控制台)到具有有限的存储器和/或处理资源的低资源设备(例如,传统机顶盒、手持式游戏控制台)。
处理器104不受形成其的材料或其中采用的处理机制所限制。例如,处理器104可以由(诸)半导体和/或晶体管(例如,电子集成电路(IC))组成。在这样的上下文中,计算机可执行指令可以是处理器可执行指令。替代地,处理器的机制或用于处理器的机制,以及因而计算设备102的机制或用于计算设备102的机制,可以包括但不限于,量子计算、光计算、机械计算(例如,使用纳米技术)等等。另外,尽管出于图的清晰起见而示出单个计算设备102和处理器104,但这些设备可以代表一个或多个设备。同样地,尽管示出单个存储器106,但可以采用各种各样的类型和组合的存储器,例如随机存取存储器(RAM)、硬盘存储器、可移动介质存储器和其他类型的计算机可读介质。
计算设备102进一步被阐释为包括操作系统108和应用程序110。处理器104可以从应用程序110和/或操作系统108检索和执行计算机程序指令以便向计算设备102提供广泛的功能。例如,应用程序110可以包括与办公生产力、电子邮件、媒体管理、打印、连网、web浏览等等相关的功能。构想了与应用程序110相关的各种内容,其示例包括办公文档、多媒体文件、电子邮件、数据文件、web页面、用户简档和/或喜好数据等等。操作系统108可以将计算设备102的功能抽象给应用程序,以使得应用程序110不“知道”如何提供底层功能,例如,与处理器、存储器、外围设备等等的类型相关的特殊性。
在图1中应用程序110被阐释为包括内容模块112,内容模块112代表应用程序110的与内容114交互的功能。例如,内容模块112可以被配置成从特定的文件格式读取内容114和/或使用特定的文件格式写入内容114。因此,内容模块112可以被认为是与内容模块112可以从其读取内容114和/或向其写入内容114的文件格式兼容。在此示例中,在来自内容模块112的幻影中阐释内容114,以表示内容114的存储由应用程序110的内容模块112发起并起源。
本机内容模块116代表应用程序110中使用对应用程序110来说是本机的文件格式来读取和/或写入内容114的功能。例如,对应用程序110来说是本机的文件格式可以被配置成支持可从应用程序110获得的功能的大部分,例如字体、格式、样式、图像显示技术等等。
导出内容模块118代表应用程序110中使用不同于本机内容模块116支持的本机文件格式的一个或多个文件格式来读取和/或写入内容114的功能。可以支持各种不同的导出文件格式,这些导出文件格式的进一步讨论可在有关图2处找到。
通过本机内容模块116和导出内容模块118的使用,内容模块112还代表应用程序110中从具有本机部分122和导出部分124的内容容器120中读取和/或向其写入的功能。可以以诸如含有具有本机部分122的一个或多个文件和具有导出部分124的一个或多个文件的文件等的各种方式实现内容容器120。在另一示例中,例如通过标签的使用,本机部分122可以与导出部分124交错。因而,本机部分122和导出部分124可以共享内容,在一些示例中可以共享内容的至少一部分。
本机部分122代表由本机内容模块116存储在内容容器120中和/或从其读取的内容114的版本。因而,本机部分描述对应用程序110来说是本机的内容114的版本,这与尽管为应用程序110支持但不是由应用程序110存储内容114的默认选项的其他文件格式形成对比。
导出部分124代表将本机部分122中的内容114的发布视图提供给与应用程序110的本机文件格式不兼容的应用程序的功能。例如,导出内容模块118可以被配置成形成内容容器120的本机部分122中的内容114的发布版本。从内容容器120的导出部分124获取的发布版本可以由与内容120的本机部分122不兼容的应用程序使用,其进一步讨论可在有关图2处找到。以此方式,内容容器120可以由应用程序访问而不考虑该应用程序是否与应用程序110的本机文件格式兼容。因而,通过在内容容器120中包括本机部分122和导出部分124两者,可以在应用程序之间传递内容114而不考虑兼容性,但仍向那些应用程序提供对应的功能。举例来说,与本机文件格式不兼容的应用程序可以将内容容器120传递给兼容的另一应用程序。然后,此另一应用程序可以访问来自本机部分122的内容,这是使用传统的导出或保存技术不可能的。
计算设备102进一步被阐释为包括显示模块126,显示模块126适于接收由内容模块112读取的、待渲染以供输出到显示器设备128的内容。例如,显示模块126可以包括设备驱动器功能,设备驱动器功能与操作系统108通信,以便使得来自内容容器120的内容被渲染以供显示。
尽管内容模块112已经被描述为应用程序110的部分,但可以以各种不同的方式实现内容模块112。例如,操作系统108还被阐释为包括内容模块130,内容模块130可以包括与对于内容模块110所描述的相似的功能。在此示例中,内容模块130(通过与操作系统108结合)可以将此功能抽象给其他应用程序,诸如读取内容容器120中的内容和/或向其写入内容等的。还构想了各种其他示例,诸如例如被配置成作为内容查看器而工作的“独立的”内容模块等。
图2阐释将图1的计算设备102更详细地示出为经由网络206与其他计算设备202、204通信的系统200。如前所述,计算设备102包括具有带有本机内容模块116和导出内容模块118的内容模块112的应用程序110。计算设备102还包括如先前所描述的具有本机部分122和导出部分124的内容容器120。
计算设备202被阐释为包括本机支持应用程序208,本机支持应用程序208代表与应用程序110兼容的应用程序。例如,本机支持应用程序208可以包括由本机内容模块116表示的、以对应用程序110来说是本机的文件格式读取和/或写入内容的功能。因而,本机支持应用程序208可以从内容容器122的本机部分122读取以便与内容114交互。
然而,计算设备204被阐释为包括与应用程序110不兼容的传统应用程序210。结果,传统应用程序210不被配置成读取内容容器120的本机部分122和/或向其写入内容。因此,传统应用程序210可以访问导出部分124以便获取本机部分122中的内容114的发布版本。
导出部分124可以遵照各种不同文件格式来将内容114存储为可发布版本。正如在图2的此系统200中所阐释的那样,举例来说,导出部分124可以被构建为遵照XML纸张规范(XPS)212(例如,版本1)、可移植文档格式(PDF)214、超文本传输协议(HTTP)216、美国信息交换标准代码(ASCII)218等等。
在一种实现中,导出部分124可以代表在内容容器120中所包括的多个导出部分。例如,内容容器120包括遵照XPS212的导出部分和遵照HTTP216的另一导出部分。因此,可以向传统应用程序210提供发布内容的各版本的各种选项。此各种选项可以被用来支持各种不同的功能。
例如,内容容器120,且更具体地是导出部分124,可以支持级联技术。举例来说,传统应用程序210可能未被配置成支持XPS212,但是可以支持PDF214。因而,仍然向传统应用程序210提供与传统应用程序210兼容的选项。还构想了各种其他示例,这些各种其他实例的进一步讨论可在有关图6处找到。
导出内容模块118还可以提供结合导出部分124的各种其他功能。例如,导出内容模块118可以将导出部分124配置为包括链接220。链接220可以提供各种不同的功能,例如到被配置成从本机部分122读取内容的独立的内容模块112(例如,查看器)的链接、到可以被用来购买应用程序110和/或内容模块112的网站的链接等。
图3将图1和图2的内容容器120的示例实现300描绘为具有遵照XPS的导出部分。就在下面描述的示例的上下文是其中内容容器120可以被构建为遵照XML纸张规范(XPS)版本1的上下文。应明白和理解,可以结合不同于XPS标准的其他标准来采用在本文中描述的各种实施例而不偏离其精神和范围。另外,可以结合XPS规范的随后版本来采用各种实施例。
内容容器120被阐释为包括以本机文件格式302存储的数据和以XPS导出格式304存储的数据。可以以各种不同的方式配置本机文件格式302的数据,以便支持如相对于先前的各图所描述的应用程序读取或写入这一格式的功能。
导出部分124被阐释为被根据XPS212而配置,且因而被阐释为XPS导出格式304。作为XPS标准的简要概览,考虑下列内容。XML纸张规范,即XPS,描述使用XML和其他技术来描述内容的一组约定,例如分页文档的外观。开发XPS是为了保证生产或消费XPS内容的独立创建的软件和硬件系统的互操作性。XPS规范定义生产者和消费者所满足的正式特征,以便获得互操作性。
XPS规范描述被称为XPS文档的分页文档格式。该格式特征涉及在开放式包装约定规范中描述的包装特征的扩展。该规范描述使用XML、Unicode、ZIP和其他技术和规范来组织构成文档的内容和资源的包装和物理格式约定。
XPS文档格式代表具有固定布局的一个或多个相关页面,在字面的传统意义上,这些页面被组织成一个或多个文档。实现此格式的文件提供对将那些文档完全地渲染在显示设备或物理介质(例如,纸张)上的支持。这包括诸如可以用来渲染各个页面标志且因而发布XPS文档中的内容的字体和图像等的资源。
另外,该格式包括在用于渲染一组页面的组件的最小集上构建的可选组件。这包括指定打印工作控制指令、将最小页面标志组织成诸如段落的较大的语义块以及在物理上重新安排该格式的内容以便容易以流化方式消费的能力等等。
XPS文档格式将ZIP归档用作其物理模型。开放式包装约定规范描述一包装模型,也就是说,如何用部件和关系来在内部表示包。XPS文档格式还包括一组部件和关系,其中的每一个都在文档中履行特定目的。该格式还扩展包特征,包括数字签名、缩略图和交错。
开放式包装约定规范中所描述的包装约定可以用来携带与内容相关的各种净荷。净荷是包内相互依存的部件和关系的完全集。XPS规范定义含有分页内容的静态或“固定布局”的表示的特定净荷:不可修改的固定净荷。
拥有至少一个固定净荷并遵循XPS规范中所描述的规则的包被称为XPS文档。XPS文档生产者和消费者可以基于此规范实现他们自己的语法分析程序和渲染引擎。
使用已知的渲染规则,可以毫无疑义地复制或打印XPS文档且无需使计算设备或应用程序捆绑于具体的操作系统或服务库。因为XPS文档是用中立的、独立于应用程序的方式来表达的,所以无需用于创建包的应用程序就可以查看和打印内容。
具有固定文档序列根部件的净荷被称为固定净荷。固定净荷根是引用固定文档部分的固定文档序列部分,固定文档部分又引用固定页面部分。在XPS文档中可以存在多于一个的固定净荷。
定义一种具体的关系类型来标识XPS文档内的固定净荷的根:XPS文档开始部分关系。主固定净荷根是由XPS文档开始部分关系引用的固定文档序列部分。诸如查看器或打印机等的消费者使用XPS文档开始部分关系来查找包中的主固定净荷。XPS文档开始部分关系指向标识固定净荷的根的固定文档序列部分。
净荷包括用来处理固定文档序列部分的各部分的全集。待渲染的内容被包含在XPS文档中。下表列出XPS文档中可找到的各部分,其中的一些在该表下更详细地描述。
固定文档序列306部分
固定文档序列306部分装配了固定净荷内的一组固定文档。例如,打印客户端可以将两个分离的文档即双页封面备忘录和二十页的报告(两者均为固定文档部分)装配成单个包以便发送给打印机。
固定文档序列306部分充当固定净荷的根。即使XPS文档含有单个固定文档,仍然使用固定文档序列306部分。为每个固定净荷使用一个固定文档序列306部分。
固定文档序列标记使用<文档引用>元素来指定序列中的固定净荷中的每一固定文档。<文档引用>元素的次序确定文档次序且由编辑消费者保留。每一<文档引用>元素可以按相对URI引用固定文档部分。
固定文档308部分
固定文档308部分是文档内每一页面的根。固定文档标识用于文档的固定页面集。固定文档308部分中的标记使用<页面内容>元素来指定序列中的文档的页面。<页面内容>元素的次序确定页面次序且由编辑消费者保留。每一<页面内容>元素应根据相对URI引用固定页面部分。
固定页面310部分
固定页面310部分含有待渲染在页面上的可视元素中的每一个。每一页面具有固定的大小和定向。页面上的可视元素的布局由固定页面标记确定。这适用于图形和文本两者,用精确的印刷位置来表示。使用强大而简单的可视原语集来描述页面的内容。
每一固定页面310部分使用<路径>和<字形>元素(使用各种刷元素)和<画布>分组元素来指定<固定页面>元素内的页面的内容。<图像刷>和<字形>元素(或它们的子元素或后代元素)可以根据URI引用图像部分或字体部分,例如,可以根据相对URI引用这些部分。
图像314部分
图像314部分引用图像文件。可以在一个或多个固定文档中的多个固定页面间共享单个图像。在标记中引用的图像对包来说是内部的。对于对包来说是外部的图像的引用不是有效的。
用<图像刷>元素和引用带有适当的内容类型的部分的图像源属性来将各图像包括在XPS文档中。XPS文档可以支持各种图像格式:JPEG、PNG、TIFF和Windows媒体照片。
缩略图318部分
缩略图318是代表固定页面或整个XPS文档的内容的小图像。例如,缩略图318可以被用来允许查看应用程序的用户选择页面。可以使用对固定页面310部分的关系来附加缩略图318图像。每一固定页面310部分不附加多于一个的缩略图部分。
尽管开放式包装约定规范允许将缩略图318附加到任何部分,但XPS文档消费者可以处理经由来自作为整体的包的包关系或经由来自固定页面310部分的关系而关联的缩略图。这些缩略图通常是以JPEG或PNG格式。附加到其他部分的缩略图318可以被XPS文档消费者所忽略。
字体312部分
字体312被存储字体部分中。XPS文档支持OpenType字体格式,其包括TrueType和CFF字体。为支持可移植性,可以使用统一字符编码标准编码的字体。
使用<字形>元素的字体URI属性来引用字体312部分。可以在一个或多个固定文档308中的多个固定页面间共享单个字体。字体引用对包来说是内部的,因而,对字体的外部引用是无效的。
如果所引用的字体部分是TrueType集合,则URI的片段部分指示要使用的字体。URI片段的使用在通用URI语法规范的BNF中指定。字体URI属性值中所含有的片段是0和n-1之间(包括0和n-1)的整数,其中n是TrueType集合中所含有的字体的数量。例如,为引用字体部分“../Resources(资源)/Fonts(字体)/CJKSuper.ttc”中的第一字体,字体URI属性的值是“../Resources/Fonts/CJKSuper.ttc#0”。如果不指定片段,则以与URI已经被指定为“#0”相同的方式使用第一字体。
远程资源字典316部分
远程资源字典316允许生产者定义可以在许多页面上重用的资源,例如刷子。这被存储在远程资源字典316部分中。
打印票320部分
打印票320部分将用户意图和设备配置信息提供给打印消费者。在打印XPS文档时,处理打印票320部分。打印票320部分被附加到固定文档序列306、固定文档308和固定页面310部分,且这些部分中的每一个都不附加多于一个的打印票320。打印票320可以提供在打印它们所附加的部分时所使用的覆写设置。
签名定义328部分
生产者可以将数字签名请求和指令以签名定义的形式来添加到XPS文档。生产者可以针对现有签名定义签名以便提供另外的签名信息。文档的接收者还可以针对签名定义签署XPS文档——这被称为“共同签署”。数字签名定义被存储在签名定义328部分中。固定文档308部分使用签名定义328类型的关系来引用签名定义328部分。
文档结构324部分
显式撰写的文档结构信息被存储在文档结构324部分中。此部分含有文档大纲,并依照被称为故事的语义块定义用于固定页面中的每一元素的架构。各故事被分成故事片段326部分,其含有定义诸如段落和表等的语义块的内容结构标记。
文档结构标记含有根<文档结构>元素。<文档结构>元素使用文档结构命名空间。
通过来自固定文档308部分的关系来引用文档结构324部分。消费者可以基于页面布局分析提供XPS文档的结构的算法构造,但是不能使用这样的方法来导出文档结构部分中所包括的XPS文档的一部分的结构。例如,能够从文档的布局计算出读取次序的消费者使用在文档结构324部分中指定的读取次序,即使所导出的次序可以被视为优于所指定的次序。
故事片段326部分
故事片段326部分含有与单个固定页面相关联的内容结构标记(例如,用于表和段落)。
故事片段326部分标记含有根<故事片段>元素。<故事片段>元素使用所指定的文档结构命名空间。
根据以上所述的原理,描述特定的XPS文档的标记可以被认为是可以被处理成或转换成可在消费设备上渲染的文件的信息或数据的分层表示。
一般地,可以使用软件、固件(例如,固定逻辑电路)、手动处理或这些实现的组合来实现在此描述的任何功能。在此所使用的术语“模块”、“功能”和“逻辑”一般地代表软件、固件或软件和固件的组合。在软件实现的情况中,模块、功能或逻辑代表当在处理器(例如,CPU或多个CPU)上执行时执行所指定的任务的程序代码。程序代码可以被存储在一个或多个计算机可读的存储器设备中,例如存储在图1的存储器106中。涉及下面所描述的具有本机部分和导出部分的内容的各技术的功能部件是独立于平台的,这意味着可以在具有各种处理器的各种商用计算平台上实现各技术。
示例过程
以下讨论描述可以利用先前所描述的系统和设备实现的本机内容和导出内容技术。可以以硬件、固件、或软件、或其组合实现各过程中的每一个的各方面。各过程被示出为一组指定由一个或多个设备执行的操作的框,且不必限于由各个框示出的用于执行操作的次序。在以下讨论的各部分中,将对图1的环境100、图2的系统200和/或图3的实施例300进行引用。
图4描绘了在示例实现中其中编写包括将对应用程序来说是本机的内容的版本存储在本机部分中并将对应用程序来说不是本机的内容的版本存储在导出部分中的选项的应用程序的过程400。编写具有不受其他应用程序支持的本机文件格式应用程序(框402)。例如,应用程序可以对先前存在的文件格式作出修改,以使得所修改的文件格式不受其他应用程序支持。在另一示例中,可以创建新的文件格式以便支持新的应用程序中的功能。
提供将内容容器中来自应用程序的内容存储为遵照本机文件格式的本机部分以及在本机部分不受支持时提供内容的发布视图的导出部分的特征(框404)。如先前所描述,应用程序110可以包括内容模块112,内容模块112具有被配置成以本机文件格式编写内容114的本机内容模块116以及导出内容114以供与本机文件格式不兼容的其他应用程序消费的导出内容模块118。
选择一选项,以使得在由应用程序存储内容时,自动地存储本机部分和导出部分且无需进一步的用户干预(框406)。例如,该选项可以指定在由应用程序的用户发起状态命令时,自动地将内容容器120创建成包括本机部分122和导出部分124。因而,在此示例中,通过单个命令的选择来创建本机部分122和导出部分124。还构想了各种其他示例,诸如通过本机部分122和/或导出部分124的手动指定,例如,诸如指定要由导出部分124所使用的特定文件格式。
将可在计算设备上执行以便使用内容容器来将内容存储为包括本机部分和导出部分的各指令存储在一个或多个计算机可读介质上(框408)。然后,(例如,经由计算机可读介质或在网络上)将应用程序分发给一个或多个最终用户以便在各自的计算设备上执行(框410)。例如,可以将指令编写到硬盘驱动器(例如,来自经由因特网的下载)、写在数字视频盘(DVD)上等等。
形成通信以便与各最终用户的一个或多个计算设备通信,以便禁用该选项,使得不使用导出部分来将内容存储在内容容器中(框412)。如先前所描述,在传统地用“新的”本机文件格式部署应用程序时,传统上,直到应用程序获得广泛的安装基础之前,用户难以使用应用程序的本机格式来共享文档。
通过将本机部分122和导出部分包括在内容容器120内,内容114可以被分发给与本机文件格式不兼容的应用程序并由其消费。然而,可能到达应用程序110已经获得广泛分布的时间点。因此,在这样的实例中,应用程序110的开发者可以选择使得应用程序110默认以本机文件格式保存内容114且无需保存以导出文件格式保存的内容114,例如,诸如以便节省内容容器120所消耗的存储空间。因此,在此示例中,最初被选择(例如,在框406)以便使得内容容器120的组成自动地包括导出部分124且无需用户干预的选项可以被应用程序110的开发者远程禁用,例如,诸如作为对应用程序110的软件更新的一部分。还构想了各种其他示例。
图5描绘在示例实现中其中图4的应用程序被部署到最终用户并由最终用户使用的过程500。接收具有本机部分和导出部分的内容容器(框502)。例如,可以在网络(例如,因特网)上传递内容,经由计算机可读介质接收内容等等。
作出本机部分是否与应用程序兼容的判断(判断框504)。例如,可以在计算设备202上执行本机支持应用程序208。然后,用户可以发起打开命令以便打开具有本机部分122和导出部分124的内容容器120。然后,本机支持应用程序208可以作出本机部分122兼容的判断(自判断框504的“是”)。因此,使用内容容器120的本机部分输出内容(框506)。
在另一示例中,可以在计算设备204上执行传统应用程序210。然后,用户可以发起打开命令来打开内容容器120。然后,本机支持应用程序208可以作出本机部分不兼容的判断(自判断框504的“否”)。因此,读取内容容器中所包括的被配置成提供内容的发布视图的导出部分(框508)。然后,输出从导出部分读取的内容的发布视图(框510)。例如,导出部分124可以遵照XPS212格式以使得诸如嵌入的字体、图像等等的用来发布内容的相关数据被包括在导出部分124内。以此方式,导出部分124可以将内容发布给与本机部分122不兼容(例如与首创本机部分122中的内容的应用程序110的本机文件格式不兼容)的应用程序。还构想了诸如包括PDF214、HTTP216、ASCII218等等的文件格式等的发布内容的各种其他示例。进一步,导出部分124可以被配置成支持各种回退功能,各种回退功能的进一步讨论可在有关以下过程处找到。
图6描绘在示例实现中其中在应用程序与内容容器中的本机部分不兼容时选择多个导出部分中的至少一个以便由应用程序输出的过程600。作出内容容器中的内容的本机部分与应用程序不兼容的判断(框602)。可以以相对于先前的图所描述的各种方式作出判断。
选择内容容器中所包括的多个导出部分中的一个,其中导出部分中的每一个被配置成提供内容的发布视图(框604)。可以采用各种不同的考虑作为选择的基础。例如,一种这样的考虑包括,与应用程序兼容的多个导出部分中的哪一个与内容容器的其他导出部分相比支持更丰富的内容显示(框606)。举例来说,传统应用程序210可以与HTTP216和ASCII218兼容。因此,在此实例中,传统应用程序210可以将HTTP216文件格式选择为与ASCII218所支持的显示相比支持更丰富的内容显示(例如,字体、图像等等)。
另一这样的考虑包括,与应用程序兼容的多个导出部分中的哪一个可由应用程序修改(框608)。例如,导出部分124中的一个可以支持对内容的修改,而导出部分124中的另一个不可以。因此,在此实例中,传统应用程序210可以选择打开支持修改的导出部分。尽管已经描述了可以用来从多个导出部分中进行选择的考虑的各种示例,但显而易见,此示例列表不是完全的,在不偏离其精神和范围的前提下还构想了各种其他示例。
然后,从所选择的导出部分输出内容的发布视图(框610)。例如,传统应用程序210可以输出内容的发布视图以供由显示设备、扬声器等等渲染。
结论
尽管已经用对结构特征和/或方法论动作来说专用的语言描述了本发明,但应理解,在所附权利要求中界定的本发明不必限于所描述的具体的特征或动作。相反,具体的特征和动作是作为实现所要求保护的本发明的示例形式而公开的。
Claims (18)
1.一种用于在内容容器中存储内容的方法,包括:
在内容容器中包括本机部分(122)和导出部分(124)两者:
其中所述本机部分(122)是首创所述内容以渲染所述内容的本机版本的应用程序所兼容的本机文件格式的;以及
所述导出部分(124)以不同文件格式独立于所述本机部分,以在所述本机版本不被消费应用程序支持时允许所述内容的发布视图的渲染,所述本机部分(122)和导出部分(124)分别代表所述内容容器中相同内容的能够完全地渲染的本机版本和发布版本;
其中,支持所述本机部分的应用程序对所述本机部分的访问提供所述应用程序在访问所述导出部分时不可用的至少一个功能。
2.如权利要求1所述的方法,其特征在于:
所述内容容器包括多个所述导出部分;以及
所述多个导出部分支持级联回退,以使得特定的所述导出部分可由不支持所述本机部分的应用程序基于不支持所述本机部分的所述应用程序的一个或多个能力来选择。
3.如权利要求1所述的方法,其特征在于,所述方法响应于用户对保存命令的选择而自动地将所述内容存储在所述内容容器中且无需另外的用户干预。
4.如权利要求1所述的方法,其特征在于:
所述导出部分包括在所述本机内容不受支持时提供所述内容的发布视图的多个所述导出部分;以及
至少一个所述导出部分是根据不同于另一所述导出部分的格式被配置的。
5.如权利要求1所述的方法,其特征在于,所述导出部分和所述本机部分共享所述内容的至少一部分。
6.如权利要求1所述的方法,其特征在于,所述导出部分和所述本机部分是间隔交错的。
7.如权利要求1所述的方法,其特征在于,所述导出部分是根据XML纸张规范XPS配置的。
8.如权利要求1所述的方法,其特征在于,所述应用程序作为可在计算设备上执行的操作系统的一部分而被包括。
9.如权利要求1所述的方法,其特征在于,所述内容容器是包含多个其他文件的文件,所述多个其他文件中的至少两个包括具有所述本机部分的文件和具有所述导出部分的另一文件。
10.一种从内容容器中读取内容的方法,包括:
在作出包含在内容容器中且具有允许内容的本机版本的渲染的本机文件格式的内容的本机部分与应用程序不兼容的判断时,读取在所述内容容器中所包括的以不同文件格式独立于所述本机部分并被配置成允许所述内容的发布视图的渲染的导出部分(508),所述本机部分和所述导出部分分别代表所述内容容器中相同内容的能够完全地渲染的本机版本和发布版本;以及
输出从所述导出部分读取的所述内容的所述发布视图(510)。
11.如权利要求10所述的方法,其特征在于,所述导出部分是根据XML纸张规范XPS配置的。
12.如权利要求10所述的方法,其特征在于,所述读取和所述输出由所述应用程序执行。
13.如权利要求10所述的方法,其特征在于,所述读取和所述输出由作为操作系统的一部分的所述应用程序执行。
14.如权利要求10所述的方法,其特征在于,所述导出部分包括对被配置成读取所述本机部分并输出所述读取的结果的一个或多个模块的链接。
15.一种从内容容器中读取内容的方法,包括:
判断内容容器中文档的内容的具有用于渲染所述文档的本机版本的本机文件格式的本机部分与应用程序不兼容(602);
选择在所述内容容器中所包括的独立于所述本机部分的多个导出部分中的一个,每一所述导出部分被配置成允许使用各自的文件格式对所述文档的发布视图的呈现(604),所述本机部分和所述多个导出部分的每一个分别代表所述文档的相同内容的能够完全地渲染的本机版本和发布版本;以及
从所选择的所述导出部分输出所述内容的发布视图(606)。
16.如权利要求15所述的方法,其特征在于,至少部分基于与所述应用程序兼容的所述多个导出部分中的哪一个与其他所述导出部分相比支持更丰富的内容显示来执行所述选择。
17.如权利要求15所述的方法,其特征在于,至少部分基于与所述应用程序兼容的所述多个导出部分中的哪一个可由所述应用程序修改来执行所述选择。
18.如权利要求15所述的方法,其特征在于,所述判断、所述选择和所述输出由操作系统执行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/147,304 | 2008-06-26 | ||
US12/147,304 US8015213B2 (en) | 2008-06-26 | 2008-06-26 | Content having native and export portions |
PCT/US2009/048821 WO2009158596A2 (en) | 2008-06-26 | 2009-06-26 | Content having native and export portions |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102132313A CN102132313A (zh) | 2011-07-20 |
CN102132313B true CN102132313B (zh) | 2016-01-27 |
Family
ID=41445334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980134128.4A Active CN102132313B (zh) | 2008-06-26 | 2009-06-26 | 具有本机部分和导出部分的内容 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8015213B2 (zh) |
CN (1) | CN102132313B (zh) |
WO (1) | WO2009158596A2 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9183190B2 (en) * | 2009-09-09 | 2015-11-10 | Adobe Systems Incorporated | Methods and systems for document-based publishing channels |
US9183186B2 (en) | 2011-07-08 | 2015-11-10 | Microsoft Technology Licensing, Llc. | Conversion tool for XPS and OpenXPS documents |
US8825749B2 (en) * | 2011-10-21 | 2014-09-02 | Yahoo! Inc. | Method of tracking offline user interaction in a rendered document on a mobile device |
WO2014152664A1 (en) * | 2013-03-15 | 2014-09-25 | Canva Pty Ltd. | System for single-use stock image design |
US10984460B2 (en) | 2016-10-14 | 2021-04-20 | Under Armour, Inc. | Medium, method and apparatus for native page generation |
US20210133389A1 (en) * | 2019-02-18 | 2021-05-06 | Pro Quick Draw LLC | Document transformation between program formats and templates system and method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1669026A (zh) * | 2003-05-17 | 2005-09-14 | 微软公司 | 用于提供文档内容多样重现的系统和方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3906542B2 (ja) | 1998-01-28 | 2007-04-18 | ソニー株式会社 | 情報処理装置及び方法、データ通信システム |
AU7734100A (en) | 1999-09-28 | 2001-04-30 | Datalex Usa West, Inc | A software component-container framework for dynamic deployment of business logic components in a distributed object environment |
WO2002046909A1 (en) | 2000-12-07 | 2002-06-13 | Webputty | Automatically deploy and upgrade an application based on markup language application definition |
US7293070B2 (en) | 2001-09-17 | 2007-11-06 | Vignette Corporation | Method and system for deploying web components between portals in a portal framework |
EP1463991A4 (en) | 2002-01-11 | 2008-08-06 | Akamai Tech Inc | JAVA APPLICATION FRAMEWORK FOR USE IN A CONTENT NETWORK (CDN) |
JP2004118642A (ja) | 2002-09-27 | 2004-04-15 | Nec Corp | コンテンツ提供サーバ、コンテンツ提供方法、及びコンテンツ提供プログラム |
US6901590B2 (en) | 2003-03-03 | 2005-05-31 | Computer Associates Think, Inc. | System and method for single transparent deployment flow |
US8230112B2 (en) | 2003-03-27 | 2012-07-24 | Siebel Systems, Inc. | Dynamic support of multiple message formats |
US7523221B2 (en) * | 2003-05-17 | 2009-04-21 | Microsoft Corporation | Mechanism for applying transforms to multi-part files |
US20050210042A1 (en) * | 2004-03-22 | 2005-09-22 | Goedken James F | Methods and apparatus to search and analyze prior art |
US7526764B2 (en) | 2004-05-18 | 2009-04-28 | Bea Systems, Inc. | System and method for deployment plan |
US20060041503A1 (en) * | 2004-08-21 | 2006-02-23 | Blair William R | Collaborative negotiation methods, systems, and apparatuses for extended commerce |
US20070291035A1 (en) * | 2004-11-30 | 2007-12-20 | Vesely Michael A | Horizontal Perspective Representation |
US20070016530A1 (en) * | 2005-07-15 | 2007-01-18 | Christopher Stasi | Multi-media file distribution system and method |
KR100721561B1 (ko) | 2005-12-08 | 2007-05-23 | 한국전자통신연구원 | 콘텐츠 변환 장치 및 그 방법 |
US7962896B2 (en) | 2005-10-31 | 2011-06-14 | Eazypaper Inc. | Method and system for automatically configuring software |
US7707514B2 (en) * | 2005-11-18 | 2010-04-27 | Apple Inc. | Management of user interface elements in a display environment |
US7716570B2 (en) | 2005-12-12 | 2010-05-11 | Microsoft Corporation | Interfaces for creation and access of extensible markup language paper specification documents |
US7814475B2 (en) | 2005-12-28 | 2010-10-12 | Sap Portals Israel Ltd. | Generating and deploying client-side rendered components |
US20090161147A1 (en) * | 2007-12-20 | 2009-06-25 | Sharp Laboratories Of America, Inc. | Personal document container |
-
2008
- 2008-06-26 US US12/147,304 patent/US8015213B2/en not_active Expired - Fee Related
-
2009
- 2009-06-26 CN CN200980134128.4A patent/CN102132313B/zh active Active
- 2009-06-26 WO PCT/US2009/048821 patent/WO2009158596A2/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1669026A (zh) * | 2003-05-17 | 2005-09-14 | 微软公司 | 用于提供文档内容多样重现的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US8015213B2 (en) | 2011-09-06 |
CN102132313A (zh) | 2011-07-20 |
US20090327209A1 (en) | 2009-12-31 |
WO2009158596A3 (en) | 2010-03-25 |
WO2009158596A2 (en) | 2009-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111753500B (zh) | 版式化后的电子表单与ofd合并展现及目录生成的方法 | |
US7755786B2 (en) | Systems and methods for support of various processing capabilities | |
Lowagie | iText in Action | |
US8756489B2 (en) | Method and system for dynamic assembly of form fragments | |
US9110877B2 (en) | Method and apparatus for utilizing an extensible markup language schema for managing specific types of content in an electronic document | |
US7653876B2 (en) | Reversible document format | |
KR101150104B1 (ko) | 이용 불가능한 폰트로 포맷된 텍스트 구성 요소의 정확한시각적 렌디션을 제공하기 위한 방법 | |
US7434160B2 (en) | PDF document to PPML template translation | |
US7607141B2 (en) | Systems and methods for support of various processing capabilities | |
CN102132313B (zh) | 具有本机部分和导出部分的内容 | |
CA2525446A1 (en) | File formats, methods, and computer program products for representing presentations | |
Merz | Web publishing with Acrobat/PDF | |
US20130318435A1 (en) | Load-Time Memory Optimization | |
JP2002358173A (ja) | 電子文書管理システム | |
US20050125724A1 (en) | PPML to PDF conversion | |
Bagley et al. | Creating reusable well-structured PDF as a sequence of component object graphic (COG) elements | |
Farrell | Web Components in Action | |
US20080313201A1 (en) | System and method for compact representation of multiple markup data pages of electronic document data | |
Zea | Mastering Responsive Web Design | |
JP2006347064A (ja) | ページ描画装置 | |
CN113377453A (zh) | 图片处理方法、装置与电子设备 | |
Barron | Portable documents: problems and (partial) solutions | |
JP2004110733A (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
Ball et al. | Briefing paper: The adobe extensible metadata platform (xmp) | |
Lowagie | iText in Action |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150722 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150722 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |