1、安装 LiberOffice
wget https://kkfileview.keking.cn/LibreOffice_7.1.4_Linux_x86-64_rpm.tar.gz
tar -zxvf LibreOffice_7.1.4_Linux_x86-64_rpm.tar.gz
cd LibreOffice_7.1.4.2_Linux_x86-64_rpm/RPMS
yum install -y *.rpm
2、验证office是否安装成功
cd /opt/libreoffice7.1/program
./soffice --version
如果顺利成功,此时可以看到一串版本号如下 LibreOffice 7.1.4.2 a529a4fab45b75fefc5b6226684193eb000654f6
如果遇到类似这样的报错 error while loading shared libraries: libcairo.so.2: cannot open shared
是因为缺少依赖 yum install 依赖名(支持模糊)例如针对这个报错 yum install libcairo
安装完依赖再用步骤2验证一下
3、安装kkfileview
下载 wget https://kkfileview.keking.cn/kkFileView-4.0.0.tar.gz
解压 tar -zxvf kkFileView-4.0.0.tar.gz
或者从码云(gitee)https://gitee.com/kekingcn/file-online-preview/releases 下载发行版,用maven自行编译得到 kkFileView-x.x.x.tar.gz
4、修改kkfileview配置参数
vim kkFileView-4.0.0/config/application.properties
#提供预览服务的地址,默认从请求url读,如果使用nginx等反向代理,需要手动设置,配置这个服务地址为https可以解决预览服务内部调用跨域的问题
base.url = https://file.keking.cn
#base.url = ${KK_BASE_URL:default}
5、启动预览服务
cd kkFileView-4.0.0/bin
./startup.sh
或者启动的同时显示日志 /starup.sh | ./showlog.sh
6、查看服务
假如部署到本机,浏览器地址栏输入:http://localhost:8012就会出现如下界面
我安装的版本是4.3.0
使用的时候将一个被预览的文件的地址做如下处理:先base64编码再urlencode得到一个编码后的地址encodeUrl,用这个地址和预览服务的地址拼接出最终的预览地址 http://localhost:8012/onlinePreview?url=encodeUrl
java的编码操作:URLEncoder.encode(Base64.encode("https://file1.bjhtzckj.com/public/20230921/b3570f4f526d4c458fb894ab35b63342/5fa638c7c86f465b82d8a5c6da6b9be7.ofd"), "UTF-8")
js的编码操作
encodeURIComponent(Base64.encode(url))