summaryrefslogtreecommitdiff
path: root/contrib/fhttp/fhttp.go
diff options
context:
space:
mode:
authorJelmer Snoeck <jelmer.snoeck@gmail.com>2015-08-19 19:13:07 +0100
committerJelmer Snoeck <jelmer.snoeck@gmail.com>2015-08-19 19:13:07 +0100
commit55370a856fb5610bafac951f72016f2c94f12800 (patch)
tree844f97ee624805f55b70198da3f6be45cd9f109e /contrib/fhttp/fhttp.go
parent27b605858db6d8f5439e9b689f70626801324f02 (diff)
Fhttp: add RegisterRemoteImage functionality.
This is a wrapper around manually having to download the image and registering it. It registers an image based on it's URL, it will download that image and add it to the PDF. It will however not add it immediately to the page. This is done by calling `Image()` with the same URL.
Diffstat (limited to 'contrib/fhttp/fhttp.go')
-rw-r--r--contrib/fhttp/fhttp.go26
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)
+}