最近用CentOS上,用puppeteer把html生成pdf,但是生成文件后,但是中文内容是乱码。

首先考虑的就是操作系统是否有中文字体,在CentOS 7中发现输入fc-list :lang=zh命令查看字体返回列表是空; 

  1. [root@w183 chinese]# fc-list :lang=zh
  2. [root@w183 chinese]#

那么接下来就记录一下在 CentOS 7中如何安装思源黑体字体。

  1. [root@w183 chinese]# ll
  2. total 57136
  3. -rw-r--r-- 1 root root 8608184 Jun 11 11:22 SourceHanSansCN-Bold.otf
  4. -rw-r--r-- 1 root root 7704352 Jun 11 11:22 SourceHanSansCN-ExtraLight.otf
  5. -rw-r--r-- 1 root root 8785564 Jun 11 11:22 SourceHanSansCN-Heavy.otf
  6. -rw-r--r-- 1 root root 8297476 Jun 11 11:22 SourceHanSansCN-Light.otf
  7. -rw-r--r-- 1 root root 8390148 Jun 11 11:22 SourceHanSansCN-Medium.otf
  8. -rw-r--r-- 1 root root 8344108 Jun 11 11:22 SourceHanSansCN-Normal.otf
  9. -rw-r--r-- 1 root root 8364840 Jun 11 11:22 SourceHanSansCN-Regular.otf
  1. [root@w183 chinese]#mkdir -p /usr/share/fonts/chinese

 将上传的字体文件cp至/usr/shared/fonts/chinese目录下

  1. [root@w183 chinese]#cp SourceHanSansCN* /usr/share/fonts/chinese/

修改chinese目录的权限

  1. [root@w183 chinese]#chown -R root:root /usr/share/fonts/chinese

修改字体配置文件

  1. [root@w183 chinese]#vi /etc/fonts/fonts.conf
  2. <!-- Font directory list 字体目录列表 -->
  3.  
  4. <dir>/usr/share/fonts</dir>
  5. <dir>/usr/share/fonts/chinese</dir>
  6. <!--把我们添加的中文字体位置加进去-->
  7. <dir>/usr/share/X11/fonts/Type1</dir>
  8. <dir>/usr/share/X11/fonts/TTF</dir>
  9. <dir>/usr/local/share/fonts</dir>
  10. <dir prefix="xdg">fonts</dir>
  11. <!-- the following element will be removed in the future -->
  12. <dir>~/.fonts</dir>

输入:wq保存退出,最后刷新内存中的字体缓存

  1. [root@w183 chinese]#fc-cache

通过fc-list看一下字体列表

  1. [root@w183 chinese]# fc-list :lang=zh
  2. /usr/share/fonts/chinese/SourceHanSansCN-Medium.otf: Source Han Sans CN Medium,思源黑体 CN,Source Han Sans CN:style=Regular,Medium
  3. /usr/share/fonts/chinese/SourceHanSansCN-ExtraLight.otf: Source Han Sans CN ExtraLight,思源黑体 CN,Source Han Sans CN:style=Regular,ExtraLight
  4. /usr/share/fonts/chinese/SourceHanSansCN-Bold.otf: Source Han Sans CN,Source Han Sans CN Bold:style=Bold
  5. /usr/share/fonts/chinese/SourceHanSansCN-Normal.otf: Source Han Sans CN Normal,思源黑体 CN,Source Han Sans CN:style=Regular,Normal
  6. /usr/share/fonts/chinese/SourceHanSansCN-Regular.otf: Source Han Sans CN,Source Han Sans CN Regular:style=Regular
  7. /usr/share/fonts/chinese/SourceHanSansCN-Light.otf: Source Han Sans CN Light,思源黑体 CN,Source Han Sans CN:style=Regular,Light
  8. /usr/share/fonts/chinese/SourceHanSansCN-Heavy.otf: Source Han Sans CN Heavy,思源黑体 CN,Source Han Sans CN:style=Bold,Heavy

可以看到已经成功安装上了中文字体,至此安装过程就全部结束,再次重新生成pdf可以发现中文样式和内容均已可以正常显示了。

简单记录一下在CentOS 7中安装中文字体的问题,希望对遇到同样问题的同学有所帮助,The End。

 

版权声明:本文为xzlive原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xzlive/p/14874560.html