This commit is contained in:
2025-12-04 16:17:27 +08:00
parent d9c2d9f103
commit 0f5c4f4303
9 changed files with 227 additions and 55 deletions

View File

@@ -126,11 +126,11 @@ func (fm *FontManager) tryAddFont(pdf *gofpdf.Fpdf, fontPath, fontName string) b
absFontPath = newAbsPath
}
}
// 使用filepath.ToSlash统一路径分隔符Linux下使用/
// 注意ToSlash不会改变路径的绝对/相对性质,只统一分隔符
normalizedPath := filepath.ToSlash(absFontPath)
// 在Linux下绝对路径必须以/开头
// 如果normalizedPath不是以/开头,说明转换有问题
if len(normalizedPath) == 0 || normalizedPath[0] != '/' {
@@ -166,14 +166,14 @@ func (fm *FontManager) tryAddFont(pdf *gofpdf.Fpdf, fontPath, fontName string) b
)
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) // 粗体样式
@@ -223,7 +223,6 @@ func (fm *FontManager) getWatermarkFontPaths() []string {
return fm.buildFontPaths(fontNames)
}
// buildFontPaths 构建字体文件路径列表仅从resources/pdf/fonts加载
// 返回所有存在的字体文件的绝对路径
func (fm *FontManager) buildFontPaths(fontNames []string) []string {