使用Puppeteer进行截图时,会出现部分中文显示方块字乱码的问题。这并不是Puppeteer的问题,实际上是Linux字体库对中文支持不好的原因。
我们只需要给服务器的Linux系统安装支持的中文字体库即可。
这里推荐文泉驿字体 :
文泉驿是一个以开发开源、免费中文电子资源--如汉字字体、词库等--为目标的公益性组织。她的创办宗旨是实现“任何人在任何地方都可以自由使用汉字和汉语进行交流”。
——摘自百度百科
这里以CentOS为例,其他Linux系统也都有自己的包管理器,只是换个包管理器操作,安装步骤基本是一样的:
查找文泉驿安装包
shell
sudo yum search wqy
Loaded plugins: fastestmirror, langpacks
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Determining fastest mirrors
======================================================== N/S matched: wqy =========================================================
wqy-microhei-fonts.noarch : Compact Chinese fonts derived from Droid
wqy-unibit-fonts.noarch : WenQuanYi Unibit Bitmap Font
wqy-zenhei-fonts.noarch : WenQuanYi Zen Hei CJK Font
安装文泉驿字体
shell
sudo yum install wqy-microhei-fonts.noarch -y
sudo yum install wqy-unibit-fonts.noarch -y
sudo yum install wqy-zenhei-fonts.noarch -y
安装完成,再次执行 Puppeteer 的截图操作,一切都显示正常了。