专利名称:作为编程平台组件的受保护内容查看器的制作方法
技术领域:
本发明的诸实施例涉及一种用于实现受保护内容查看器的系统和方法,尤其 涉及将该查看器与其他软件应用程序集成为一体的系统和方法。
背景技术:
文档的作者和其他用户常常希望以固定文件格式来传送文档,如PDF文档。 以固定文件格式传送文档确保文档保持完整,并且不被编辑或改变。
当接收到固定文件的文档时,使用被称为查看器的软件应用程序来查看该文 档。用于固定文件文档的查看器,例如用于PDF的Acrobat,先前已经被实现为独 立的应用程序。例如,当操作系统认出文件名中众所周知的部分(通常是在扩展名 中)如".pdf"的时候,这些应用程序被调用。
当查看器被实现为独立的应用程序时,查看器的用户负责确保查看器起作用。 通常,用户需要下载、安装和维护该软件。用户也负责确保对内容的特定版本调用 正确的查看器,并确保该软件将在已安装的操作系统平台上运行。
另外,可以容易地替换或取代被实现为外部应用程序而且按文件扩展名调用 的查看器。这就引入了恶意替换査看器的风险,降低了用户对査看器的信任。
此外,因为该查看器是独立应用程序,所以在查看固定格式文档时通常不反 映操作系统中所做的定制。例如,在查看文档时,可能不反映在操作系统中所选择 的视觉主题。当在不同的内容类型之间切换时,这可能会扰乱整体体验。
因此,需要提供无需用户下载、安装和维护软件的查看器的解决方案。另外, 需要带有增加用户信任的增强安全保护的查看器。此外,需要查看文档时反映在操 作系统中所做定制的查看器。
发明概述
本发明的诸实施例包括一种用于查看固定格式文档的方法。该方法可包括 将文档接收到与应用程序编程接口集成为一体的查看器中,并判定该文档是否属于
4预定的固定格式内容类型。如果文档属于预定的固定格式内容类型,该方法还可包
括通过web浏览器将文档呈现给用户。
在其它方面中,提供了一种用于査看固定格式文档的系统。该系统可包括一个应用程序接口和一个査看器。该查看器可与应用程序接口集成为一体,而且该应用程序接口和查看器可以在单次安装中被安装。
在本发明的进一步方面中,提供一种用于生成固定格式文档的用户界面系统。该用户界面系统可包括一个用户可选择的打印到固定格式的选项,该选项在根据应用程序接口生成固定格式文档的文档固有环境中被呈现给用户。固定格式文档可通过查看器查看,该査看器与应用程序接口集成为一体。
附图简述
参照附图,在下面详细地描述本发明,在附图中
图1是示出根据本发明的一个实施例的系统的纵览的框图2是示出可在其中实现本发明的诸实施例的计算机化环境的框图3是示出根据本发明的一个实施例公布固定格式文档的方法的流程图4是示出根据本发明的一个实施例查看固定格式文档的方法的流程图;以
及
图5是根据本发明的一个实施例的示例性用户界面。
发明的详细描述I.系统纵览
提供了一种用于实现固定格式查看器的系统和方法。该查看器可被用来查看预定文件格式的文档。
该系统可包括终端200,该终端200可被配置成接收来自网络、磁盘驱动器、CDROM等等的输入202。终端200可进一步包括存储器203。终端200可进一步包括应用程序接口 (API)204和查看器206。例如,查看器206可被实现为API 204的一个集成部分,而且与API204同时安装。
终端200可进一步包括操作系统207以及检索和显示网页的web浏览器208。终端200还可包括向用户显示信息的显示器210,或者与之通信。
例如,可从输入202接收到固定格式文档,或者可从存储器203检索之。当用户希望打开固定格式文档时,用户例如通过双击代表该文档的图标来作此指示。然后,操作系统207可调用查看器206。此外,web浏览器208可例如通过操作系 统207或査看器206调用。web浏览器208打开用于显示该固定格式文档的窗口 , 或者向该固定格式文档提供一个宿主环境。在由web浏览器提供的宿主环境中, 该固定格式文档通过显示器210呈现给用户。
在一个实施例中,API 204例如通过识别文件扩展名或其他有关信息判定固定 文件文档的格式。当判定该固定文件文档属于适当的格式时,API204调用该查看 器。API 204进一步包括在浏览器208中用于主存应用程序的诸方法。在浏览器208 中,这些方法被用来査看固定文件的文档。
因为查看器206被集成到API 204中或者与API 204同时安装,所以查看器 206能被包含为API 204的可信组件。因此,使用API 204的应用程序能保证查看 器206将不产生对web浏览器208、操作系统207或任何其他有关应用程序的不能 信任的请求。
此外,査看器206在API 204内被实现为密封应用程序类。因为该査看器是密 封应用程序类,所以不允许来自其他内部应用程序(集成到API204中的其他应用 程序)和来自使用API 204的外部应用程序的输入或继承。这种实现确保恶意用户 不能够派生或扩展该应用程序,所以源于该查看器的内容是可信的。
因为源于该查看器的内容和请求是可信的,所以没有必要将关于潜在危险的 信息呈现给用户。因此,可消除警告潜在危险的对话框,从而增加了用户对查看器 的信任。
因为查看器206显示在web浏览器208中主存的文档,所以将具有网页外观 的固定格式文档呈现给用户。这允许用户利用web浏览器208的功能部件,例如 使用web浏览器208的"前进"和"后退"按钮来浏览文档。
此外,因为查看器206被包含在API204之中,所以查看器206能利用为内部 应用程序所设置的视觉主题。因此,即使是在内容类型之间切换的时候,也可以保 护用户体验的连续性。
另夕卜,査看器206可与例如Microsoft Avalon图形引擎的图形和呈现引擎通过 接口连接。考虑到梯度、三维图像、图形、文本等等的增强呈现,这允许查看器 206继承图形和表现引擎的好处。
II.示例性的操作环境
图2示出了合适的计算系统环境100的例子,在这个合适的计算系统环境中可实现用于査看受保护内容的系统。计算系统环境100只是合适的计算环境的一个
例子,并非意味着对本发明的使用范围或功能的任何限制。计算机环境100也不应该被解释为具有与在示例性操作环境100中所例示的任何组件或它们的组合有关
的任何依赖或要求。
将在由计算机执行的诸如程序模块那样的计算机可执行指令的一般上下文中描述本发明。通常,程序模块包括完成特定的任务或实现特定的抽象数据类型的例程、程序、对象、组件和数据结构等等。而且,本领域技术人员应该理解,本发明可用其他计算机系统配置实践,包括手持式设备、多处理器系统、基于微处理器或可编程消费电器、小型计算机、大型计算机等等。本发明还可在分布式计算环境中实践,在分布式计算环境中任务由通过一个通信网络连接的远程处理设备执行。在分布式计算环境中,程序模块可位于包括存储设备的本地和远程计算机存储介质中。
参见图2,用于实现本发明的示例性系统100包括计算机110形式的一个通用计算设备,计算机110包括处理单元120、系统存储器130以及将包括系统存储器在内的各种系统组件耦合至处理单元120的系统总线121。
计算机110通常包括各种计算机可读介质。作为例子而非限制,计算机可读介质可包括计算机存储介质和通信介质。系统存储器130包括诸如只读存储器(ROM) 131和随机存取存储器(RAM) 132的易失性和/或非易失性存储器形式的计算机存储介质。基本输入/输出系统133 (BIOS)存储在ROM131内,它包括比如在启动过程中帮助在计算机110内的元件间传输信息的基本例程。RAM 132通常包含处理单元120可立即访问和/或目前正在操作的数据和/或程序模块。作为例子而非限制,图2示出了操作系统134、应用程序135、其他程序模块136以及程序数据137。
计算机110还包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅仅作为例子,图2示出从不可移动的非易失性磁性介质读取或向其中写入的硬盘驱动器141、从可移动的非易失性磁盘152读取或向其中写入的磁盘驱动器151、以及用于向诸如CD-ROM或其他光学介质那样的可移动非易失性光盘156读取或向其中写入的光盘驱动器155。其它能用于示例性操作环境的可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器141通常通过诸如接口 140等不可移动存储器接口连接到系统总线121,而磁盘驱动器151和光盘驱动器155通常通过诸如接口 150等可移动存储器接口连接到系统总线121。
上面所讨论的并且在图2中例示的驱动器及其相关计算机存储介质为计算机 IIO提供了计算机可读指令、数据结构、程序模块以及其它数据的存储。例如,在 图2中,硬盘驱动器141被例示为储存操作系统144、应用程序145、其他程序模 块146和程序数据147。注意,这些组件可与操作系统134、应用程序135、其它 程序模块136和程序数据137相同或不同。这里对操作系统144、应用程序145、 其它程序模块146和程序数据147给予不同的标号,以说明至少它们是不同的拷贝。 用户可通过输入设备,诸如键盘162和通常指鼠标、跟踪球或触摸板的定位设备 161向计算机IIO输入命令和信息。其它输入设备(未示出)可包括话筒、操纵杆、 游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备往往通过被耦合到系 统总线的用户输入接口 160连接到处理单元120,但也可以通过诸如并行端口、游 戏端口或通用串行总线(USB)的其它接口和总线结构连接。监视器191或其它类 型的显示设备也通过接口如视频接口 190连接到系统总线121。除监视器外,计算 机还可包括其它外围输出设备,诸如扬声器197和打印机196,它们可通过输出外 围接口 195连接。
本发明中的计算机110可在使用到一台或多台远程计算机如远程计算机180 的逻辑连接的网络化环境中运行。虽然在图2中仅仅示出了存储设备181,但是远 程计算机180可以是个人计算机,并通常包括上文所述与计算机110相关的许多或 所有元件。图2所描述的逻辑连接包括局域网(LAN) 171以及广域网(WAN) 173,但是也可包括其它网络。
当用于LAN网络环境时,计算机IIO通过网络接口或适配器170连接到局域 网171。当用于WAN网络环境中,计算机110通常包括调制解调器172或用于在 WAN 173 (例如,因特网)上建立通信的其它装置。可以内置或者外置的调制解 调器172可通过用户输入接口 160或其他适当机制连接到系统总线121。在网络化 环境中,相关于计算机110描述的程序模块或它们的部分可被存储在远程存储设备 中。作为例子而非限制,图2将远程应用程序185例示为驻留在存储设备181上。 应该明白,所示网络连接是示例性的,并且可使用在计算机之间建立通信链路的其 它方式。
尽管计算机110的许多其他内部组件未被示出,但是本领域普通技术人员应 该明白,这样的组件和互连是众所周知的。因此,不必结合本发明揭示关于计算机 110内部构造的其它细节。III.发明的系统和方法
如上所述,图l示出根据本发明的一个实施例的实现固定格式査看器的系统。
参见图2,如上所述,该系统可以包括一个或多个用户计算机。
图3是示出一种根据本发明的一个实施例公布固定格式文档的方法的流程图。 如图3所示,用户可从编写一个文档300开始。例如,使用文档应用程序诸如Word、 Excel、 PowerPoint等等来编写文档。用于编写文档的文档应用程序被认为是该文 档的"固有应用程序(native application)"。文档的固有应用程序可使用由API 204 提供的例程、协议和工具。
在步骤302,该方法继续,其中用户选择公布该文档。例如,用户可使用由固 有应用程序提供的用户可选择的选项来选择公布该文档。例如,如果已经用Word 编写文档,则用户可从工具栏选择"文件",从下拉框中选择"打印",然后选择 "打印到固定格式"。可能有由Word和其他固有应用程序提供的其他可选择的选 项。固有应用程序使用API204来实现可选择的选项。
在步骤304,文档由固有应用程序和/或査看器公布。例如,公布文档包括, 通过将如API204所指定的格式化层添加到原始文档来创建新的"已公布文档"。 己公布文档是不可被编辑或改变的固定文件。此外,已公布文档具有一个特定的固 定文件内容类型,而且该己公布文档可被识别为具有该特定的固定文件内容类型。 另外,在原始文档中出现的所有软件代码己经被移动或禁用,以使得已公布文档不 包含任何可执行代码。
因为已公布文档不能包括代码、病毒或其他潜在危险,所以在打开公布文档 时对用户的计算机系统没有威胁。因此,不需要向用户呈现警告有关潜在危险的对 话框。这增加了用户使用査看器的舒适度,并使得査看器更容易使用。
在步骤306,用户可选择通过网络或其他方式传送己公布文档,或选择将已公 布文档保存到外部存储器或本地存储器。可例如通过一个对话框向用户呈现传送或 保存己公布文档的选项。
图4是示出根据本发明的一个实施例的用于查看已公布文档的方法的流程图。 如图4所示,该方法可从步骤400开始,其中用户可例如通过网络接收一个己公布 文档。作为其他选择,可从本地或外部存储器取回已公布文档。在步骤402,该方 法继续,其中用户选择打开已公布文档。用户可例如通过双击代表该文档的图标或 其他方法选择打开己公布文档。在步骤403,判定已公布文档属于一个特定的格式或内容类型。在一个实施例 中,API基于文件扩展名或其他相关信息判定已公布文档属于特定的格式或内容类型。
在步骤404,查看器被(例如)API调用。在步骤406, web浏览器可被(例 如)API或查看器调用。在步骤408, web浏览器打开一个窗口,或者向已公布文 档提供一个宿主环境。在步骤410,查看器在由web浏览器提供的宿主环境中向用 户显示己公布文档。因为该文档不能包含可执行代码,所以不需要向用户表现警告 有关病毒或其他潜在危险的对话框。
图5是根据本发明的一个实施例的示例性用户界面。如图5所示,使用如 Word、 Excel、 PowerPoint等等的固有应用程序,用户可选择在用户界面窗口 500 中编写一个文档。用户可例如在用户界面窗口 500中使用由固有应用程序提供并使 用API204实现的用户可选择选项选择公布文档。例如,用户可从工具栏504选择 "文件"选项502,从下拉框508选择"打印"选项506,然后在对话框510选择 "打印到固定格式"选项。也可使用各种固有应用程序中的其它可选择选项。
尽管本发明的特定实施例已经在此被详细地例示和描述,但应该理解可对本 发明进行各种改变和修改,而不会背离本发明的范围和意图。在此所描述的诸实施 例在所有方面中都旨在是示例性的而并不是限制性的。属于本发明而不背离其范围 的诸替代实施例对本领域技术人员是显而易见的。
从上面可以看出,本发明很好地适用于达到上面所阐明的所有目的和目标, 并具有对本系统和方法明显和固有的其他优点。应该明白,特定的功能和子组合是 有效的,并且无须参考其他功能和子组合就可以使用。这一点己被考虑到,并且在 所附权利要求的范围之内。
权利要求
1. 一种提供固定格式文档的查看的方法,所述方法包括将文档接收到与应用程序接口集成为一体的查看器之内;判定所述文档是否属于预定的固定格式内容类型;以及如果所述文档属于所述预定的固定格式内容类型,则通过web浏览器将文档呈现给用户。
2. 如权利要求l所述的方法,其特征在于,所述查看器被实现为所述应用程 序接口中的密封应用程序类。
3. 如权利要求1的所述方法,其特征在于,判定所述文档是否属于预定的固 定格式内容类型包括识别所述文档的文件扩展名。
4. 如权利要求l的所述方法,其特征在于,通过所述web浏览器将文档呈现给用户包括根据所述应用程序接口中提供的方法主控文档的呈现。
5. 如权利要求l的所述方法,其特征在于,所述应用程序接口和查看器在单次安装中被安装。
6. —种用于查看固定格式文档的系统,包括应用程序接口;以及与所述应用程序接口集成为一体的查看器,其中所述应用程序接口和所述查 看器在单次安装中被安装。
7. 如权利要求6所述的系统,其特征在于,进一步包括所述应用程序接口内的用于实现所述查看器的密封应用程序类。
8. 如权利要求6所述的系统,其特征在于,所述査看器包括第一计算机可执 行指令,所述第一指令可被执行以判定文档是否属于预定的固定格式内容类型。
9. 如权利要求8所述的系统,其特征在于,所述第一指令可被执行以通过识 别所述文档的文件扩展名来判定文档是否属于预定的固定格式内容类型。
10. 如权利要求6所述的系统,其特征在于,所述查看器包括第二计算机可 执行指令,所述第二指令可被执行以将文档呈现给用户。
11. 如权利要求IO所述的系统,其特征在于,所述第二指令可被执行以通过 web浏览器将文档呈现给用户。
12. 如权利要求ll所述的系统,进一步包括在应用程序接口中提供的用于由web浏览器主控所述文档呈现的方法。
13. —种用于生成固定格式文档的用户界面系统,包含用户可选择的"打印到固定格式"的选项,所述选项在根据应用程序接口生 成固定格式文档的文档固有环境中被呈现给用户,其中所述固定格式文档可通过查看器查看,所述查看器与所述应用程序接口 集成为一体。
14. 如权利要求13所述的系统,其特征在于,所述査看器在应用程序接口内 被实现为密封应用程序类。
15. 如权利要求13所述的系统,其特征在于,所述固定格式文档属于预定的 固定格式内容类型。
16. 如权利要求15所述的系统,其特征在于,所述固定格式文档具有指示固定格式内容类型的文件扩展名。
17. 如权利要求13所述的系统,其特征在于,所述固定格式文档通过把格式 化添加到现有文档来创建所述固定格式文档。
18. 如权利要求13所述的系统,其特征在于,通过移除和/或禁用所述现有文档里的计算机可执行指令来创建所述固定格式文档。
全文摘要
提供了一种用于实现固定格式文档的内容查看器的系统和方法。可以“公布”一个现有文档,以便使用该现有文档的固有应用程序的用户界面创建一个固定格式文档。该内容查看器可被集成到一个应用程序接口内,这减轻了软件维护的负担并增强了安全功能。该内容查看器调用一个web浏览器,该web浏览器为该查看器提供显示所公布文档的宿主环境。
文档编号G06F17/00GK101523382SQ200680012876
公开日2009年9月2日 申请日期2006年3月16日 优先权日2005年4月22日
发明者A·L·威利, H·L·格兰山姆, J·J·迪尼埃兹, M·德玛利欧, Y·G·金 申请人:微软公司