点聚WebOffice组件介绍

WebOffice及其相关技术介绍

1、WebOffice组件是一种支持在线文档编辑的中间件,目前支持的主流文件格式有:Word、Excel、WPS等编辑文档。

中间件是什么?中间件是一种独立的系统软件或服务程序,可以让不同技术之间共享资源。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。如WebOffice连接Web应用本身和本地的office软件之间的资源共享。

图1-1

2、WebOffice是标准的ActiveX组件,支持在B/S、C/S应用开发平台中嵌入整合,是在微软的DSOframer控件的基础上封装开发的,已经为我们提供好了数字证书,可直接使用。

ActiveX是什么?activeX控件也叫OLE控件或OCX控件,它是一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中。使用ActiveX,可轻松方便的在Web页中插入多媒体效果、交互式对象、以及复杂程序等。但只有IE能够识别ActiveX控件,所以如果需要得到其他浏览器内核的识别还需要通过插件技术来完成。如WebOffice提供的ffactivex-setup-r39.exe插件。

DSOframer是什么?DSOframer是微软提供一款开源的用于在线编辑、调用Word、 Excel 、PowerPoint等的ActiveX控件。

数字证书是什么?数字证书是一个经证书授权中心(CA机构)数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。数字证书的作用是确保信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性。数字证书还有一个重要的特征就是只在特定的时间段内有效。

数字签名技术是什么?将报文按双方约定的哈希算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。

将该报文摘要值用发送者的私人密钥加密(对明文进行解密完全没问题,会得出一个不可读的“明文”),然后连同原报文一起发送给接收者,而“加密”后的报文即称数字签名。

接收方收到数字签名后,用同样的哈希算法对原报文计算出报文摘要值,然后与用发送者的公开密钥对数字签名进行解密,得到的报文摘要值相比较。如相等则说明报文确实来自所称的发送者,因为于只有拥有私钥的签名者能通过加密摘要生成签名,因此具有安全和不可抵赖性。

那为什么是对报文摘要进行加密,而不是对原报文进行加密呢?这是因为RSA加解密非常耗时,被加密的报文越大,耗得时间越多,因此聪明的人类对其摘要进行加密,(因为报文摘要是要比原报文小得多),仍然能够起到同样的作用。这就是为什么多了个报文摘要。

数字签名算法依靠公钥加密技术来实现的。在公钥加密技术里,每一个使用者有一对密钥:一把公钥和一把私钥。公钥可以自由发布,但私钥则秘密保存;还有一个要求就是要让通过公钥推算出私钥的做法不可能实现。这里用一个简单的例子来解释数字签名的应用过程:假如现在Alice向Bob传送数字信息,为了保证信息传送的保密性、真实性、完整性和不可否认性,需要对传送的信息进行数字加密和签名,其传送过程为:

1.Alice准备好要传送的数字信息(明文);

2.Alice对数字信息进行哈希运算,得到一个信息摘要;

3.Alice用自己的私钥对信息摘要进行加密得到Alice的数字签名,并将其附在数字信息上;

4.Alice随机产生一个加密密钥,并用此密码对要发送的信息进行加密,形成密文;

5.Alice用Bob的公钥对刚才随机产生的加密密钥进行加密,将加密后的DES密钥连同密文一起传送给Bob;

6.Bob收到Alice传送来的密文和加密过的DES密钥,先用自己的私钥对加密的DES密钥进行解密,得到Alice随机产生的加密密钥;

7.Bob然后用随机密钥对收到的密文进行解密,得到明文的数字信息,然后将随机密钥抛弃;

8.Bob用Alice的公钥对Alice的数字签名进行解密,得到信息摘要;

9.Bob用相同的哈希算法对收到的明文再进行一次哈希运算,得到一个新的信息摘要;

10.Bob将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。

3、点聚的WebOffice和卓正的PageOffice的比较。

  • 相同点:

1)可以对基本的office文档格式(Word、Excel、PowerPoint等)进行编辑。

2)打开、保存文档均有实时进度提示。

3)可更换界面主题,支持多种界面风格。

4)word的修订痕迹、手写批注、签名、套红与保护等功能。

5)可以通过js脚本实现控制文档权限,调用、删除本地文档,上传Web服务器功能。

  • 区别:

1)免费试用版的卓正PageOffice在打开、保存文档时的实时进度提示有卓正的版权商标字样,并提示去使用收费版本。点聚WebOffice则没有。

2)点聚WebOffice组件只依赖前端脚本技术语言,卓正PageOffice需要配合后端的脚本使用,如后端使用Java语言则需要下载相应的PageOffice支持jar包,并撰写相应的java代码支持使用。

3)WebOffice的免费版本是永久免费的,而PageOffice的试用版只有3个月的试用期。

4)PageOffice可以实现读取服务器文档的并发控制,WebOffice则不可以。

WebOffice是怎样运作的?

1、首先下载exe安装包和cab组件包。exe安装包用于客户端手动安装,如图1-1;cab组件包用于系统集成,放在服务器通过代码实现客户端通过IE自动安装,如图2-2中的codebase属性(但只有IE才能识别,还要依赖用户IE的安全级别设置并且有时会失效)。

图2-1

图2-2

2、在网页中使用<Object>标签作为组件的载体,并使用js来取得对象的引用(如图2-2),即可调用其提供的方法。

3、WebOffice可以打开本地文档,也可以从服务器下载文档进行打开。从服务器下载文档的原理其实是把服务器的文档下载到本地的一个默认文件夹中(可以调用接口获得其路径),然后再打开本地文档。

4、WebOffice可以调用office的保存、另存为等接口,但一般情况我们是希望保存文档到服务器中,其原理的调用WebOffice的相应接口把默认路径的临时文件上传到服务器,从中还可以传递一些额外参数过去,服务器接收后返回一个结果,再由接口返回其结果;若服务器不返回结果,则接口也会返回一个默认的结果success。

5、需要注意的是,WebOffice是内置了一个HTTP引擎,所以通过调用WebOffice的接口与服务器交互(包括上传、下载等),其实是调用其自身的HTTP引擎发送的请求。这意味着此次请求的Session对象与当前页面所对应的Session对象不是同一个。这时候若要调用原来Session的信息或者需要判断相关权限操作,则需要另行处理,如自建一个Session池等。

时间: 2024-11-10 19:51:23

点聚WebOffice组件介绍的相关文章

NET中weboffice组件在线编辑文档并保存到服务器上

页面中组件的引用以及控件触发事件: <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="9" background="images/tab_12.gif"> <asp:Button ID="btnuploadsave"

Android四大基本组件介绍与生命周期

主要参考: 1.http://blog.csdn.net/android_tutor/article/details/5772285 2.http://www.cnblogs.com/bravestarrhu/archive/2012/05/02/2479461.html Android四大基本组件介绍与生命周期,布布扣,bubuko.com

ExtJS 4.2 组件介绍

目录 1. 介绍 1.1 说明 1.2 组件分类 1.3 组件名称 1.4 组件结构 2. 组件的创建方式 2.1 Ext.create()创建 2.2 xtype创建 1. 介绍 1.1 说明 ExtJS的强大功能之一是提供了非常丰富的组件,包括grid(表格).panel(面板).form(表单).button(按钮).progressBar(进度条)等等. 一个的ExtJS 4应用程序的UI界面,就是由一个或多个组件组成. 这里将会介绍组件的分类.名称.结构以及创建方式. 1.2 组件分类

RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件介绍

RDIFramework.NET ━ .NET快速信息化系统开发框架 工作流程组件介绍 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部署方案. 1.RDIFramework.NET框架介绍 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,为企业或个人在.NET环境下快速开发系统提供了强大的支持,开发人员不需要开发系统的基础功能和公共模块,框架自身提供了强大的函数库和开发包,开发人员只须集中精力专注于业

[ExtJs5.1.0-第3天] 进度条组件介绍

进度条组件介绍 1.认识Ext.Progress BarExt.ProgressBar是一个可更新的进度条组件,继承自Ext.Component,该进度条具有2种不同的模式: 手工模式 和 自动模式.在手工模式中程序员要自己控制进度条的显示.更新.清楚:在自动模式中只需调用wait方法,进度条就会自动无限制地滚动下去,它适合为那些长时间的同步操作进行提示. 下表给出所有组件都有的公共属性和方法 配置项 类型 说明 renderTo String 指定一个页面上已经存在的元素或元素id,该元素将会

Docker生态系统系列之一:常用组件介绍

[编者的话]本篇文章是介绍Docker生态系统的第一篇,不仅从概念上介绍了容器化.服务发现和全局配置存储.网络工具.调度.集群管理和编排这几部分内容,而且配以清晰易懂的例子进行讲解说明,非常值得读者称赞.Docker是现在使用最多的容器化软件.与其它已经存在的容器化系统相比,Docker可以更加简单的创建和管理容器,并与其它开源软件集成. 简介 容器化是一个以可移植和可预测的方式来部署分布式应用的过程,它会将应用组件以及依赖打包为一个标准.独立.轻量的环境,这个环境其实就是容器.现在许多公司都乐

关于Android四大基本组件介绍与生命周期(转)

Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity : 应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应. Activity之间通过Intent进行通信.在Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据. 典型的动作类型有

【ALearning】第五章 Android相关组件介绍(一)Activity

Android应用程序由一些零散的有联系的组件组成,通过一个工程manifest绑定在一起.在manifest中,描述了每一个组件以及组件的作用,其中有6个组件,它们是Android应用程序的基石. Activities(活动) Service(服务) Content Provider(内容提供者) Intent(意图) Broadcast Receiver(广播接收器) Notification(通知) 在这里我们提到了组件(Component)的概念,组件(Component)是对数据和方法

01-集群环境及组件介绍

介绍 Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署.自动扩缩容.维护等功能. 通过Kubernetes你可以: 快速部署应用 快速扩展应用 无缝对接新的应用功能 节省资源,优化硬件资源的使用 我们的目标是促进完善组件和工具的生态系统,以减轻应用程序在公有云或私有云中运行的负担. Kubernetes 特点 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud) 可扩展: 模块化, 插件化, 可挂载, 可组合 自动化: 自动部署,自动重启,