我们知道所谓的在线编辑其实就是从服务器下载,等使用者修改完成后,再上传(回传)的这样一个过程。过程中文件下载容易实

现,下载后在客户端打开编辑也容易,难一点的就在上传这一步。

    但上传又可以采用http或ftp上传两种方式,如果用ftp上传方式,那就比较简单,但要代码中暴露ftp上传的帐户或密码,并且

上传过程无法控制(比如我想把文件放到某一目录下,重名怎么处理,把文件路径存入数据库什么的),安全性也低,不太推荐使用。

我选用的是http上传的方式,http上传的方法也有几种,一种是用winsock模拟表单提交,还有其他的一些控件等,我是用winsock试

的,可怎么也不能实现二进制文件的上传(会的朋友请指教),文本文件上传倒是没有什么问题。因此最后折中选择了用传统方式的上

传,即web表单上传的方式。这样做也有好处,一个是可以使用原有应用系统的上传方式,即原有应用系统的表单上传是怎么传的,

传上去是怎么处理的,完全由应用系统自己决定,控件完全与业务应用解藕。即使是用upfile.jsp上传的,还是upfile.asp上传的,

还是控件上传都没有问题。同时我也省事,不用写这部分上传的代码了,只需要指定上传文件的url就可以了。
   
    控件使用的流程是,打开服务器文档,调用客户端本地关联程序,修改,关闭程序,然后点击保存按钮,即可完成对服务器文档

的“在线”编辑。

    目前实现的是比较简单的功能:

    1.自动识别服务器文档类型,并自动调用关联程序进行编辑
    2.主要是针对word文档写了不少的支持
      >以只读方式打开文档
      >支持保存文档,页面设置,打印,留痕,插入批注,电子印章(自己另做有的另一个印章生成器,需用此印章生成器生成电子

印章),文档保护,检查文档完整性。
      >可以限制打印的张数
      >可以防止提交编辑的文档覆盖别人刚修改过的文档,即保证使用者下载修改的都是文档的最新版本,如果提交的版本比服务

器的旧,则拒绝提交,需要重新刷新页面重新下载最新的版本。
      >防止文档被非法修改,可以加盖电子印章,印章中包启印章名称,使用者名称,职务,印章密码等信息。
      >点击校验文档按钮,即可知道文档是否被非法修改过,以方便使用者做出相应处理。
      >可以指定工具条的任一按钮是否可用。

      >可以更新指定的doc内容,用于文档模板处理。

      如:doc模板内有$T1,$T2的字符变量,可以以方法 UpdateUserData 进行数据更新,当然那些数据也是随控件页面下载获得的。具体使用请看控件的使用文档。

 

    3.其实主要是针对电子政务的需求来开发的,有新的需求再进行新版本的开发和升级。
    4.可以编辑txt,jpg,xls等其他文档,如用记事本编辑txt,excel编辑xls,photo编辑jpg等等。
    5.word2000可能不支持,我是用word2003的库进行调试的
    6.电子印章是加密的,不过是自己写的,不是什么ca之类的,当然你也可以把电子印章考到u盘了,而且打开电子印章是需要你设定的密码的。

    7.当然下载后,有人会说我可以绕过你的控件而直接编辑下载的临时文档,当然,这也考虑到了,已经防止了这种事情的发生。要是万一万一万一他用什么手段可以做到了,也逃不过文档校验的这关的,别忘了电子印章还有密码等,电子印章这里只针对word来说的。

 

   不知道有没有人想需要这个我做的控件?    如果需要的人多的话,就整理后再放上下载地址,是全免费的,不要一分钱,没什么人想要的话就自己用了。