最近项目遇到了需要文件在线预览的需求,看来看去瞄头对准了kkfileview,配置再此,希望帮到后面的人,也感谢作者的慷慨!
github:github.com/kekingcn/kk…
kkfileview官网:kkfileview.keking.cn/zh-cn/index…
(1)环境要求
Java: 1.8+
OpenOffice或LiberOffice(Windows下已内置,CentOS或Ubuntu下会自动下载安装,MacOS下需要自行安装)
(2)环境配置
在服务器运行如下代码:
yum install -y libXext.x86_64
yum groupinstall -y "X Window System"
(3)过程
使用命令解压
tar -zxvf kkFileView-4.0.0.tar.gz
解压后生成目录,路径定位到/root/kkFileView-4.0.0/bin(我这里解压到root下),
执行启动命令
sh startup.sh
4.0.0版本集成了office插件,但是我这里依旧报了错,找不到office组件,请确认office.home配置是否有误,以下附上详细解决方法
官网下载libreoffice,我这里版本定位到7.1.4.2,
官网仓库地址:downloadarchive.documentfoundation.org/libreoffice…
idm添加连接:downloadarchive.documentfoundation.org/libreoffice… 如果访问不到,自行福强
上传至服务器,
执行解压命令
tar -zxvf LibreOffice_7.1.4.2_Linux_x86-64_rpm.tar.gz
路径定位到RPMS,执行安装
cd /root/LibreOffice_7.1.4.2_Linux_x86-64_rpm/RPMS
yum localinstall *.rpm
安装成功后会在 /opt/ 下生产一个 libreoffice7.1 的文件夹
然后执行如下命令
/opt/libreoffice7.1/program/soffice --headless --accept="socket,host=127.0.0.1,port=2001;urp;" --nofirststartwizard &
由于更换了office,需要将配置中的office.home进行更换
目录定位到/root/kkFileView-4.0.0/config,将application.properties下载进行更改
office.home = /opt/libreoffice7.1
处理后重新上传即可!!!
最后定位到目录 /root/kkFileView-4.0.0/bin,执行
sh startup.sh
关于乱码
官网是有提到解决办法的, 文档再此:kkfileview.keking.cn/zh-cn/docs/…
乱码的解决方案是给linux安装字体即可 字体包官网已经提供,下载,解压,上传,安装,命令如下
上传至/usr/share/fonts目录下
修改字体权限,执行
cd /usr/share/fonts/
sudo chmod -R 755 zhFonts
建立字体索引信息,更新字体缓存
mkfontscale && mkfontdir && fc-cache -fv
如执行命令时提示到类似mkfontscale: command not found,自行bd搜索安装命令即可
关于配置nginx
官网中有指导的说明如下
操作时,发现
server.context-path = /preview应该是旧的配置方式,在我是用的4.0.0版本中的application.properties没有发现配置的对应项,估计是官网没有更新,正确的的配置方式是
即可,
需注意的是,配置nginx后,本机ip:8012端口的方式无法在访问根页面,需使用nginx代理ip:8012/preview的方式访问
最后
项目访问地址:ip:8012访问即可
如何接入vue项目
接入vue项目时,这里需要说明的是其中提到的base64Encode(url),安装插件js-base64即可,
npm i js-base64
import Base64 from 'js-base64';
Vue.prototype.$Base64 = require('js-base64').Base64;
使用时
this.$Base64(url)