前言
本人在做课程网站时,客户提出需要在线预览ppt文件,经过几天的踩坑之后总结出了如下几个办法
一、前端处理
-
直接通过调用微软的在线预览功能实现 (预览前提:资源必须是公共可访问的)
使用方法:<iframe src='https://view.officeapps.live.com/op/view.aspxsrc=资源地址'> </iframe>
缺点:该资源要是公共的,不能是ip地址,只能是域名,且资源地址透明,最好通过encodeURIComponent()方法修改地址。本人经测试为ip地址的话无法预览,但是可以下载。
-
通过豆瓣在线预览实现
使用方法:<iframe src='www.xdocin.com/xdoc?_func=to&_format=html&_cache=1&_xdoc=资源地址' > </iframe>
经本人测试该方法可以使用,简单方便。
结果图:
-
第三方服务
查了一下常用的有officeweb365,永中DCS。
缺点:免费的可用资源很少。 -
Office文档直接转换为SWF,通过网页加载Flash预览
原本打算采用这个方法,但该方法过于古老需要使用flash,故放弃。
二、后端处理
-
通过Aspose组件把Office文档生成HTML。
缺点:不跨平台,不免费。 -
通过OpenOffice实现在线预览
缺点:需要安装OpenOffice,环境准备麻烦。