您现在的位置:首页 > 东莞市诺展电子仪器有限公司 > 利用ASP.NET和ActiveX技术实现Word文档的在线编辑

企业动态

利用ASP.NET和ActiveX技术实现Word文档的在线编辑

2020-03-13


  摘 要:针对基于Web的办公自动化系统中,浏览器不支持对电子文档的在线编辑,提出了一种利用ASP.NET和ActiveX技术实现Word文档的在线编辑的方法,介绍了ASP.NET和ActiveX技术,并给出了具体方案和关键代码。

  随着网络技术的发展,越来越多的政府机关、企事业单位开始建立本单位的基于Web的办公自动化系统,以提高自身工作效率。在这种模式下对于电子文档的编辑往往不好处理,一般采用将文档保存到服务器的某个目录下,用户在使用时首先将文档手工下载到本地,然后编辑保存,最后还要把编辑好的文档再上传到服务器上去,采用这种方法存在一些缺点:

  一是文档直接保存到目录下安全性差,并发处理难以实现;

  二是客户端操作起来极其复杂。

  这里提出另外一种解决的办法,将电子文档保存到数据库中,利用ASP.NET和ActiveX技术实现Word文档与浏览器的集成控制,实现在线编辑,使得文档的控制方便,用户操作简洁。

  1ASP.NET

  ASP.NET是微软发展新的体系结构NET的一部分。他除了和以往的ASP一样可采用VBScri pt和JavaScript作为脚本编程语言外,更主要的是采用VisualBasic.NET和C++来编写 ,同时ASP.NET是编译后再执行的,其运行速度更快。数据库访问技术在ASP.NET中是通过ADO.NET上的ManagedProvider所提供的应用程序编程接口,来实现数据源的数据访问,包括OLE DB和ODBC所支持的数据库。在编程思想上,以往ADO的数据存取处理主要依赖于两层结构,并且是基于连接的。断开连接,数据就不能进行存取操作。而ADO.NET的数据处理是采用三层以上结构,并且是面向无连接的模式。

  2ActiveX

  ActiveX控件是微软的一项网络扩展技术,ActiveX技术的重要组成部分之一,其前身是OL E控件。从技术上讲,ActiveX控件就是一个用以扩展Web结构C/S两端功能的动态连接库,他基于COM服务器进行操作,可以嵌入到宿主应用程序中。由于ActiveX控件技术面向的是一个高度异构的应用环境Internet,所以ActiveX控件是与平台无关的。即用一种语言开发的ActiveX控件无需修改就可以应用于另一种开发工具,如同使用Windows通用控件一样,从而实现快速高效的软件重用。

  3利用ASP.NET和ActiveX技术实现Word文档与浏览器的集成控制  要实现在浏览器中使用MSWord在线编辑数据库中存放的Word文档,主要要解决2个问题:

  (1)在客户端,响应客户事件,向服务端发出取Word文档的请求;在得到所要文档后选择MSWo rd程序打开文档;在检测到用户保存并关闭文档的事件后,将更新后的Word文档传回服务器。

  (2)在服务器端,响应客户端的请求,将Word文档从服务器上数据库中取出并传到客户端;文档处理完毕,当收到客户端传来的更新文档后,即时更新数据库中的Word文档。

|<12>>


  为了解决上述的2个问题提出了如图1所示的系统结构。

  系统设计分为2个部分,一个部分为运行在客户机浏览器中的ActiveX控件,另一个部分为运行在Web服务机上的ASP.NET程序。他们各自在系统中的作用可以通过图2所示的处理过程图来描述。

  3.1ActiveX控件

  ActiveX控件,采用VC++编写,其核心部分是从Web服务器取得Word文档和将编辑完的文档上传,因为不是直操纵接数据库,只能通过调用Web页面来实现。在请求Word文档时,首先通过VC++的CInternetSession类对象与Web服务器建立连接,然后由OpenReque st方法请求相应的wjnraspx页面,根据请求时的参数来获得指定的文档。程序部分代码如下:


  上传文档的方法和取得文档基本类似,也是通过请求Web页面来实现的,把文件的内容和文件的序号作为POST方法的数据传到Web服务器端,为了使得Web服务器端能够区分开这两部分内容,中间应该插入一个特殊的字符串作为分隔符号。程序部分代码如下:

   3.2ASP.NET页面

  在Web服务器端,主要是通过wjnr.aspx和wjnr.update.aspx两个页面响应ActiveX控件的请求。wjnraspx负责从数据库中读取Word文档并将其发送给ActiveX控件,wjnr_updateaspx负责接收ActiveX控件上传的Word文档并将其保存到数据库中。因为Word文档是由ActiveX控件采用POST方法传上来的,文档的序号和文档的内容都保存在Request对象中,所以在接受时要单独对其处理。其部分代码如下:

      事实上,在整个程序设计过程中还有很多需要考虑的细节问题, 由于这些内容不是本文的重点,所以略去不谈。

  4结语

  在基于Web平台的办公自动化系统当中,“如何使用MSWord在线编辑存于数据库中的Word电子文档”是很多软件开发人员遇到的难题。本文则提出了一种实用的解决方案。从2001年开始,我们为河北省建设厅开发了办公自动化系统,此系统中的公文流转部分利用了上述方法来实现,效果很好,该系统现已运行一年。

  参考文献

  [1]陈惠贞,陈俊荣.ASP.NET程序设计[M].北京:中国铁道出版社,2002.

  [2]潘爱民.COM原理与应用[M].北京:清华大学出版社,2001.

  [3]MSDN library visual studio 6.0 online.


相关资讯

相关产品

产品系列

在线给我留言

热门推荐

#{shangpucompany} #{shangpucommend}
免费开通商铺
扫码关注电气网
服务热线
4008-635-735