Smart Document开发

介绍智能文档

Office XP当中引入了一个新的概念,即智能标签,如果大家经常使用Word的话,可以发现,从Word XP开始,如果你输入一个日期或者人名的话,会发现下面多了一些红色的虚线,而当你在上面点击时,会自动出现一个下拉菜单,这就是Smart Tag,也就是智能标签。在Office 2003当中,智能标签得到了增强。另外,在Office 2003当中,对于XML的支持得到了极高的增强,例如,我们可以为一个文档增加XML架构,从而对其进行更好的数据管理。在此基础上,我们提出了一个智能文档的概念,让我们的WordExcel在友好界面的基础上,增加了一些聪明特性,直接在文档当中与后台的业务处理系统打交道。

 智能文档的优点

在很多时候,我们需要使用Word或者Excel作为宿主程序,比如我们的业务使用人员更加熟悉Word或者Excel,或者我们的业务类型主要以Word或者Excel文档作为载体,此时,我们可以让WordExcel变得更加聪明,能够直接与业务系统打交道,而不是另外编写一套应用,让它具备排版、打印、数据表计算等的功能。

Word/Excel 2003以前的版本当中,我们所做的业务逻辑必须是在文档当中,比如在文档当中添加各种控件,从而影响该文档最终展现在用户面前的样式,不适合进行排版,影响了最终的用户体验,而在智能文档当中,我们引入了一个“任务窗格”,所有的智能操作均在此处完成,从而将业务逻辑与文档版式互不影响,只是在业务层建立起联系。

这种联系通过XML Schema,即给文档增加一个XML架构,根据鼠标所在不同的XML Element,使任务窗格产生相应的操作及显示,而且这种改变是联动的。

在安全性方面,依托于.NET内建的安全性策略,智能文档也得到了很大的增强,所有的智能文档在执行操作前,均会通过.NET策略进行设置,从而杜绝了安全隐患。

在部署和更新方面,智能文档是基于文档来进行部署的,在内网中部署,我们可以把智能文档的架构及处理程序放置在一个网络共享位置、Web Server或者其它内网成员均可以访问的地方。如果是外网,我们可以制作成MSI安装包,让客户直接下载安装。

应用场景

任何一种技术,都不可能成为万能的。在智能文档推出后,也不能想当然的,把自己手头上的所有项目,不分需求的使用智能文档来搭建。如果您的项目符合以下特点,可以考虑使用智能文档,或者智能文档来搭建某一部分需求:

  1. 该应用的使用人员计算机操作水平不是特别高,但对于Word以及Excel文件操作经验特别丰富;
  • 该应用是以Word/Excel文档为中心的,大部分的应用视图均可以以Word/Excel作为展示;
  • 该应用对于一些Word/Excel本身的特性非常依赖,比如排版、打印、复杂的Excel的公式计算等。

    举例来说,我们的OA工作流非常适合于使用智能文档来进行搭建,办公系统本身处理的文档大部分都是WordExcel文档,而且其操作人员对于其它系统都有一种本性上的抵触情绪。再者,这种应用一般对文档格式要求特别高,比如,甚至会增加一些模拟的公章,或者手写签名,这些在WordExcel当中很好实现,但自己编程非常困难。

    再者,进销存管理以及HR(人事)系统也可以部分采用智能文档来搭建,本年度的架构师峰会上,我们演示了用友U9平台上的一个医药进销存管理系统,其中就使用了智能文档来处理订单。

    2004-12-28日下午15:00,开心将在http://www.microsoft.com/china/msdn的网络讲座中讲解Smart Document开发体验点击此处可以下载本次讲座的示例代码。