使用kkFileView 搭建文档在线预览服务

场景

项目中需要有 Excel 或者 Word 文档导出功能,但是很多用户希望能在导出前做个预览,想着导出功能本身就做好了,就不想再做个前端预览功能了,而且也不通用,所以就想着直接预览将要导出的文件即可

kkFileView

这个软件本身就是开源的,符合要求,也支持本地文件、远程文件、文件输出流

部署过程

这里只讲写怎么用 docker 进行部署

  1. 我这边用的是 4.3.0的镜像文件,使用 docker load < 镜像文件命令,把镜像导入到系统中

  2. 准备字体文件
    大部分的情况都会出现预览中文乱码的情况,基本都是字体问题,一下是官方解决方案

    大部分Linux系统上并没有预装中文字体或字体不全,需要把常用字体拷贝到Linux服务器上,具体操作如下: 下载如下字体包 https://kkview.cn/resource/fonts.zip 文件解压完整拷贝到Linux下的 /usr/share/fonts目录。然后依次执行mkfontscale 、mkfontdir 、fc-cache使字体生效

    1. 启动容器
      2.1

      docker 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 是将本地安装好的字符映射到容器中
  3. 搞定
    接下来就可以愉快的玩耍了,按照官方的使用指南,就可以进行文档预览的功能啦。https://kkview.cn/zh-cn/docs/usage.html

    %title插图%num

官方文档:https://kkview.cn/zh-cn/index.html

站内相关文章:

Comment ()
如果您有不同的看法,或者疑问,欢迎指教