From 689b99c3aabf280b80601264e8c9f5bb2d38eecf Mon Sep 17 00:00:00 2001 From: Richard Schreiber Date: Mon, 14 Sep 2026 15:45:54 +0200 Subject: [PATCH] PDF: fix inline merge_background on fg_pdf instead of its own PdfWriter (#6555) * PDF: fix inline merge_background on fg_pdf instead of its own PdfWriter * fix pdf_header * fix flake8 --- src/pretix/base/pdf.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/pretix/base/pdf.py b/src/pretix/base/pdf.py index 6f7358007d..4990495206 100644 --- a/src/pretix/base/pdf.py +++ b/src/pretix/base/pdf.py @@ -1297,15 +1297,18 @@ def merge_background(fg_pdf: PdfWriter, bg_pdf: PdfWriter, out_file, compress): bg_pdf.write(bg_filename) subprocess.run(pdftk_cmd, check=True, stdout=out_file) else: + output = PdfWriter() for i, page in enumerate(fg_pdf.pages): bg_page = bg_pdf.pages[i] - _merge_with_correct_page_media_box(fg_pdf, page, bg_page) + _merge_with_correct_page_media_box(output, page, bg_page) # pdf_header is a string like "%pdf-X.X" - if float(bg_pdf.pdf_header[5:]) > float(fg_pdf.pdf_header[5:]): - fg_pdf.pdf_header = bg_pdf.pdf_header - - fg_pdf.write(out_file) + output.pdf_header = ( + bg_pdf.pdf_header + if float(bg_pdf.pdf_header[5:]) > float(fg_pdf.pdf_header[5:]) + else fg_pdf.pdf_header + ) + output.write(out_file) def _merge_with_correct_page_media_box(output: pypdf.PdfWriter, fg_page: pypdf.PageObject, bg_page: pypdf.PageObject):