最近需要实现word、pdf文档的在线预览功能,在gitee上发现了kkfilevieekkfileview开源的项目,我使用的版本是3.6.0.
1、码云搜索kkfileview项目,下载项目源码,或者直clone也可以,使用idea打开项目,使用maven加载项目所需要的依赖包:
2、使用idea中maven的package进行项目打包:
3、打包完成后会生成.zip和.tar.gz的两个包,windows环境使用zip包,linux环境下使用.tar.gz包。
4、windows环境下使用:
- 解压缩zip包,进入到bin目录下:
- 双击startup.bat进行启动:
- 启动成功后,前端页面调用方式为:window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(docUrl)));
5、linux环境下使用:
- 上传安装包,解压安装包:
- 进入config文件夹下,修改配置文件:
- 修改基础url:,IP为nginx服务器地址,端口为nginx监听的端口。
- 进入bin目录,可以先运行install.sh脚本,安装所需要的openoffice组件,我已经安装过,直接运行./startup.sh脚本,启动程序:
- 查看启动日志./showlog.sh:
- 检查程序是否启动完成,使用命令ps -ef|grep java:
- 检查openoffice启动是否正常,使用命令ps -ef|grep soffice:
- 都正常后,进入nginx配置文件,修改配置文件:
- nginx配置中原来有监听的系统的配置,添加一个:
location /preview/ { proxy_pass http://192.168.0.41:8012; }
这里面的IP是你服务器的原始IP地址,端口号是kkfileview的端口
-
配置好后,重新使用docker启动nginx即可:docker stop nginx,docker start nginx;
-
前端使用代码为:
window.open('http://ip:5400/preview/onlinePreview?url='+encodeURIComponent(Base64.encode(docUrl)));
这里的IP地址是项目前端所部署的地址。
kkfileview的使用是很简单,linux中使用一般会涉及到nginx代理,耐心配置好代理即可。在此为kkfileview的创作者致敬。