目前想实现类似百度文库那样的茬线文档预览但是他们使用的一般都是Flash,而HTML5 canvas可以在大多数情况下代替Flash那么有没有办法让canvas显示/预览Office文档?
如果不用Flash目前唯一的方法是,用OpenOffice/LibreOffice或者在线服务(比如七牛里面第三方提供的文档转换服务)转换成PDF然后用Mozilla的pdf.js来在线预览。
其实不一定要用Flash或者PDFHTML更好。
优点:在国內由于Flash安装量很大,而且很多人用IE和Chrome内核的浏览器所以是可以查看的。
缺点:OpenOffice/LibreOffice转换的结果可能会丢失格式/排版(我没试过所以不知道會不会)而且比较耗服务器资源,如果浏览器没装Flash就没法查看文档了尤其是移动端。
2.转换成PDF然后用Mozilla的pdf.js查看。说明:转换成PDF的方法可鉯用OpenOffice/LibreOffice也可以用七牛的第三方服务“文档转换”(由亿方云提供)。
优点:如果是把文件存放在七牛云用在线的服务会比较有保障,加載速度也快
缺点:收费,不过费用很低廉pdf.js可能比较大,加载相对慢点放到七牛上面会好些,对移动端支持不好
3.转换成HTML,像现在的百度文库那样说明:使用和将文档转换成HTML直接在浏览器输出,类似现在的百度文库
优点:浏览器无需安装任何插件,也不用担心兼容性问题还支持移动端。
缺点:可能会丢失格式而且用户可以直接拷贝文档内容,如果是扣积分下载的话可能达不到目的。
综上所述桌面端用方案2,移动端用方案3比较好
这种需求,主要还是靠强大的后端处理了
我之前找过,可以看看我这个