kkFileView为文件文档在线预览解决方案,该项目使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等等,其开源免费,且有团队在不断地升级维护,是在线预览方案的极佳选择!
为了kkfileview的良性发展,V4.1.0版本之后的版本不再提供安装包,用户需要自行下载源码进行编译或者加入获得(99元,且有答疑和团队支撑,建议支持一下!),下面展示自己动手编译的过程;
1.使用idea拉取源码
https://gitee.com/kekingcn/file-online-preview.git
中间要填账号密码的话,就填写下自己在码云的账号密码或者令牌(令牌在码云右上角个人信息里面设置)
代码clone成功后,修改下顶层的pom.xml,增加依赖仓库和maven插件仓库为阿里云的(不换的话大概率编译都会爆红,无法编译。)
maven不爆红,正常之后,直接install,注意要去除test,源码里面有很多单元测试,会阻碍构建;
install成功后,target目录就有tar.gz的包和zip包,以及jar,有这些就可以去服务器上部署了
- 解压kkFileView-x.x.x文件(Windows用.zip包,Linux/MacOS用.tar.gz包)
- linux解压就是先用gunzip命令解压,gunzip kkFileView-x.x.x-tar.gz,再用tar命令,tar -xvf kkFileView-x.x.x-tar
- 打开解压后文件夹的bin目录,运行startup脚本(Windows下以管理员身份运行,Linux以root用户运行),V4.4不需要单独先运行install.sh安装libre office了,startup.sh脚本里有检查。
- 浏览器访问本机8012端口 http://127.0.0.1:8012 即可看到项目演示用首页
1.libre office版本升级或者重复安装kkfileview,如何删除旧的libre office?
不同linux 版本的系统尝试执行以下2个命令,总有一个能用的。
2.kkfileview明明进程已经被kill了,但是就是重启不了?
因为kkfileview每次启动时会在bin目录生成一个kkFileView.pid文件,存储进程号,它不管你进程实际在不在,只检查这个文件,所以启动前,记得删除这个文件,或者老实点,每次关闭执行shutdown.sh,不要自己去kill;
3.多节点部署偶现403或404预览失败,查看日志是找不到文件?
因为kkfileview有缓存,第一次预览时会下载缓存起来,请求预览时文件可能缓存到服务A节点,但是第二次预览被分发到服务B上,服务B没有下载该文件,导致找不到,改为单节点部署解决此问题;(表述不一定对,但是多节点如果不进一步研究配置的话,确实会时不时出现预览失败)
4.部分ppt、word、pdf预览时乱码?
大多是因为转码时linux服务器字体库不够导致的,kkfileview官网有字体包,也可以自行去百度linux安装字体解决,以下是kkfileview官网原话:
大部分Linux系统上并没有预装中文字体或字体不全,需要把常用字体拷贝到Linux服务器上,具体操作如下: 下载如下字体包 https://kkfileview.keking.cn/fonts.zip 文件解压完整拷贝到Linux下的 /usr/share/fonts目录。然后依次执行mkfontscale 、mkfontdir 、fc-cache使字体生效
5.ppt或者pdf太多怎么办?
修改启动脚本startup.sh,加内存,xms 和xmx都搞大点,比如我4核8g的服务器,直接分一半给他用
nohup java -Xms4g -Xmx4g -jar .......
6.苹果手机拍的.mov不支持预览怎么办?
配置文件里面可以开启转码,转码会占用更多的线程和内存资源,默认没开,可以自己试试,下面是开启转码的配置片段