技术白皮书
说明:
本文档简要说明了NTKO OFFICE文档控件的技术原理及特性。仅供NTKO OFFICE文档控件的客户使用。
目录:
NTKO OFFICE文档控件是拥有完全自主知识产权的ActiveX控件。使用NTKO Office文档控件,能够在浏览器窗口中直接编辑Word, Excel等Office文档并保存到Web服务器。实现文档和电子表格的统一管理。同时支持强制痕迹保留,手写签名,电子印章等办公自动化系统必备的功能。是OA系统开发的最佳选择组件!控件采用标准HTTP上传协议,支持任意后台Web服务器(iis, domino, webaphere, apache等),任意后台操作系统(win2k, win2003, linux, unix等),以及任意后台编程语言(asp, asp.net, jsp, php, vb.net, c#等)和任意web应用服务器体系结构(j2ee, .net等)。卓越的性能,低廉的价格,标准高效的编程接口,让您以最低的开发成本,轻松创建极具特色的办公自动化解决方案!
二、NTKO OFFICE文档控件的特点
u 能够在浏览器窗口中直接编辑Word, Excel等Office文档并保存到Web服务器。实现文档和电子表格的统一管理;
u 独创的使用标准协议,支持任意后台Web服务器系统和编程语言的体系结构;
u 采用了独创的智能提交技术,能够将控件中的文档数据和HTML FORM中的数据同时一次提交给后台的Web服务器处理。这对于事务处理非常重要。而目前市场上其他类似产品都没有做到这一点。
u 独创的支持全部OFFICE菜单。降低培训成本。用户能很快熟悉使用采用NTKO OFFICE文档控件开发的应用系统。
u 独创的直接保存到数据库的功能。
u 独创的智能Web调用技术。可以在不提交页面的情况下和服务器交互数据。
u 实现了手写签名、电子印章、强制痕迹保留和版本控制的功能。支持复杂模板。
u 采用ActiveX控件技术,实现客户端软件自动安装,部属和更新。
u 无缝集成到IE中,支持B/S方式,并且还可用于VB,Delphi,C++Builder等其他容器。创建强大的C/S方式的应用系统。
客户机(浏览器或者其他容器创建的应用)
|
NTKO OFFICE文档控件
|
ODBC数据源
|
数据库
|
Web服务器
|
服务器端处理程序(ASP,JSP,ASPX,PHP)
|
磁盘
|
ADO,ADO.NET,ODBC,JDBC,PHP模块等
|
C/S应用
|
FROM对象
|
控件中编辑的文件作为一个上传文件处理,嵌入到FORM对象中
|
B/S方式1
|
B/S方式2
|
FROM对象
|
控件中编辑的文件作为一个单独的上传文件处理
|
标准HTTP协议或者HTTPS协议
|
其它输入字段
|
其它输入字段
|
NTKO OFFICE文档控件的总体系统架构如下图所示:
客户机运行环境:
硬件:CPU 建议Pentium650 以上,内存推荐128M 以上,硬盘2GB以上空闲空间。
软件:Windows98及以上Windows版本,OFFICE2000及以上版本,IE5.0以上浏览器。
服务器:任何支持HTTP1.1的标准Web服务器及相关的编程语言。
数据库:可保存到磁盘或者任何支持BLOB类型字段的数据库。
IE浏览器是一个ActiveX容器,NTKO Office文档控件是一个ActiveX控制,因此可以嵌入到浏览器中;
浏览器
|
NTKO Office文档控件
|
嵌入的
Word文档对象
|
ActiveX接口
|
OLE文档容器接口
|
ActiveDocument属性
|
而NTKO Office文档控件本身又是一个OLE文档容器,所以可以支持嵌入Word复合文档对象。实际上可以嵌入任何支持OLE标准的文档对象,比如,EXCEL,POWERPOINT等。但是,该OLE文档对象必须支持现场激活。
因此,作为一个COM对象,NTKO Office文档控件实现了两种类型的COM接口:ActiveX控制的接口合OLE文档包容器的接口。
而控制控件中的Word对象有两种方法:(如上图所示)
u 通过NTKO Office文档控件本身暴露的ActiveDocument的接口。这实际上是一个Word.Document类型(或其他的嵌入文档类型) 的COM对象的dispatch接口。因此,可以通过JAVASCRIPT来控制;
u 通过在控件本身的代码中使用控件本身的编程语言(NTKO Office文档控件是用VC编写的)控制。这通常是对用常规方法无法控制的功能,比如,从url增加图片;
六、
数据提交到Web服务器原理
<FORM ID=”MYFORM” ……
ACTION=”POST.ASP”>
<INPUT NAME=”KK” TYPE=”TEXT”>
……
<SELECT>……
</FORM>
<OBJECT ID=”OBJ” …>
NTKO Office文档控件
</OBJECT>
|
调用控件的SaveToURL方法:
OBJ.SaveToURL(
document.forms[0].action,
“worddoc”, “”,“文件名”,
0 //同时提交forms[0]的信息
//此处也可使用form的//id ”MYFORM”
);
|
后台服务器处理页面
|
asp
|
aspx
|
jsp
|
php
|
等等
|
数据提交到Web服务器原理
如下图所示:
数据提交是通过调用控件的的SaveToURL方法。SaveToURL方法不仅可以提交当前正在编辑的文件,还可以同时提交指定的HTML FORM中的其他数据。控件会自动分析并获取指定FORM的其他INPUT,SELECT,TEXTAREA等标志中的数据,并将这些数据和编辑的文档一起,提交到WEB服务器的某个页面。这个页面可以是ASP,JSP,PHP,甚至是DOMINO服务器的?EDITDOCUMENT命令。因为控件产生的数据是基于RFC表单提交标准的,因此,NTKO OFFICE文档控件是和浏览器无缝集成的,可以支持任意后台WEB服务器(只要该Web服务器支持上传文件),并且可以和现有应用迅速集成。
并且,从后台asp或者其他处理程序来看,表单相当于多了一个文件附件。因此,后台程序只要能处理文件上传,都可以处理控件提交的FORM中的数据,以及处理控件中编辑的文档。
NTKO OFFICE文档控件可以通过ODBC数据源直接从数据库读取数据作为文档的数据源,
或者直接将在线编辑的文档的数据写入ODBC数据源支持的数据库系统。这为某些C/S应用提供了很大的方便。原理如下图所示:
NTKO OFFICE文档控件
|
ODBC数据源
|
数据库
|
Oracle
|
DB2
|
SQL Server
|
等等
|