对于Office的文件得在线预览基本有以下要求
在这些前提下我们来看看常用得解决方案,以及最终得选择。
测试文件
2.6M
60.93MB
https://github.com/sbraconnier/jodconverter
https://blog.csdn.net/shixiansen6535/article/details/101672148
https://blog.csdn.net/qingtian_1993/article/details/79901843
自己开发转换或预览功能
特点
https://kkfileview.keking.cn/zh-cn/index.html
https://kkfileview.keking.cn/zh-cn/docs/production.html
特点
缺点
文件预览支持以下格式
https://gitee.com/xdoc/xoffice
特点
缺点
https://www.cnblogs.com/lovechengcheng/p/4117391.html
https://www.cnblogs.com/yanweidie/p/4516164.html
https://github.com/marx-yu/WopiHost
特点
缺点
可以使用微软在线服务器或则自己搭建服务器
特点
缺点
收费好多功能用不着
需要安装,不能动态播放ppt
PPT无动态预览效果
演示 https://www.idocv.com/examples.html
PPT无动态预览效果
官网 http://www.officeweb365.com/
https://www.yozodcs.com/page/example.html
ppt不支持动画,把动画播放后的页面展示了,近期要发布支持动画版本;
支持本地文件预览
总得来说
基于MSOffice的处理效果都会相对较好,但是必须Windows环境。
基于OpenOffice/Ibreoffice的优点也就是跨平台了。
如果项目只要求预览
微软 office web app
kkfileview
如果项目要能获取到图片
推荐使用JobConverter + OpenOffice/Ibreoffice
拉取镜像
docker pull keking/kkfileview
运行
docker run -it -p 8012:8012 keking/kkfileview
访问
浏览器访问容器8012端口(http://xxx.xxx.xxx.xxx:8012 )即可看到项目演示用首页
http://doctest.xhkjedu.com:8200
当您的项目内需要预览文件时,只需要调用浏览器打开本项目的预览接口,并传入须要预览文件的url,示例如下:
var previewUrl = 'http://127.0.0.1:8080/file/test.txt'; //要预览文件的访问地址
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(previewUrl));