diff --git a/src/pretix/plugins/badges/exporters.py b/src/pretix/plugins/badges/exporters.py index 5e24e95204..56a59150ce 100644 --- a/src/pretix/plugins/badges/exporters.py +++ b/src/pretix/plugins/badges/exporters.py @@ -173,6 +173,9 @@ def render_pdf(event, positions, opt): render_page(pagebuffer) pagebuffer.clear() + if pagebuffer: + render_page(pagebuffer) + output_pdf_writer.addMetadata({ '/Title': 'Badges', '/Creator': 'pretix', diff --git a/src/tests/plugins/badges/test_pdf.py b/src/tests/plugins/badges/test_pdf.py index 69298db2da..176f0d566d 100644 --- a/src/tests/plugins/badges/test_pdf.py +++ b/src/tests/plugins/badges/test_pdf.py @@ -68,3 +68,17 @@ def test_generate_pdf(env): assert ftype == 'application/pdf' pdf = PdfFileReader(BytesIO(buf)) assert pdf.numPages == 2 + +@pytest.mark.django_db +def test_generate_pdf_multi(env): + event, order, shirt = env + event.badge_layouts.create(name="Default", default=True) + e = BadgeExporter(event) + fname, ftype, buf = e.render({ + 'items': [shirt.pk], + 'rendering': 'a4_a6l', + 'include_pending': True + }) + assert ftype == 'application/pdf' + pdf = PdfFileReader(BytesIO(buf)) + assert pdf.numPages == 1