diff options
| author | Kurt Jung <kurt.w.jung@gmail.com> | 2015-08-27 08:00:57 -0400 | 
|---|---|---|
| committer | Kurt Jung <kurt.w.jung@gmail.com> | 2015-08-27 08:00:57 -0400 | 
| commit | e8d7d158448040bef59a4492d33d96f039170d22 (patch) | |
| tree | 37e2cbe216c32e68a39546860100bc0e776e322a /contrib | |
| parent | 64a844dc1fdc7375b1ec088b1ffd696c02d19e7c (diff) | |
| parent | 3a6634b2456fc0cd151e25cc90b3b6865bbb5332 (diff) | |
Merge branch 'jelmersnoeck-contribution-package'
Diffstat (limited to 'contrib')
| -rw-r--r-- | contrib/httpimg/httpimg.go | 32 | ||||
| -rw-r--r-- | contrib/httpimg/httpimg_test.go | 23 | 
2 files changed, 55 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..bf13492 --- /dev/null +++ b/contrib/httpimg/httpimg_test.go @@ -0,0 +1,23 @@ +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("L", "mm", "A4", "") +	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, 15, 15, 267, 0, false, "", 0, "") +	fileStr := example.Filename("contrib_httpimg_Register") +	err := pdf.OutputFileAndClose(fileStr) +	example.Summary(err, fileStr) +	// Output: +	// Successfully generated ../../pdf/contrib_httpimg_Register.pdf +} | 
