diff options
author | Jelmer Snoeck <jelmer.snoeck@gmail.com> | 2015-09-10 18:42:08 +0100 |
---|---|---|
committer | Jelmer Snoeck <jelmer.snoeck@gmail.com> | 2015-09-10 18:50:56 +0100 |
commit | 0cf4ace9daf2d702eb6d4f21a608ac121c0d9cc1 (patch) | |
tree | 4c3a9e3ead531dc602d8adc3ef9781c02754a6a6 /contrib/httpimg | |
parent | cac87f231f2c4a3f579070710748ad11c784ea77 (diff) |
HttpImg: make Http specific PDF interface.
Instead of forcing the type to be of gofpdf.Fpdf, we now use an
interface which could be whatever structure we want. This is useful for
third party libraries where they can define their own interface for the
PDF generator but still use these contribution packages.
HttpImg: add interface comment.
Barcode: implement specific PDF interface.
Diffstat (limited to 'contrib/httpimg')
-rw-r--r-- | contrib/httpimg/httpimg.go | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/contrib/httpimg/httpimg.go b/contrib/httpimg/httpimg.go index 10afcc8..7cbf281 100644 --- a/contrib/httpimg/httpimg.go +++ b/contrib/httpimg/httpimg.go @@ -1,14 +1,25 @@ package httpimg import ( - "github.com/jung-kurt/gofpdf" + "io" "net/http" + + "github.com/jung-kurt/gofpdf" ) +// httpimgPdf is a partial interface that only implements the functions we need +// from the PDF generator to put the HTTP images on the PDF. +type httpimgPdf interface { + GetImageInfo(imageStr string) *gofpdf.ImageInfoType + ImageTypeFromMime(mimeStr string) string + RegisterImageReader(imgName, tp string, r io.Reader) *gofpdf.ImageInfoType + SetError(err error) +} + // Register registers a HTTP image. Downloading the image from the provided URL // and adding it to the PDF but not adding it to the page. Use Image() with the // same URL to add the image to the page. -func Register(f *gofpdf.Fpdf, urlStr, tp string) (info *gofpdf.ImageInfoType) { +func Register(f httpimgPdf, urlStr, tp string) (info *gofpdf.ImageInfoType) { info = f.GetImageInfo(urlStr) if info != nil { |