部署方式,可以直接下载二进制步骤,也可以通过docker直接拉取,还可以通过源码编译进行,下面分别说明
前提条件:Jdk需要先安装设置好,kkFileWiew是Java开发的,Jdk必需。
tar -xvf jdk-8u191-linux-x64.tar.gz -C /usr/local
cat >> /etc/profile << EOF
export JAVA_HOME=/usr/local/jdk1.8.0_191/
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
EOF
source /etc/profile
[root@localhost testuser]# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
1.从码云发行版本下载最新版发行包,这里只以linux为例,一般服务器都是linux的,如果用windows也可,看官网说明进行。
2.解压kkFileView-x.x.x文件(Windows用.zip包,Linux/macOS用.tar.gz包),如:
tar xvf kkFileView-4.0.0.tar.gz -C /opt/
3.运行startup脚本(Windows下以管理员身份运行startup.bat,Linux以root用户运行startup.sh)
cd /opt/kkFileView-4.0.0/bin
注:linux下kkFileWiew需要Libreoffice的支持,因此startup.sh会判断系统是否已安装LibreOffice,如果没有安装,将自动下载安装,因此需要有互联网环境的支持,如果是内网的机器,可以考虑在一台有互联网环境下的机器上搭建一个http代理服务器,然后通过export命令设置通过代理下载,如在192.168.56.1上搭建了一个http代理(设置了账号和密码),可以通过如下命令执行,然后再执行startup.sh
export http_proxy=http://admin:admin123@192.168.56.1:1080
export https_proxy=http://admin:admin123@192.168.56.1:1080
export no_proxy='127.0.0.1'
运行startup.sh
[root@localhost bin]# ./startup.sh
Using KKFILEVIEW_BIN_FOLDER /opt/kkFileView-4.0.0/bin
Installing OpenOffice
Loaded plugins: fastestmirror
Determining fastest mirrors
........略
Complete!
Loaded plugins: fastestmirror
No such command: installlocalho. Please use /usr/bin/yum --help
install finshed...
Starting kkFileView...
Please execute ./showlog.sh to check log for more information
You can get help in our official homesite: https://kkFileView.keking.cn
If this project is helpful to you, please star it on https://gitee.com/kekingcn/file-online-preview/stargazers
4.按步骤3的提示执行./showlog.sh查看启动日志,报错,需要解决office.home的问题:
./startup.sh报错,不是一键部署吗?官网直接说.startup.sh难道有坑?查看startup.sh中,定定了几个目录/opt/libpreoffice*,根据官网说的,4.0版本后依赖libpreoffice,继续看/opt目录下,没看到libpreoffice目录存在,说明libpreoffice未安装成功。
/opt目录下,没看到libpreoffice目录存在,说明libpreoffice未安装成功,如下:
[root@localhost opt]# ls -hl /opt/
total 0
drwxr-xr-x. 5 root root 42 Aug 20 13:05 kkFileView-4.0.0
继续看,发现没有安装的情况是要执行install.sh的
install.sh如下
看着像是会执行安装的,cd /tmp/LibreOffice_7.1.4.2_Linux_x86-64_rpm/RPMS查看,也确实是下载了很多包
手工再执行一次安装看看
cd /tmp/LibreOffice_7.1.4.2_Linux_x86-64_rpm/RPMS
yum localinstall *.rpm -y
执行成功后再重启.startup.sh,发现能正常启动了。
[root@localhost RPMS]# cd /opt/kkFileView-4.0.0/bin/
[root@localhost bin]# ./startup.sh
5.浏览器访问本机8012端口,如:http://192.168.56.101:8012
6.使用
使用较简单:从步骤4中可以看出,通过传递一个经过base64位的外部文件url地址给kkFileView程序即可如:
http://192.168.56.101:8012/onlinePreview?url=aHR0cDovLzE5Mi4xNjguNTYuMTAxOjgwMTIvZGVtby9hcHBsaWNhdGlvbi5wcm9wZXJ0aWVz
##拉取镜像
docker pull keking/kkfileview:v4.0.0 ##官网拉取
docker pull 192.168.56.1:6000/keking/kkfileview:v4.0.0 ##通过私库拉取(有的话)
##运行(第一次)
docker run -itd -p 8012:8012 192.168.56.1:6000/keking/kkfileview:v4.0.0 ##有私库的情况下。
或
docker run -itd -p 8012:8012 keking/kkfileview:v4.0.0
##查看
docker ps -a
docker exec -it 1be9d7d654dc /bin/bash
##停止与启动,
docker stop 容器id
docker start 容器id
1.下载代码,以4.0.0版本为例
git clone https://gitee.com/kekingcn/file-online-preview.git
##切换到v4.0.0版本
git checkout -b v4.0.0 origin/v4.0.0
2.编译
mvn clean package -Dmaven.test.skip=true
3.编译成功后,在file-online-previewservertarget目录下找到对应的二进制文件
4.再走一遍2.1步骤中的二进制部署方式即可。
通过修改Application.properties来修改配置,需要重启程序如:
默认的访问路径为/onlinePreview,通过server.context-path进行修改,
更详细的配置参见官网的配置说明:
https://kkfileview.keking.cn/zh-cn/docs/config.html
大部分Linux系统上并没有预装中文字体或字体不全,需要把常用字体拷贝到Linux服务器上,具体操作如下:
下载如下字体包http://kkfileview.keking.cn/fonts.zip文件解压完整拷贝到Linux下的 /usr/share/fonts目录。然后依次执行mkfontscale 、mkfontdir 、fc-cache使字体生效,可能需要重启kkFileView程序
unzip -o -d /usr/share/fonts/ fonts.zip
##解压多了一层,需要移动一下到上一层的fonts下面,然后再删除zhFonts文件夹
mv /usr/share/fonts/zhFonts/* /usr/share/fonts/
cd /usr/share/fonts/
mkfontscale
mkfontdir
fc-cache
如果报mkfontscale命令不存在执行
yum install mkfontscale -y
解决乱码前:
解决乱码后:
1.properties
2.pdf
3.word
word也是通过转换成pdf再浏览的
链接:https://pan.baidu.com/s/1sXYjx1_16I5JFGyxEja_bA 提取码:kixv
有时发现liboffice并没有传说官网中说的那么稳定与好,可能是我没用好,我自己转换试验是觉得openoffice更稳定,转换大于10M的word也顺利,反而用官网推荐的liboffice转换,常常崩并把office进程给搞没了,所以我这边一般是使用openoffice进行转换。
不需要改什么,就是直接再安装openoffice4就好,安装过程见
https://blog.csdn.net/jxlhljh/article/details/117041944
修改application.properties中的配置
#openoffice home路径
#office.home = C:\Program Files (x86)\OpenOffice 4
#office.home = ${KK_OFFICE_HOME:default}
office.home = /opt/openoffice4
然后进行kkfileView的重启,kkfileView启动时发现/opt/openoffice4目录有安装了openoffice4会以openoffice4进行启动。
#/opt/openoffice4/program/soffice.bin: error while loading shared libraries: libXext.so.6: cannot open shared object file: No such file or directory
#先执行:
yum install -y libXext.x86_64
##然后
cp -a /usr/lib64/libXext.so.6 /opt/openoffice4/program/