Office插件开发(8)

第一部分:现阶段完成部分

1.       机器安装要求:本插件仅用于office2007版本。由于本软件依赖于Ribbon visual designer,通过office addin2007进行设计,所以现阶段版本仅能适用于office2007版本。而后续基于office2003的版本正在制作中,而office2007版本使用的标准的openxml结构能够让操作更加方便和简介。

2.       安装过程:

项目发布包中包含文件如下:

       Figure 1

         点击setup.exe即可进行插件安装,在安装过程中会顺序安装下面三个部分:

Prerequisites components

Windows Installer 3.1

.NET Framework 4.0

Microsoft Visual Studio Tools for Office Runtime 3.0 (VSTO Orcas)

         而这三个部分在setup中都已经集成了,如果您的机器上面没有这三个软件,那么安装时间可能会比较长,而且在安装过程中由于要加载office的启动项,所以防火墙会弹出是否修改启动项的菜单,请点击是。安装这三个部分需要从网上进行下载,所以安装过程中请保持您的电脑处在联网中。

运行setup.exe,你会看到如下所示的对话框:

http://images.cnblogs.com/cnblogs_com/allenlooplee/746cff19-c792-43ad-bc55-1b5f9e79d2bf.png

Figure 2

       点击Install按钮,安装程序将继续:

http://images.cnblogs.com/cnblogs_com/allenlooplee/34a0bc5c-e77e-46b2-97a3-d33ea3adb997.png

Figure 3

        安装完毕后点击Close按钮退出:

http://images.cnblogs.com/cnblogs_com/allenlooplee/12920bf3-afaa-47db-bf53-fe48e06edb23.png

Figure 4

        如果你想卸载这个插件,可以在添加/删除程序对话框里找到它的卸载程序:

http://images.cnblogs.com/cnblogs_com/allenlooplee/8b022715-f7a7-4618-9e10-3db0bf6a0fbd.png

 Figure 5

3.       操作步骤

(1)     打开所需要加密的office word2007文件。

(2)     选择菜单栏的加载项菜单。

 

(3)     选中你所需要加密的文本项:

(4)     点击菜单栏的Encode按钮对文件进行加密,点击Encode按钮后会弹出输入密钥菜单:

输入您的密钥,可以是数字、英文或者是汉字

在多次解码的时候不需要重复输入密码。

(5)     在加密完成之后,可以选择使用Lock来锁住整个文档不被用户修改,如果选择了这一项在解密的时候之后请选择Unlock对其进行解锁然后才能进行操作

(6)     对于已加密的文档,我们按Decode按钮便能够对其进行解密。

(7)      

4.       现阶段的主要问题

(1)     word使用版本上需要改进,由于现阶段的主流依然是office2003office2007两个版本,所以需要开发基于word2003的版本插件,这个已经在开发之中了。

(2)     由于这个版本主要是通过使用用户拖拽范围文本对文档进行加密,而在现在的开发中加入了新的使用搜索关键字的方法来对所有包含关键字的文本块进行加密操作。

(3)     增强用户体验:对于加密部分我们现在使用双划线和红色注释进行用户提醒,但是这种方法给用户看上去依然会有一些杂乱的感觉,所以需要修改其他方法来对加密部分给予特别显示,首先想到的是采取水印的方法。

(4)     本插件能够很好的对文本进行修改,但是对于图片和表格等结构不能完好的进行修改,在现阶段我们仅仅将注意力放在如何修改文字上,而在里面对于我们的加密,同时也会丢掉文本本身具有的style显示属性,这些是下一阶段主要集中实现的地方。

(5)     采用DES进行加密,在下一版中将采用AES算法进行加密,这种算法基本上不可能被穷举来解开。

(6)       对于我们使用<encode></encode>的问题,由于我们是在文本中赋予一个encode标签,在加密的时候将两个标签分别加到开头和末尾,解密的时候通过搜索这两个标签进行相应的解密。这时就会发生几种情况,这些都是需要解决的:如果在文档中出现一个<encode>字符串。那么程序将会在解码的时候误把这个当作起始符,然后将从这个代码开始到下一个加密块的</encode>结束处进行解码操作,造成操作错误。重复加密的问题,用户可能在加密之后对一个区域进行重复加载,这种操作怎么防止或者怎样做能做到不出错。

5.       word插件开发展望:

(1)     做到可以在office2003office2007上分别都能使用的插件

(2)     开发不同的用户加密选择办法,更好的满足用户加密习惯。

(3)     对于office中的所有元素都能进行加密操作,如图片,表格,形状,图表等,凡事能被显示出来的部分都能进行相应的加密操作。

(4)     在加密的情况下保护文档的结构和显示样式,做到解密后的文档和原文档完全相同。

(5)      

(6)     由于文档中一般有多处进行加密,而且有可能对于不同的人,显示的部分不完全相同,而现阶段仅仅是采用密钥的方式进行区分,但是在实际交互中交互密钥本身就是一个既不安全也很麻烦的操作。如果是企业内部使用,可以维护一个数据库,将其和office相连,将用户密钥保存在相应的数据库中,用户只需要输入相应的用户名和密码进行登录,就能在office出现相应的加密和未加密部分,这种方法能够做到用户最方便的进行文档间的管理和显示。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值