常规解决wkhtmltopdf 中文乱码的方法有 安装缺失的字体、修改字符编码等,相关方法可以通过搜索引擎解决。
但目前碰到一个案情况比较少见,html中所需要的字体为宋体,windows自带,且html字符编码正确,但wkhtmltopdf转换时,对于宋体段落无法正常渲染,出现乱码,如下图:

经多方查询,最简的解决方法是,在网页头部的style标签中,手工指定宋体字体的本地存放位置,wkhtmltopdf转换时,就可正常渲染。例如:
@font-face{font-family: "宋体";src:url("C:\\Windows\\Fonts\\simsun.ttf")

问题的原因不确定,可能是由于部份网页css书写不规范,头部无字体的样式信息,而是直接在p标签中定义字体,导致wkhtmltopdf无法识别字体所致。但比较奇怪的是,同网页中,其他在p标签中存在能正常渲染的中文字体,如黑体。
本文介绍了一种在wkhtmltopdf转换时遇到的中文乱码问题,特别是针对宋体字体无法正常渲染的情况。通过在style标签中指定字体的本地路径,可以有效解决这一问题。文章探讨了可能的原因,并提供了一个具体的解决示例。
4379





