fix
This commit is contained in:
@@ -156,7 +156,24 @@ func (fm *FontManager) tryAddFont(pdf *gofpdf.Fpdf, fontPath, fontName string) b
|
||||
)
|
||||
|
||||
// gofpdf v2使用AddUTF8Font添加支持UTF-8的字体
|
||||
// 注意:必须传入绝对路径,且使用正确的路径分隔符
|
||||
// 注意:gofpdf在Output时可能会重新解析路径,必须确保路径格式正确
|
||||
// 关键:确保路径是绝对路径且以/开头,并使用filepath.ToSlash统一分隔符
|
||||
// 如果normalizedPath不是以/开头,说明路径有问题,需要重新处理
|
||||
if len(normalizedPath) == 0 || normalizedPath[0] != '/' {
|
||||
fm.logger.Error("字体路径格式错误,无法添加到PDF",
|
||||
zap.String("normalized_path", normalizedPath),
|
||||
zap.String("font_name", fontName),
|
||||
)
|
||||
return false
|
||||
}
|
||||
|
||||
// 记录传递给gofpdf的实际路径
|
||||
fm.logger.Info("添加字体到gofpdf",
|
||||
zap.String("font_path", normalizedPath),
|
||||
zap.String("font_name", fontName),
|
||||
zap.Bool("is_absolute", len(normalizedPath) > 0 && normalizedPath[0] == '/'),
|
||||
)
|
||||
|
||||
pdf.AddUTF8Font(fontName, "", normalizedPath) // 常规样式
|
||||
pdf.AddUTF8Font(fontName, "B", normalizedPath) // 粗体样式
|
||||
|
||||
|
||||
Reference in New Issue
Block a user