场景
项目中需要有 Excel 或者 Word 文档导出功能,但是很多用户希望能在导出前做个预览,想着导出功能本身就做好了,就不想再做个前端预览功能了,而且也不通用,所以就想着直接预览将要导出的文件即可
kkFileView
这个软件本身就是开源的,符合要求,也支持本地文件、远程文件、文件输出流
部署过程
这里只讲写怎么用 docker 进行部署
-
我这边用的是 4.3.0的镜像文件,使用
docker load < 镜像文件
命令,把镜像导入到系统中 -
准备字体文件
大部分的情况都会出现预览中文乱码的情况,基本都是字体问题,一下是官方解决方案大部分Linux系统上并没有预装中文字体或字体不全,需要把常用字体拷贝到Linux服务器上,具体操作如下: 下载如下字体包 https://kkview.cn/resource/fonts.zip 文件解压完整拷贝到Linux下的 /usr/share/fonts目录。然后依次执行mkfontscale 、mkfontdir 、fc-cache使字体生效
- 启动容器
2.1docker run -it --name kkfileview \ -p 8012:8012 \ -e KK_TRUST_HOST="abc.com,192.168.1.1" \ -e KK_BASE_URL="https://abc.com/kkfileview" \ -v /usr/share/fonts/:/usr/share/fonts \ -d kkfileview:4.3.0
2.2 参数解释
- KK_TRUST_HOST 是指信任域名,在预览远程文件或者输出流的情况下,允许哪些地址
- KK_BASE_URL 是指预览服务区的根地址,一般会在配置 nginx 反向代理时会用到
- 挂载的 fonts 是将本地安装好的字符映射到容器中
- 启动容器
-
搞定
接下来就可以愉快的玩耍了,按照官方的使用指南,就可以进行文档预览的功能啦。https://kkview.cn/zh-cn/docs/usage.html
官方文档:https://kkview.cn/zh-cn/index.html