diff --git a/InvenTree/label/api.py b/InvenTree/label/api.py index 68c4205178fb..64bea60db3bb 100644 --- a/InvenTree/label/api.py +++ b/InvenTree/label/api.py @@ -158,16 +158,12 @@ def print(self, request, items_to_print): pages = [] - if len(outputs) > 1: - # If more than one output is generated, merge them into a single file - for output in outputs: - doc = output.get_document() - for page in doc.pages: - pages.append(page) - - pdf = outputs[0].get_document().copy(pages).write_pdf() - else: - pdf = outputs[0].get_document().write_pdf() + for output in outputs: + doc = output.get_document() + for page in doc.pages: + pages.append(page) + + pdf = outputs[0].get_document().copy(pages).write_pdf() inline = common.models.InvenTreeUserSetting.get_setting('LABEL_INLINE', user=request.user) diff --git a/InvenTree/label/templates/label/label_base.html b/InvenTree/label/templates/label/label_base.html index 363a7d314493..4fe5644559e7 100644 --- a/InvenTree/label/templates/label/label_base.html +++ b/InvenTree/label/templates/label/label_base.html @@ -15,6 +15,8 @@ margin: 0mm; color: #000; background-color: #FFF; + page-break-before: always; + page-break-after: always; } img { @@ -22,14 +24,23 @@ image-rendering: pixelated; } + .content { + width: 100%; + break-after: always; + position: relative; + } + {% block style %} + /* User-defined styles can go here */ {% endblock %} - {% block content %} - - {% endblock %} +
+ {% block content %} + + {% endblock %} +
diff --git a/InvenTree/report/api.py b/InvenTree/report/api.py index c97026361d2f..738c7b859b58 100644 --- a/InvenTree/report/api.py +++ b/InvenTree/report/api.py @@ -233,17 +233,12 @@ def print(self, request, items_to_print): pages = [] try: + for output in outputs: + doc = output.get_document() + for page in doc.pages: + pages.append(page) - if len(outputs) > 1: - # If more than one output is generated, merge them into a single file - for output in outputs: - doc = output.get_document() - for page in doc.pages: - pages.append(page) - - pdf = outputs[0].get_document().copy(pages).write_pdf() - else: - pdf = outputs[0].get_document().write_pdf() + pdf = outputs[0].get_document().copy(pages).write_pdf() except TemplateDoesNotExist as e: diff --git a/requirements.in b/requirements.in index d02436ded1d4..f977f9542a7f 100644 --- a/requirements.in +++ b/requirements.in @@ -33,6 +33,7 @@ rapidfuzz==0.7.6 # Fuzzy string matching sentry-sdk # Error reporting (optional) setuptools # Standard depenedency tablib[xls,xlsx,yaml] # Support for XLS and XLSX formats +weasyprint==54.3 # PDF generation # Fixed sub-dependencies py-moneyed<2.0 # For django-money # FIXED 2022-06-18 as we need `moneyed.localization` diff --git a/requirements.txt b/requirements.txt index a5a09cc44127..5c7783217708 100644 --- a/requirements.txt +++ b/requirements.txt @@ -230,8 +230,10 @@ urllib3==1.26.11 # sentry-sdk wcwidth==0.2.5 # via blessed -weasyprint==56.1 - # via django-weasyprint +weasyprint==54.3 + # via + # -r requirements.in + # django-weasyprint webencodings==0.5.1 # via # bleach