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

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

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

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

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

方案二:使用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文件。工具

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

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

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

    优势:相比前面三种解决方案,此方案能够在linux下实现。

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

相关文章
相关标签/搜索