summaryrefslogtreecommitdiff
path: root/pdf.go
diff options
context:
space:
mode:
authorNick White <git@njw.name>2019-11-12 16:32:40 +0000
committerNick White <git@njw.name>2019-11-12 16:32:40 +0000
commit08a305c263329c0d27efd36e3da6d4befcfb4240 (patch)
treef7a378484ca6b3a1817b8f9496d1b185cac96ea2 /pdf.go
parent45be1133c2883d3a8ed8bc0a888ea841fc727fc1 (diff)
parent3dbd43890928c076fe1a1b8d44cd61ddf8ab72ea (diff)
Merge branch 'addpdf'
Diffstat (limited to 'pdf.go')
-rw-r--r--pdf.go19
1 files changed, 11 insertions, 8 deletions
diff --git a/pdf.go b/pdf.go
index e99b2a7..9fa52f3 100644
--- a/pdf.go
+++ b/pdf.go
@@ -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()