前言
突然有一天在业务系统中发现OpenOffice转换word为pdf时,出现个别中文字丢失以及格式发生变化。这在业务系统中预览合同等重要附件是致命的。Google了半天也没找到问题所在。于是采用LibreOffice进行转换,看看转换效果。office文件在线预览原理一样,先转换成pdf,然后采用pdf. js预览。
问题复现
原word文件
OpenOffice转换后pdf文件
链接
LibreOffice和OpenOffice中文乱码问题,文后说明解决方法
快速开始
下载
下载最新版本,目前是7.0.1
下载三个包:
安装
主包
cd LibreOffice_7.0.1.2_Linux_x86-64_rpm/RPMS
yum localinstall -y *.rpmSDK
cd LibreOffice_7.0.1.2_Linux_x86-64_rpm_sdk/RPMS
yum localinstall -y *.rpm语言包
cd LibreOffice_7.0.1.2_Linux_x86-64_rpm_langpack_zh-CN
yum localinstall -y *.rpm
启动
/opt/libreoffice7.0/program/soffice --headless --accept="socket,host=127.0.0.1,port=8101;urp;" --nofirststartwizard > /opt/server/libre.log 2>&1 &
# 自启动
将以上命令添加到/etc/rc.local中
测试
libreoffice7.0 --headless --invisible --convert-to pdf 原office文件 --outdir 输出目录
Java集成
安装jar
org.jodconverter
jodconverter-local
4.3.0
配置文件libre.properties
在resources目录下新建libre.properties
# LibreOffice主目录
libreOfficeHome=/opt/libreoffice7.0
# 开启多个LibreOffice进程,每个端口对应一个进程