使用JSPDF库生成PDF时韩文无法正常渲染显示问题求助
jsPDF处理韩文显示异常解决方案
- 优先确认你使用的字体本身支持韩文字形,建议选择
Noto Sans KR、맑은 고딕(Malgun Gothic)这类专门适配韩文的字体,避免使用仅支持中文/英文的字体,这是最常见的失败原因。 - 初始化jsPDF实例时显式指定编码为UTF-8,调整后的完整调用逻辑参考如下:
// 初始化时指定编码,避免后续编码转换异常 const doc = new jsPDF({ encoding: 'UTF-8' }); // myFont为你转换得到的字体base64字符串,确认转换时完整上传了字体文件 const myFont = "你的字体base64字符串内容"; doc.addFileToVFS("NotoSansKR.ttf", myFont); doc.addFont("NotoSansKR.ttf", "NotoSansKR", "normal"); // 所有文本输出前完成字体设置 doc.setFont("NotoSansKR"); doc.setFontSize(12); // 测试韩文输出 doc.text("안녕하세요 한글 테스트입니다", 10, 20); doc.save("korean-test.pdf");
- 注意:不要在字体添加逻辑执行完成前调用text方法写入韩文,会自动 fallback 到默认不支持韩文的字体,导致乱码或空白
- 如果仍有问题,先升级jsPDF到2.5.0及以上版本,旧版本对非拉丁字符的适配存在较多缺陷。
- 确认你传入的韩文文本本身为UTF-8编码,不要传入经过转义、GBK等其他编码处理的韩文内容。
内容的提问来源于stack exchange,提问作者Omer
相关产品推荐
相关产品推荐

