summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKurt Jung <kurt.w.jung@gmail.com>2015-08-27 07:21:07 -0400
committerKurt Jung <kurt.w.jung@gmail.com>2015-08-27 07:21:07 -0400
commit968e3672ed1c1e4ff1cb1729584235ab1271a7e9 (patch)
treec8122c32e622e7370116e1e71665da343ab7d647
parent64a844dc1fdc7375b1ec088b1ffd696c02d19e7c (diff)
parent2da5422f1ef9de941136c24d597bbabe081e5b93 (diff)
Merge branch 'contribution-package' of https://github.com/jelmersnoeck/gofpdf into jelmersnoeck-contribution-package
-rw-r--r--contrib/httpimg/httpimg.go32
-rw-r--r--contrib/httpimg/httpimg_test.go24
2 files changed, 56 insertions, 0 deletions
diff --git a/contrib/httpimg/httpimg.go b/contrib/httpimg/httpimg.go
new file mode 100644
index 0000000..10afcc8
--- /dev/null
+++ b/contrib/httpimg/httpimg.go
@@ -0,0 +1,32 @@
+package httpimg
+
+import (
+ "github.com/jung-kurt/gofpdf"
+ "net/http"
+)
+
+// 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) {
+ info = f.GetImageInfo(urlStr)
+
+ if info != nil {
+ return
+ }
+
+ 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)
+}
diff --git a/contrib/httpimg/httpimg_test.go b/contrib/httpimg/httpimg_test.go
new file mode 100644
index 0000000..cf6e8d1
--- /dev/null
+++ b/contrib/httpimg/httpimg_test.go
@@ -0,0 +1,24 @@
+package httpimg_test
+
+import (
+ "github.com/jung-kurt/gofpdf"
+ "github.com/jung-kurt/gofpdf/contrib/httpimg"
+ "github.com/jung-kurt/gofpdf/internal/example"
+)
+
+func ExampleRegister() {
+ pdf := gofpdf.New("", "", "", "")
+ pdf.SetFont("Helvetica", "", 12)
+ pdf.SetFillColor(200, 200, 220)
+ pdf.AddPage()
+
+ url := "https://github.com/jung-kurt/gofpdf/raw/master/image/logo_gofpdf.jpg?raw=true"
+ httpimg.Register(pdf, url, "")
+ pdf.Image(url, 100, 100, 20, 20, false, "", 0, "")
+
+ fileStr := example.Filename("contrib_httpimg_Register")
+ err := pdf.OutputFileAndClose(fileStr)
+ example.Summary(err, fileStr)
+ // Output:
+ // Successfully generated ../../pdf/contrib_httpimg_Register.pdf
+}