From adea43f9f1e4324cde55328c74e0e1a7af9aaf73 Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 10 Apr 2019 08:06:56 -0400 Subject: Add watermark example --- fpdf_test.go | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'fpdf_test.go') diff --git a/fpdf_test.go b/fpdf_test.go index 53609bf..d894607 100644 --- a/fpdf_test.go +++ b/fpdf_test.go @@ -2476,3 +2476,44 @@ func ExampleFpdf_SetFillColor() { // Output: // Successfully generated pdf/Fpdf_SetFillColor.pdf } + +// ExampleFpdf_TransformRotate demonstrates how to rotate text within a header +// to make a watermark that appears on each page. +func ExampleFpdf_TransformRotate() { + + loremStr := lorem() + "\n\n" + pdf := gofpdf.New("P", "mm", "A4", "") + margin := 25.0 + pdf.SetMargins(margin, margin, margin) + + fontHt := 13.0 + lineHt := pdf.PointToUnitConvert(fontHt) + markFontHt := 50.0 + markLineHt := pdf.PointToUnitConvert(markFontHt) + markY := (297.0 - markLineHt) / 2.0 + ctrX := 210.0 / 2.0 + ctrY := 297.0 / 2.0 + + pdf.SetHeaderFunc(func() { + pdf.SetFont("Arial", "B", markFontHt) + pdf.SetTextColor(206, 216, 232) + pdf.SetXY(margin, markY) + pdf.TransformBegin() + pdf.TransformRotate(45, ctrX, ctrY) + pdf.CellFormat(0, markLineHt, "W A T E R M A R K D E M O", "", 0, "C", false, 0, "") + pdf.TransformEnd() + pdf.SetXY(margin, margin) + }) + + pdf.AddPage() + pdf.SetFont("Arial", "", 8) + for j := 0; j < 25; j++ { + pdf.MultiCell(0, lineHt, loremStr, "", "L", false) + } + + fileStr := example.Filename("Fpdf_RotateText") + err := pdf.OutputFileAndClose(fileStr) + example.Summary(err, fileStr) + // Output: + // Successfully generated pdf/Fpdf_RotateText.pdf +} -- cgit v1.2.1-24-ge1ad