html 如何将canvasexcel置于底层用不了

目前想实现类似百度文库那样的茬线文档预览但是他们使用的一般都是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比较好

这种需求,主要还是靠强大的后端处理了

我之前找过,可以看看我这个

最简单的方法时使用position: fixed;这方法很好,解决了下层页面没被隐藏和软键盘弹出后页面的问题,然而生成的图片没法显示,依旧是一片漆黑,总之试了很多次,只要在body使用fixed就别想生成图片,朂后发现只用css是没法实现的了,于是结合js一起操作

如果有朋友对html2canvas.js有兴趣,想查看我的项目源码的可以到上拉取,如果大家对此插件有更深刻的理解欢迎留言

最后再多说一句:人人摇是个啥?扫码你就知道啦

我要回帖

更多关于 excel置于底层用不了 的文章

 

随机推荐