大家好,又见面了,我是你们的朋友全栈君。
#附件在线预览控件实现的市场调研
注:此为博主(yjclsx)市场调研的原创文档,若要转载,请标明出处!
##一、POI实现
使用poi组件(是java的jar包,因此.net不支持)可以将excel、word转换为html,将ppt转换为图片,这些都是可以直接被浏览器识别的文件类型,由此实现在线预览功能。
原excel如下:
原word如下:
原ppt如下:
效果展示如下:
excel转html:
ppt转图片:
word转html:
可见,excel转成的页面格式不太好看,ppt转成图片后有些不是宋体的中文字会出现框框。
##二、OpenOffice实现
###2.1、转换为html或者pdf
OpenOffice是免费的一套跨平台的办公室软件套件,有windows和linux版本。这里需要基于它的服务(需要启动openffice进程)利用jodconverter(java的jar包)把文件(.doc、.docx、.xls、.ppt)转换为html或者pdf。效果如下:
word转pdf:
word转html:
excel转html:
excel转pdf:
ppt转html:
ppt转pdf:
使用openOffice效果比poi明显好,没有中文乱码等问题,使用openOffice转换成pdf比转换成html效果好,安装了Adobe Reader XI可以在浏览器直接打开pdf,达到预览的效果。
###2.2、Flash预览
使用openOffice转换成pdf后,再通过swfTools将pdf文件转换成swf格式的文件,最后通过FlexPaper文档组件在页面上进行展示。百度文库和豆丁网都是使用flash的形式在网页上展示的,播放的时候,修改了flexpaper,让它支持一次仅读取指定页数的flash。
word预览效果如下:
缺点:转换过程非常耗费资源,一个文件还需要一个PDF文件、一个SWF文件浪费磁盘空间。
##三、Office文档直接转换为SWF,通过网页加载Flash预览
利用flashpaper直接转换为SWF文件,然后利用flexpaper预览Flash文件。
flashpaper是Macromedia的一款产品,随着被Adobe公司收购,Macromedia对于这款软件已放弃了。
##四、office web apps
Office Web Apps是由微软推出的基于Web端的在线办公工具,让你可以从几乎任何地方共享自己Office文档。后更名为Office Online,服务对应地更名为Word Online、Excel Online、PowerPoint Online和OneNote Online。钉钉、126邮箱的文件预览就是使用的Office Online。
使用该方案的优点:
1.现有代码改动量很小,几乎可以忽略不计,无需自己写代码。
2.支持文档类型很全面,doc,ppt,xls,docx,pptx,xlsx,pdf。
3.手机和pc都支持,支持文档缓存,分页浏览。
4.免费。
使用该方案的缺点:
1.安装部署十分麻烦,相关文档也较少,不易上手。
2.转换文档需要两台服务器,一台为转换server,另外一台为域控server。
3.只运行在windows服务器上。
excel预览效果如下:
##五、付费软件
Office Web 365在线预览云服务(http://www.officeweb365.com):优点是代码量几乎为0,缺点是文件都上传到了它的服务器上。
永中office在线预览(http://dcs.yozosoft.com/index.html):QQ邮箱、163邮箱等都是使用的这款服务。
运行环境:jre8、apache-tomcat-8.0.26、nginx以及转换所需的字体。
部署流程(linux下):1、安装JDK8;2、Tomcat配置;3、部署DSC工程;4、安装nginx。
java再使用时需引入第三方工具包:commons-logging-1.1.jar,httpclient-4.5.jar,httpcore-4.4.1.jar,httpmime-4.5.jar,详细调用方法和API请看官方的说明文档。
excel效果预览如下:
科瀚的SOAOffice中间件(http://www.kehansoft.com/soaoffice/index.htm)。
卓正软件的pageoffice控件(http://www.zhuozhengsoft.com/ ):
支持的浏览器有:IE(Internet Explorer)6、IE7、IE8、IE9、IE0、搜狗、傲 游、MyIE、猎豹、百度、360、世界之窗、QQ浏览器;Chrome需要安 装ActiveX for Chrome插件、FireFox需要安装IETab插件;
使用步骤:
1、解压下载到的PageOffice软件包。
2、拷贝示例文件夹到Tomcat的webapps文件夹下,重新启动Tomcat服务,通过浏览器访问示例页面即可。
3、浏览包含PageOffice的页面会提示安装PageOffice客户端控件,点击允许。安装客户端控件后,控件会弹出注册对话框,填写软件包里附带的试用序列号即可注册激活软件。然后您就可以浏览PageOffice示例代码,查看各种功能效果了。
市面上的其他付费软件服务还有,这里不再列举了!
##六、调研结论
基于我司实际情况,得出以下结论:
POI由于预览效果不是很好,不建议使用。
Flashpaper缺少后续支持,不建议使用。
第三方付费产品中,Office Web 365 完成依赖于第三方云服务,在安全性、灵活性、稳定性为验证,不建议使用;科瀚的SOAOffice和卓正软件的pageoffice需要浏览器Activex插件的支持,对用户不是很友好,不建议试用。
剩下的OpenOffice、Office Web Apps、永中office中,OpenOffice的预览效果稍差,但集成方便;Office Web Apps预览效果最佳,钉钉、126等也采用此方式,但估计集成难度稍大,另外钉钉的预览偶尔也出现不稳定的情况;永中office的预览效果和集成难度比较平衡,但需付费。这三种方案还需要再做选择,希望大家提一些建议。
注:此为博主(yjclsx)市场调研的原创文档,若要转载,请标明出处!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/146566.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...