allow small fonts when prefixing text lines with @
This commit is contained in:
parent
655d50af9e
commit
621597b52b
24
mkinvoice.go
24
mkinvoice.go
|
|
@ -73,6 +73,7 @@ const marginTop = 7
|
||||||
const logoTop = 6
|
const logoTop = 6
|
||||||
const logoHeight = 20
|
const logoHeight = 20
|
||||||
const lineSpacing = 5
|
const lineSpacing = 5
|
||||||
|
const lineSpacingTextsmall = 3
|
||||||
const lineSpacingSmall = 4.5
|
const lineSpacingSmall = 4.5
|
||||||
const lineSpacingPaymentSlipBig = 6
|
const lineSpacingPaymentSlipBig = 6
|
||||||
const lineSpacingPaymentSlipBelowHeading = 2.8
|
const lineSpacingPaymentSlipBelowHeading = 2.8
|
||||||
|
|
@ -147,6 +148,16 @@ func writeText(x float64, y float64, w float64, text string, alignStr ...string)
|
||||||
pdf.CellFormat(w, 11, tr(text), "", 0, align, false, 0, "")
|
pdf.CellFormat(w, 11, tr(text), "", 0, align, false, 0, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func writeTextsmall(x float64, y float64, w float64, text string, alignStr ...string) {
|
||||||
|
tr := pdf.UnicodeTranslatorFromDescriptor("")
|
||||||
|
align := "LT"
|
||||||
|
if len(alignStr) > 0 {
|
||||||
|
align = alignStr[0]
|
||||||
|
}
|
||||||
|
pdf.SetXY(x, y)
|
||||||
|
pdf.CellFormat(w, 6, tr(text), "", 0, align, false, 0, "")
|
||||||
|
}
|
||||||
|
|
||||||
func setupInvoice() {
|
func setupInvoice() {
|
||||||
pdf = gofpdf.New("P", "mm", "A4", "")
|
pdf = gofpdf.New("P", "mm", "A4", "")
|
||||||
pdf.SetMargins(0, 0, 0)
|
pdf.SetMargins(0, 0, 0)
|
||||||
|
|
@ -260,7 +271,18 @@ func printItems() {
|
||||||
totalNetAmount = totalNetAmount + itemNetAmount
|
totalNetAmount = totalNetAmount + itemNetAmount
|
||||||
writeText(tabstopPrice, yPos, widthPrice, floatToString(itemNetAmount, "'"), "TR")
|
writeText(tabstopPrice, yPos, widthPrice, floatToString(itemNetAmount, "'"), "TR")
|
||||||
}
|
}
|
||||||
if i.Text != "" {
|
if strings.HasPrefix(i.Text, "@") {
|
||||||
|
pdf.SetFont("Dejavusans", "", smallFontSize)
|
||||||
|
textwithoutprefix := i.Text[1:]
|
||||||
|
lines := pdf.SplitText(textwithoutprefix, widthItemText)
|
||||||
|
for _, il := range lines {
|
||||||
|
totalItemLines = totalItemLines + 1
|
||||||
|
writeTextsmall(tabstopLeft, yPos, 0, strings.ReplaceAll(il, "_", " "))
|
||||||
|
yPos = yPos + lineSpacingTextsmall
|
||||||
|
maybeNewPage()
|
||||||
|
}
|
||||||
|
pdf.SetFont("Dejavusans", "", defaultFontSize)
|
||||||
|
} else if i.Text != "" {
|
||||||
lines := pdf.SplitText(i.Text, widthItemText)
|
lines := pdf.SplitText(i.Text, widthItemText)
|
||||||
for _, il := range lines {
|
for _, il := range lines {
|
||||||
totalItemLines = totalItemLines + 1
|
totalItemLines = totalItemLines + 1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue