diff --git a/src/pretix/plugins/ticketoutputpdf/ticketoutput.py b/src/pretix/plugins/ticketoutputpdf/ticketoutput.py index 5a8c85178..6607a19f0 100644 --- a/src/pretix/plugins/ticketoutputpdf/ticketoutput.py +++ b/src/pretix/plugins/ticketoutputpdf/ticketoutput.py @@ -1,9 +1,11 @@ import copy import logging +import re import uuid from collections import OrderedDict from io import BytesIO +import bleach from django.contrib.staticfiles import finders from django.core.files import File from django.core.files.storage import default_storage @@ -242,8 +244,14 @@ class PdfTicketOutput(BaseTicketOutput): textColor=Color(o['color'][0] / 255, o['color'][1] / 255, o['color'][2] / 255), alignment=align_map[o['align']] ) - - p = Paragraph(self._get_text_content(op, order, o) or "", style=style) + text = re.sub( + "]*>", "
", + bleach.clean( + self._get_text_content(op, order, o) or "", + tags=["br"], attributes={}, styles=[], strip=True + ) + ) + p = Paragraph(text, style=style) p.wrapOn(canvas, float(o['width']) * mm, 1000 * mm) # p_size = p.wrap(float(o['width']) * mm, 1000 * mm) ad = getAscentDescent(font, float(o['fontsize']))