diff --git a/pkg/api/render.go b/pkg/api/render.go index cab9c81505d..e9bce5bc99b 100644 --- a/pkg/api/render.go +++ b/pkg/api/render.go @@ -24,6 +24,7 @@ func RenderToPng(c *middleware.Context) { OrgId: c.OrgId, Timeout: queryReader.Get("timeout", "60"), Timezone: queryReader.Get("tz", ""), + Encoding: queryReader.Get("encoding", ""), } pngPath, err := renderer.RenderToPng(renderOpts) diff --git a/pkg/components/renderer/renderer.go b/pkg/components/renderer/renderer.go index d5980231f0e..fedb68f2e31 100644 --- a/pkg/components/renderer/renderer.go +++ b/pkg/components/renderer/renderer.go @@ -27,6 +27,7 @@ type RenderOpts struct { Timeout string OrgId int64 Timezone string + Encoding string } var ErrTimeout = errors.New("Timeout error. You can set timeout in seconds with &timeout url parameter") @@ -95,6 +96,10 @@ func RenderToPng(params *RenderOpts) (string, error) { "renderKey=" + renderKey, } + if params.Encoding != "" { + cmdArgs = append([]string{fmt.Sprintf("--output-encoding=%s", params.Encoding)}, cmdArgs...) + } + cmd := exec.Command(binPath, cmdArgs...) stdout, err := cmd.StdoutPipe()