diff options
| author | matthias <matthias@steuerbot.com> | 2019-08-15 17:27:56 +0200 | 
|---|---|---|
| committer | matthias <matthias@steuerbot.com> | 2019-08-15 17:27:56 +0200 | 
| commit | 03b1cc4baaf3f7c9ae441b711e18fdd5671a5dd4 (patch) | |
| tree | fc5241bc731c6b456408da65ed7d6b45312f177b /contrib/gofpdi | |
| parent | e697c5fb90d8afbc84be98bfec2154653e03382b (diff) | |
add simple example
Diffstat (limited to 'contrib/gofpdi')
| -rw-r--r-- | contrib/gofpdi/gofpdi_test.go | 52 | 
1 files changed, 52 insertions, 0 deletions
| diff --git a/contrib/gofpdi/gofpdi_test.go b/contrib/gofpdi/gofpdi_test.go new file mode 100644 index 0000000..1ecc5ca --- /dev/null +++ b/contrib/gofpdi/gofpdi_test.go @@ -0,0 +1,52 @@ +package gofpdi + +import ( +	"bytes" +	"github.com/jung-kurt/gofpdf" +	"github.com/jung-kurt/gofpdf/internal/example" +	"io" +) + +func ExampleGofpdiImporter() { +	// create new pdf +	pdf := gofpdf.New("P", "pt", "A4", "") + +	// for testing purposes, get an arbitrary template pdf as stream +	rs, _ := getTemplatePdf() + +	// create a new Importer instance +	imp := NewImporter() + +	// import first page and determine page sizes +	tpl := imp.ImportPageFromStream(pdf, &rs, 1, "/MediaBox") +	pageSizes := imp.GetPageSizes() +	nrPages := len(imp.GetPageSizes()) + +	// add all pages from template pdf +	for i := 1; i <= nrPages; i++ { +		pdf.AddPage() +		if i > 1 { +			tpl = imp.ImportPageFromStream(pdf, &rs, i, "/MediaBox") +		} +		imp.UseImportedTemplate(pdf, tpl, 0, 0, pageSizes[i]["/MediaBox"]["w"], pageSizes[i]["/MediaBox"]["h"]) +	} + +	// output +	fileStr := example.Filename("contrib_gofpdi_Importer") +	err := pdf.OutputFileAndClose(fileStr) +	example.Summary(err, fileStr) +	// Output: +	// Successfully generated ../../pdf/contrib_gofpdi_Importer.pdf +} + +func getTemplatePdf() (io.ReadSeeker, error) { +	tpdf := gofpdf.New("P", "pt", "A4", "") +	tpdf.AddPage() +	tpdf.SetFont("Arial", "", 12) +	tpdf.Text(20, 20, "Example Page 1") +	tpdf.AddPage() +	tpdf.Text(20, 20, "Example Page 2") +	tbuf := bytes.Buffer{} +	err := tpdf.Output(&tbuf) +	return bytes.NewReader(tbuf.Bytes()), err +} | 
