附件在线预览控件实现的市场调研[通俗易懂]

附件在线预览控件实现的市场调研[通俗易懂]附件在线预览控件实现的市场调研

大家好,又见面了,我是你们的朋友全栈君。

#附件在线预览控件实现的市场调研
注:此为博主(yjclsx)市场调研的原创文档,若要转载,请标明出处!
##一、POI实现
使用poi组件(是java的jar包,因此.net不支持)可以将excel、word转换为html,将ppt转换为图片,这些都是可以直接被浏览器识别的文件类型,由此实现在线预览功能。
原excel如下:
原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账号...

(0)
blank

相关推荐

  • elasticsearch集群安装插件滚动重启步骤「建议收藏」

    elasticsearch集群安装插件滚动重启步骤「建议收藏」elasticsearch集群安装插件滚动重启步骤1.先安装好插件(每个节点都要装,root用户执行)2.禁用分片分配。这可以防止Elasticsearch重新平衡(reblance)丢失的分片,可以按如下方式禁用分配3.为了提升集群恢复速度,尽可能先让数据刷盘.如果有任何挂起(pending状态)的索引操作,这个操作将会失败,但可以安全地多次重新执行.如果应用有数据写入最好先暂时停止数据写入4.重启节点确认是否已经加入集群5.重新启用分片分配,分片再平衡可能需要一些时间。等待群集恢复到green状态后再继

    2022年10月24日
  • idea 2021.9激活码_最新在线免费激活

    (idea 2021.9激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32PGH0SQB-eyJsaWNlb…

  • bat 延迟执行后面命令_bat命令延时10秒启动程序

    bat 延迟执行后面命令_bat命令延时10秒启动程序1、使用WScirpt的sleep功能,精度0.001秒创建vbs延迟文件,然后在批处理文件中调用,使用WScript的sleep函数,实现sleep的效果。实战:1)创建文件sleep.vbs:sleep.vbs内容如下:WScript.sleep5000。2)调用vbsstart/waitsleep.vbs1、使用choice命令choice/t10/cyn/n/dn/m(10秒后打开)CHOICE[/Cchoices][/.

  • FindWindowEx()函数详解

    FindWindowEx()函数详解 函数功能:该函数获得一个窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数查找子窗口,从排在给定的子窗口后面的下一个子窗口开始。在查找时不区分大小写。    函数原型:HWNDFindWindowEx(HWNDhwndParent,HWNDhwndChildAfter,LPCTSTRlpszClass,LPCTSTRlpszWindow);    参数;    hwnd

  • 加壳工具对比

    加壳工具对比哪个最难脱,哪个最难破? 哪个激活成功教程平均耗时最久? 最贵的DNGuard,企业版5k+,走遍天下无敌手? 多选投票:(最多可选3项),共有119人参与投票投票已经结束1.DNGuard企业版3.72 51.09%(70) 2..NETReactor5.0 22.63%(31) 3….

  • mysql odbc下载(mysql8下载)

    1.下载JDBC驱动的MySQL官网:https://www.mysql.com/2.按步骤下载

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号