附件预览功能
环境准备
智能表单生成 word 和 ppt 文件的预览文件时依赖 LibreOffice 软件,所以要求部署智能表单后端的服务器需要安装 LibreOffice 软件
。
Ubuntu 安装 LibreOffice
# 切换临时目录
cd /tmp
# 下载
$ wget https://kkfileview.keking.cn/LibreOffice_7.1.4_Linux_x86-64_deb.tar.gz -cO LibreOffice_7_deb.tar.gz
# 解压
$ tar -zxf /tmp/LibreOffice_7_deb.tar.gz
# 安装
$ cd /tmp/LibreOffice_7.1.4.2_Linux_x86-64_deb/DEBS
$ apt-get install -y libxinerama1 libcairo2 libcups2 libx11-xcb1
$ dpkg -i *.deb
Redhat 安装 LibreOffice
# 切换临时目录
cd /tmp
# 下载
$ wget https://kkfileview.keking.cn/LibreOffice_7.1.4_Linux_x86-64_rpm.tar.gz -cO LibreOffice_7_rpm.tar.gz
# 解压
$ tar -zxf /tmp/LibreOffice_7_rpm.tar.gz
# 安装
$ cd /tmp/LibreOffice_7.1.4.2_Linux_x86-64_rpm/RPMS
$ yum install -y libXext.x86_64
$ yum groupinstall -y "X Window System"
$ yum localinstall *.rpm
添加字体
此处提供同步本地 windows 字体的方法。
将本地字体拷贝到智能表单后端服务器
# 打开本地cmd命令行窗口,执行以下命令, 需要将以下 192.168.88.88 替换为智能表单后端所在服务器的ip
$ scp -r C:\Windows\Fonts\* root@192.168.88.88:/usr/share/fonts添加字体
# 使用root用户登录智能表单后端所在服务器, 执行以下命令
$ mkfontscale
$ mkfontdir
$ fc-cache -fv
开启附件预览功能
修改智能表单后端的 application.yml 并重启,配置如下:
sinoform:
file-online-preview:
# 是否开启附件预览功能, 默认false
enable: true
# libreOffice服务的端口,一个端口对应一个进程,默认2000
port-numbers:
- 2000
- 2001
# office 转换超时时间,单位秒,置默认300
task-execution-timeout: 300
常见问题
预览展示效果有问题
- 问题描述: 预览的部分文字不显示,或字体发生变化。
- 问题原因: 服务器缺少对应字体,可通过智能表单后端日志,查看具体缺少哪些字体,如下图所示为缺少 STSong-Light 字体:
- 解决: 下载相关字体文件,通过以上添加字体的方法将字体添加到智能表单后端服务器,并重启智能表单后端。