From f3ee9b63d7affa5386053fe7c2b44c06ae4159d4 Mon Sep 17 00:00:00 2001 From: matthias Date: Fri, 9 Aug 2019 14:31:01 +0200 Subject: update contrib/gofpdi from v1.0.3 to v1.0.7 and expose new functionality * imports pdf documents from any io.ReadSeeker * exposes page sizes of imported pdf documents --- contrib/gofpdi/gofpdi.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'contrib') diff --git a/contrib/gofpdi/gofpdi.go b/contrib/gofpdi/gofpdi.go index b951ea3..58f8fae 100644 --- a/contrib/gofpdi/gofpdi.go +++ b/contrib/gofpdi/gofpdi.go @@ -2,6 +2,7 @@ package gofpdi import ( realgofpdi "github.com/phpdave11/gofpdi" + "io" ) // Create new gofpdi instance @@ -23,7 +24,21 @@ type gofpdiPdf interface { func ImportPage(f gofpdiPdf, sourceFile string, pageno int, box string) int { // Set source file for fpdi fpdi.SetSourceFile(sourceFile) + // return template id + return getTemplateID(f, pageno, box) +} +// ImportPage imports a page of a PDF with the specified box (/MediaBox, +// /TrimBox, /ArtBox, /CropBox, or /BleedBox). Returns a template id that can +// be used with UseImportedTemplate to draw the template onto the page. +func ImportPageFromStream(f gofpdiPdf, rs *io.ReadSeeker, pageno int, box string) int { + // Set source stream for fpdi + fpdi.SetSourceStream(rs) + // return template id + return getTemplateID(f, pageno, box) +} + +func getTemplateID(f gofpdiPdf, pageno int, box string) int { // Import page tpl := fpdi.ImportPage(pageno, box) @@ -61,3 +76,12 @@ func UseImportedTemplate(f gofpdiPdf, tplid int, x float64, y float64, w float64 f.UseImportedTemplate(tplName, scaleX, scaleY, tX, tY) } + +// GetPageSizes returns page dimensions for all pages of the imported pdf. +// Result consists of map[]map[]map[]. +// : page number, note that page numbers start at 1 +// : box identifier, e.g. "/MediaBox" +// : dimension string, either "w" or "h" +func GetPageSizes() map[int]map[string]map[string]float64 { + return fpdi.GetPageSizes() +} -- cgit v1.2.1-24-ge1ad From fdac35522f22a910970fc07bd6922f4f53ba6642 Mon Sep 17 00:00:00 2001 From: Kurt Date: Mon, 12 Aug 2019 10:52:03 -0400 Subject: Corrected comment to match function name --- contrib/gofpdi/gofpdi.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'contrib') diff --git a/contrib/gofpdi/gofpdi.go b/contrib/gofpdi/gofpdi.go index 58f8fae..e600fb1 100644 --- a/contrib/gofpdi/gofpdi.go +++ b/contrib/gofpdi/gofpdi.go @@ -28,9 +28,10 @@ func ImportPage(f gofpdiPdf, sourceFile string, pageno int, box string) int { return getTemplateID(f, pageno, box) } -// ImportPage imports a page of a PDF with the specified box (/MediaBox, -// /TrimBox, /ArtBox, /CropBox, or /BleedBox). Returns a template id that can -// be used with UseImportedTemplate to draw the template onto the page. +// ImportPageFromStream imports a page of a PDF with the specified box +// (/MediaBox, TrimBox, /ArtBox, /CropBox, or /BleedBox). Returns a template id +// that can be used with UseImportedTemplate to draw the template onto the +// page. func ImportPageFromStream(f gofpdiPdf, rs *io.ReadSeeker, pageno int, box string) int { // Set source stream for fpdi fpdi.SetSourceStream(rs) -- cgit v1.2.1-24-ge1ad