diff options
author | Nick White <git@njw.name> | 2019-11-12 16:32:40 +0000 |
---|---|---|
committer | Nick White <git@njw.name> | 2019-11-12 16:32:40 +0000 |
commit | 08a305c263329c0d27efd36e3da6d4befcfb4240 (patch) | |
tree | f7a378484ca6b3a1817b8f9496d1b185cac96ea2 /pdf.go | |
parent | 45be1133c2883d3a8ed8bc0a888ea841fc727fc1 (diff) | |
parent | 3dbd43890928c076fe1a1b8d44cd61ddf8ab72ea (diff) |
Merge branch 'addpdf'
Diffstat (limited to 'pdf.go')
-rw-r--r-- | pdf.go | 19 |
1 files changed, 11 insertions, 8 deletions
@@ -32,20 +32,23 @@ type Fpdf struct { // Setup creates a new PDF with appropriate settings and fonts func (p *Fpdf) Setup() error { p.fpdf = gofpdf.New("P", "pt", "A4", "") + // Even though it's invisible, we need to add a font which can do // UTF-8 so that text renders correctly. - br := bytes.NewReader(DejaVuCondensedBytes) - r, err := zlib.NewReader(br) + // We embed the font directly in the binary, compressed with zlib + c := bytes.NewBuffer(dejavucondensed) + r, err := zlib.NewReader(c) + defer r.Close() if err != nil { - return err + return errors.New(fmt.Sprintf("Could not open compressed font", err)) } - var buf bytes.Buffer - _, err = buf.ReadFrom(r) + var b bytes.Buffer + _, err = b.ReadFrom(r) if err != nil { - return err + return errors.New(fmt.Sprintf("Could not read compressed font", err)) } - p.fpdf.AddUTF8FontFromBytes("dejavu", "", buf.Bytes()) - r.Close() + p.fpdf.AddUTF8FontFromBytes("dejavu", "", b.Bytes()) + p.fpdf.SetFont("dejavu", "", 10) p.fpdf.SetAutoPageBreak(false, float64(0)) return p.fpdf.Error() |