diff options
Diffstat (limited to 'contrib/fhttp/fhttp.go')
-rw-r--r-- | contrib/fhttp/fhttp.go | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/contrib/fhttp/fhttp.go b/contrib/fhttp/fhttp.go new file mode 100644 index 0000000..119e30e --- /dev/null +++ b/contrib/fhttp/fhttp.go @@ -0,0 +1,26 @@ +package fhttp + +import ( + "github.com/jung-kurt/gofpdf" + "net/http" +) + +// RegisterRemoteImage registers a remote 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 RegisterRemoteImage(f *gofpdf.Fpdf, urlStr, tp string) (info *gofpdf.ImageInfoType) { + resp, err := http.Get(urlStr) + + if err != nil { + f.SetError(err) + return + } + + defer resp.Body.Close() + + if tp == "" { + tp = f.ImageTypeFromMime(resp.Header["Content-Type"][0]) + } + + return f.RegisterImageReader(urlStr, tp, resp.Body) +} |