实现仿百度文库在线浏览功能

针对office文档的在线浏览功能,解决方案有以下几种,其中各有优劣之处。此次只对解决思路做个说明,具体实现会在后面的博文中做说明。

方案一:使用微软的dsoframer.ocx,该插件不在此详细介绍了,其存在依赖性,需要windows系统下,并且只能运行在IE或者IE内核的浏览器(IE6不能自动注册插件)。

    优点:功能强大,可以动态生产word模板,红头文件等,可以在线编辑保存至本地或者服务器。(pageoffice可以作为替代,但是是收费插件。)

    缺点:插件降低浏览器安全性,ocx插件偶现无法注册的情况,并且运行不稳定。在IE78下,连续编辑文档两次会经常出现浏览器奔溃现象。官方已经停止更新。

方案二:使用flashpaper或者print2flash。这两个控件实现起来较为方便,但是比第一种方案稍慢一些。实现原理是上传文档,java调用flashpaper或者print2flash将文档转化为swf文件,前端直接用flashpaper或者print2flash显示swf文件即可。

    优点:支持转化的文件格式较多,前端由于调用flashpalyer显示,所以可以跨浏览,没有浏览器的局限性。

    缺点:存在水印,flashpaper可以使用破解版去除水印,print2flash暂时没有好的去水印方法。此方案需要在windows环境下实现,并且windows环境下要安装flashpaper或者print2flash软件。Flashpaper不支持64位系统。

方案三:使用jacob(或者Jcom+openOffice(或者MSOffice+swfTools+flexpaper。实现原理是jacob调用openOffice先将上传的文档转换成pdf文件,在用swftoolpdf2swf功能将pdf文件转换为swf文件,最后在页面用flexpaper显示swf文件。

    优点:与第二个方案比较,没有什么优越性。

    缺点:只能在windows下实现,转化两次速度比较慢。系统需要安装两个工具,以及注册jacob.dlljacob的版本与jdk版本要对应。

方案四:使用JodConverteropenOfficeswfTools。实现原理是JodConverter调用openOffice先将上传的文档转换成pdf文件,在用swftoolpdf2swf功能将pdf文件转换为swf文件,最后在页面用flexpaper显示swf文件。

    优点:相比前面三种解决方案,此方案可以在linux下实现。

    缺点:转换两次速度比较慢。系统需要安装其他工具。


转载于:https://my.oschina.net/u/872813/blog/189503

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值