package report import "embed" //go:embed templates/*.tmpl var templateFS embed.FS // embeddedTemplates 内嵌模板列表 var embeddedTemplates = []string{ "templates/report_80mm.tmpl", // 80mm 热敏纸文本报告 } // Render80mm 渲染 80mm 热敏纸文本报告 func (r *Report) Render80mm() (string, error) { return r.renderTemplate("templates/report_80mm.tmpl", DefaultTemplateConfig()) } // Render80mmWithConfig 使用自定义宽度渲染 func (r *Report) Render80mmWithConfig(cfg TemplateConfig) (string, error) { return r.renderTemplate("templates/report_80mm.tmpl", cfg) } // renderTemplate 从内嵌模板渲染 func (r *Report) renderTemplate(name string, cfg TemplateConfig) (string, error) { data, err := templateFS.ReadFile(name) if err != nil { return "", err } return RenderTemplate(string(data), r, cfg) } // TemplateNames 返回可用模板列表 func TemplateNames() []string { return embeddedTemplates }