目录
一、安装 LibreOffice
二、解决乱码问题
2.1 查看是否安装中文字体
2.2 准备字体
2.3 导入字体
2.4 验证
项目中有一个在线上传 word 并预览 pdf 报告的需求,因为项目部署在 ubuntu 上面,所以借助libreoffice 实现 word 转 pdf,然后使用 pdf.js 在线预览 pdf 文档。
一、安装 LibreOffice
LibreOffice 腾讯镜像源下载地址:Index of /libreoffice/libreoffice/stable/
root@jt-test-web:~# wget https://mirrors.cloud.tencent.com/libreoffice/libreoffice/stable/7.4.4/deb/x86_64/LibreOffice_7.4.4_Linux_x86-64_deb.tar.gz
root@jt-test-web:~# apt-get install -y libcairo.so* ibus
root@jt-test-web:~# tar -zxvf LibreOffice_7.4.4_Linux_x86-64_deb.tar.gz
root@jt-test-web:~# cd LibreOffice_7.4.4.2_Linux_x86-64_deb/DEBS/
root@jt-test-web:~/LibreOffice_7.4.4.2_Linux_x86-64_deb/DEBS# dpkg -i *.deb
root@jt-test-web:~/LibreOffice_7.4.4.2_Linux_x86-64_deb/DEBS# ln -s /opt/libreoffice7.4/program/soffice /usr/bin/soffice
二、解决乱码问题
由于 linux 默认没有安装中文字体,所以导出有中文的文件会导致中文乱码。这里此次安装微软雅黑字体。
2.1 查看是否安装中文字体
# 显示为空表示没有安装中文字体
root@jt-test-web:~# fc-list :lang=zh
2.2 准备字体
我们可以从本地 windows 电脑中拷贝出字体文件,拷贝的目录为 C:\Windows\Fonts,找到 Microsoft YaHei UI 文件:
2.3 导入字体
进入 ubuntu 的目录 /usr/share/fonts 下,将上面的字体文件放进去:
root@jt-test-web:~# cd /usr/share/fonts
root@jt-test-web:/usr/share/fonts# ls
MSYHL.TTC MSYHBD.TTC MSYH.TTC
# 建立字体缓存信息
root@jt-test-web:/usr/share/fonts# apt install xfonts-utils -y
root@jt-test-web:/usr/share/fonts# mkfontscale
root@jt-test-web:/usr/share/fonts# mkfontdir
root@jt-test-web:/usr/share/fonts# fc-cache -fv
# 命令执行成功后终端最后一行会显示 fc-cache: succeeded
2.4 验证
root@jt-test-web:/usr/share/fonts# fc-list :lang=zh
/usr/share/fonts/truetype/dejavu/MSYHBD.TTC: Microsoft YaHei UI:style=Bold,Negreta,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiony,Negrito,Полужирный,Fet,Kalın,Krepko,Lodia
/usr/share/fonts/truetype/dejavu/MSYH.TTC: Microsoft YaHei,微软雅黑:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
/usr/share/fonts/truetype/dejavu/MSYHBD.TTC: Microsoft YaHei,微软雅黑:style=Bold,Negreta,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiony,Negrito,Полужирный,Fet,Kalın,Krepko,Lodia
/usr/share/fonts/truetype/dejavu/MSYH.TTC: Microsoft YaHei UI:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
/usr/share/fonts/truetype/dejavu/MSYHL.TTC: Microsoft YaHei UI,Microsoft YaHei UI Light:style=Light,Regular
/usr/share/fonts/truetype/dejavu/MSYHL.TTC: Microsoft YaHei,微软雅黑,Microsoft YaHei Light,微软雅黑 Light:style=Light,Regular
并在项目上查看 PDF 乱码问题是否解决。