本发明涉及it与软件开发,尤其是涉及一种轻量级的加密office文档在线预览方法。
背景技术:
1、随着人们对信息安全的重视,网站用户对上传的附件材料进行加密,但很多网站不支持加密后的word,excel,ppt,pdf在线预览。许多网站处理office文档在线预览时采用openoffice或libreoffice技术(如图1所示),而这两种技术都需要手动下载安装、启动服务后才可以使用,这使得操作过程稍显繁琐,给用户带来不便。
2、因此,设计一种线上预览加解密word、excel、ppt、pdf文档的方案很有必要。
技术实现思路
1、本发明的目的在于提供一种轻量级的加密office文档在线预览方法,以解决现有技术中采用openoffice或libreoffice技术导致用户需要手动下载安装、启动服务后才可以使用的技术问题。
2、本发明提供以下技术方案:
3、一种轻量级的加密office文档在线预览方法,包括以下步骤:
4、s100、接收参数预览目标资源url、以及请求信息request;
5、s200、基于spireoffice对文件进行解密处理;
6、s300、获取预览目标资源url中的文件类型,制定策略,根据不同的资源类型,采用不同的预览处理方法;
7、s400、根据预览处理方法返回的预览资源url,输出二进制流。
8、进一步地,在所述解密处理过程之前,还包括以下步骤:
9、获取预览目标资源格式,初始化该格式对应的spireoffice的api。
10、进一步地,所述解密处理过程包括:
11、s201、基于spireoffice判断预览目标资源是否受密码保护:
12、否,则直接返回预览目标资源url;
13、是,则继续以下步骤;
14、s202、获取请求信息request中的session id,根据session id获取对应的session,以url为key查询是否存在对应的记录:
15、是,则返回对应value的值;
16、否,继续一下步骤;
17、s203、检验预览目标资源url中是否携带加密后的文件密码字符串:
18、是,对其进行解密,得出解密后的原始密码;
19、否,则抛出异常,提示输入密码;
20、s204、使用原始密码,基于spireoffice读取加密文件:
21、如果读取成功,继续一下步骤;
22、否则抛出异常,提示密码错误;
23、s205、检查同目录下是否存在预览目标解密后的文件s0;
24、是,则直接返回s0的路径url0;
25、否,则基于spireoffice生成s0,路径为url0,并以url为key,url0为vaule保存在session中,最后返回url0。
26、进一步地,在所述步骤s202中,
27、所述value的值为解码后的文件路径url0。
28、进一步地,在所述步骤s204中,采用des算法进行解密。
29、进一步地,还包括步骤s500;
30、基于spireoffice对解密文档进行可配置预览格式转换,并使用cache缓存记录历史转换结果。
31、进一步地,在所述步骤s500之前,还包括一下步骤:
32、接收预览目标资源url中预览格式参数,如果不存在,则从配置中获取默认的格式。
33、进一步地,在所述步骤s500中,可配置预览格式转换具体为:
34、s501、假设该需要转换的格式为k;
35、s502、假设所述步骤s205返回的结果为url2,查询cache中k类型缓存方法,以url2为key的数据是否存在:
36、如果存在,返回对应value值:
37、如果不存在,继续以下步骤;
38、s503、根据格式k,初始化该格式对应的spireoffice的api,对url2对应进行转换,生成最终预览目标,路径为url3;
39、s504、以url2为key,url3为value,保存在k类型cache缓存方法中,最后返回url3。
40、进一步地,在所述步骤s503中,如果k是图片,生成的预览目标是多个,url3为多个图片路径的集合。
41、进一步地,在所述步骤s503中,所述图片路径的集合下标代表图片的顺序。与现有技术相比较,本发明的有益效效果是:
42、(1)本方法提供线上预览加密word、excel、ppt、pdf文档的整体方案,提供了资源预览统一入口,支持用户自定义扩展,灵活性较强;
43、(2)支持加解密文档的在线预览,对文件解密进行统一管理。
44、(3)支持配置预览格式,可选择pdf预览、图片预览、html预览三种。
45、(4)使用轻量级spireoffice组件,无需安装,导入即用。
1.一种轻量级的加密office文档在线预览方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的轻量级的加密office文档在线预览方法,其特征在于:在所述解密处理过程之前,还包括以下步骤:
3.根据权利要求2所述的轻量级的加密office文档在线预览方法,其特征在于:所述解密处理过程包括:
4.根据权利要求3所述的轻量级的加密office文档在线预览方法,其特征在于:在所述步骤s202中,
5.根据权利要求1所述的轻量级的加密office文档在线预览方法,其特征在于:在所述步骤s204中,采用des算法进行解密。
6.根据权利要求3所述的轻量级的加密office文档在线预览方法,其特征在于:还包括步骤s500;
7.根据权利要求6所述的轻量级的加密office文档在线预览方法,其特征在于:在所述步骤s500之前,还包括一下步骤:
8.根据权利要求7所述的轻量级的加密office文档在线预览方法,其特征在于:在所述步骤s500中,可配置预览格式转换具体为:
9.根据权利要求8所述的轻量级的加密office文档在线预览方法,其特征在于:在所述步骤s503中,如果k是图片,生成的预览目标是多个,url3为多个图片路径的集合。
10.根据权利要求9所述的轻量级的加密office文档在线预览方法,其特征在于:在所述步骤s503中,所述图片路径的集合下标代表图片的顺序。