在项目中要实现文件预览功能,使用OpenOffice将文件转为PDF格式做预览处理,安装并启动openoffice后发现可以预览了,但是中文显示不出来,主要原因是系统上没有安装中文字体;
首先查看系统字体存放路径
cat /etc/fonts/fonts.conf
<!-- Font directory list -->
<dir>/usr/share/fonts</dir>
<dir>/usr/local/share/fonts</dir>
<dir prefix="xdg">fonts</dir>
<!-- the following element will be removed in the future -->
<dir>~/.fonts</dir>
将字体上传至/usr/share/fonts/dejavu路径下
字体资源链接:https://pan.baidu.com/s/1JvYJdAnsH9s2vEjDpyOIuA 提取码:oq1b
上传完成后执行以下命令
# 建立字体索引信息,更新字体缓存
mkfontscale # 若command not found,安装:yum install mkfontscale
mkfontdir
fc-cache -fv # 若command not found,安装:yum install fontconfig
重启openoffice
ps -ef | grep openoffice
kill -9 [pid]
# /opt/openoffice4/program/ 为openoffice的安装目录
/opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
中文字体安装完成,现在pdf中中文就可以显示出来了
实践过程中遇到的问题
执行mkfontscale命令时提示command not found,安装该命令(yum install mkfontscale
)时报如下错误
发现是系统的yum命令有问题用不了,后来选择使用rpm命令安装该命令;
上传如下两个文件(路径随意)
文件链接:https://pan.baidu.com/s/10lDsrleXmG4pVzAI1r10sg 提取码:oxgd
在该路径下执行安装命令
[root@vm-1590480223-018 fonts]# rpm -ivh libfontenc-1.1.3-3.el7.x86_64.rpm
/etc/host.conf: line 2: bad command `nospoof on'
Preparing... ################################# [100%]
Updating / installing...
1:libfontenc-1.1.3-3.el7 ################################# [100%]
[root@vm-1590480223-018 fonts]# rpm -ivh xorg-x11-font-utils-7.5-21.el7.x86_64.rpm
/etc/host.conf: line 2: bad command `nospoof on'
Preparing... ################################# [100%]
Updating / installing...
1:xorg-x11-font-utils-1:7.5-21.el7 ################################# [100%]
现在两个命令已经安装好了,就可以执行刷新命令了。