diff --git a/src/pretix/base/invoice.py b/src/pretix/base/invoice.py
index 8ba7c096b1..131d08ecce 100644
--- a/src/pretix/base/invoice.py
+++ b/src/pretix/base/invoice.py
@@ -209,6 +209,18 @@ class ClassicInvoiceRenderer(BaseReportlabInvoiceRenderer):
canvas.restoreState()
+ def _draw_invoice_to(self, canvas):
+ p = Paragraph(self.invoice.invoice_to.strip().replace('\n', '
\n'), style=self.stylesheet['Normal'])
+ p.wrapOn(canvas, 85 * mm, 50 * mm)
+ p_size = p.wrap(85 * mm, 50 * mm)
+ p.drawOn(canvas, 25 * mm, (297 - 52) * mm - p_size[1])
+
+ def _draw_invoice_from(self, canvas):
+ p = Paragraph(self.invoice.invoice_from.strip().replace('\n', '
\n'), style=self.stylesheet['Normal'])
+ p.wrapOn(canvas, 70 * mm, 50 * mm)
+ p_size = p.wrap(70 * mm, 50 * mm)
+ p.drawOn(canvas, 25 * mm, (297 - 17) * mm - p_size[1])
+
def _on_first_page(self, canvas: Canvas, doc):
canvas.setCreator('pretix.eu')
canvas.setTitle(pgettext('invoice', 'Invoice {num}').format(num=self.invoice.number))
@@ -225,20 +237,14 @@ class ClassicInvoiceRenderer(BaseReportlabInvoiceRenderer):
textobject.textLine(pgettext('invoice', 'Invoice from').upper())
canvas.drawText(textobject)
- p = Paragraph(self.invoice.invoice_from.strip().replace('\n', '
\n'), style=self.stylesheet['Normal'])
- p.wrapOn(canvas, 70 * mm, 50 * mm)
- p_size = p.wrap(70 * mm, 50 * mm)
- p.drawOn(canvas, 25 * mm, (297 - 17) * mm - p_size[1])
+ self._draw_invoice_from(canvas)
textobject = canvas.beginText(25 * mm, (297 - 50) * mm)
textobject.setFont('OpenSansBd', 8)
textobject.textLine(pgettext('invoice', 'Invoice to').upper())
canvas.drawText(textobject)
- p = Paragraph(self.invoice.invoice_to.strip().replace('\n', '
\n'), style=self.stylesheet['Normal'])
- p.wrapOn(canvas, 85 * mm, 50 * mm)
- p_size = p.wrap(85 * mm, 50 * mm)
- p.drawOn(canvas, 25 * mm, (297 - 52) * mm - p_size[1])
+ self._draw_invoice_to(canvas)
textobject = canvas.beginText(125 * mm, (297 - 38) * mm)
textobject.setFont('OpenSansBd', 8)