diff options
-rw-r--r-- | fpdf.go | 5 | ||||
-rw-r--r-- | fpdf_test.go | 7 | ||||
-rw-r--r-- | pdf/reference/Fpdf_WriteAligned.pdf | bin | 1064 -> 1122 bytes |
3 files changed, 12 insertions, 0 deletions
@@ -1897,6 +1897,11 @@ func (f *Fpdf) Text(x, y float64, txtStr string) { f.out(s) } +// SetWordSpacing sets spacing between words of following text +func (f *Fpdf) SetWordSpacing(space float64) { + f.out(sprintf("%.5f Tw", space*f.k)) +} + // SetAcceptPageBreakFunc allows the application to control where page breaks // occur. // diff --git a/fpdf_test.go b/fpdf_test.go index 86fae86..d84de54 100644 --- a/fpdf_test.go +++ b/fpdf_test.go @@ -799,6 +799,13 @@ func ExampleFpdf_WriteAligned() { pdf.WriteAligned(0, 35, "This text is aligned Center", "C") pdf.Ln(35) pdf.WriteAligned(0, 35, "This text is aligned Right", "R") + pdf.Ln(35) + line := "This text fill line using word spacing. This can by used to write justified text" + leftMargin, _, rightMargin, _ := pdf.GetMargins() + pageWidth, _ := pdf.GetPageSize() + pageWidth -= leftMargin + rightMargin + pdf.SetWordSpacing((pageWidth - pdf.GetStringWidth(line)) / float64(strings.Count(line, " "))) + pdf.WriteAligned(pageWidth, 35, line, "L") fileStr := example.Filename("Fpdf_WriteAligned") err := pdf.OutputFileAndClose(fileStr) example.Summary(err, fileStr) diff --git a/pdf/reference/Fpdf_WriteAligned.pdf b/pdf/reference/Fpdf_WriteAligned.pdf Binary files differindex c3b52a0..0daf8fe 100644 --- a/pdf/reference/Fpdf_WriteAligned.pdf +++ b/pdf/reference/Fpdf_WriteAligned.pdf |