
Go语言gofpdf包多语言PDF生成解决方案
在使用Go语言的gofpdf包生成PDF文档时,经常会遇到非英文文本乱码的问题。虽然gofpdf支持添加特定语言的字体文件,但这对于多种语言的支持并不高效。
一种更便捷的方案是使用支持多种语言的字体,例如Google的Noto字体系列。Noto字体支持超过100种语言,包括中文、日文、韩文等。
以下代码演示如何使用Noto Sans CJK字体解决多语言乱码问题:
立即学习“go语言免费学习笔记(深入)”;
<code class="go">import (
"fmt"
"github.com/jung-kurt/gofpdf"
)
func main() {
pdf := gofpdf.New(gofpdf.UnicodeCJK, "pt", "A4", "")
err := pdf.AddUTF8Font("NotoSansCJK", "", "NotoSansCJK-Regular.ttf")
if err != nil {
fmt.Println("加载NotoSansCJK字体失败:", err)
}
pdf.SetFont("NotoSansCJK", "", 12)
pdf.Write(16, "こんにちは 您好 샤오 케")
pdf.OutputFileAndClose("test.pdf")
}</code>
通过导入Noto Sans CJK字体,无需逐一添加各个语言的字体文件,即可轻松解决多语言PDF生成中的乱码问题,显著提高效率。 请确保你的系统中已安装NotoSansCJK-Regular.ttf字体文件,并将其路径正确配置到代码中。











