Files
svg-templater/pkg/svg/actions/download.go
T
2026-05-27 22:02:11 +02:00

35 lines
933 B
Go

package actions
import (
"bytes"
"log"
"strconv"
"tomatentum.net/svg-templater/pkg/format"
"tomatentum.net/svg-templater/pkg/svg"
)
func ProvideFile(r *TemplateParameters, conversion *format.ConversionParameters) ([]string, error) {
templatedPages, err := Template(r)
if err != nil {
return nil, err
}
log.Printf("Converting %s to format %s (w=%d,h=%d)", r.Id, conversion.Format, conversion.Width, conversion.Height)
filenames := make([]string, len(templatedPages))
for i, pagedata := range templatedPages {
result, err := format.ConvertByte(pagedata, *conversion)
if err != nil {
return nil, err
}
filenames[i], err = svg.Storage.CreatePublic(bytes.NewReader(result), strconv.Itoa(i+1), conversion.Format)
if err != nil {
return nil, err
}
log.Printf("Converted %s page %d to format %s (w=%d,h=%d)", r.Id, i, conversion.Format, conversion.Width, conversion.Height)
}
return filenames, nil
}