From 1ee19e2e46e218892b5f826c6aaf578f45300d13 Mon Sep 17 00:00:00 2001 From: Marvin Gaube Date: Sat, 25 Nov 2023 15:36:17 +0100 Subject: [PATCH] feat: enable debugging alignment with borders --- README.md | 5 +++++ paperless_asn_qr_codes/avery_labels.py | 4 ++-- paperless_asn_qr_codes/main.py | 5 ++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8a26d8e..1cd384e 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,11 @@ Default is Avery L4731. Currently tested and known working are: - Avery L4731 (DIN A4 Labels) +## Tips & Tricks + +In case your printer has alignment issues, you can generate a PDF with borders around the labels by using the +`--border` option. + ## License `paperless-asn-qr-codes` is distributed under the terms of the diff --git a/paperless_asn_qr_codes/avery_labels.py b/paperless_asn_qr_codes/avery_labels.py index 9f3b7fe..c3dd31c 100644 --- a/paperless_asn_qr_codes/avery_labels.py +++ b/paperless_asn_qr_codes/avery_labels.py @@ -92,7 +92,7 @@ BUSINESS_CARDS = 5371 class AveryLabel: - def __init__(self, label, **kwargs): + def __init__(self, label, debug, **kwargs): data = labelInfo[label] self.across = data.labels_horizontal self.down = data.labels_vertical @@ -103,7 +103,7 @@ class AveryLabel: ) self.margins = data.margin self.topDown = True - self.debug = False + self.debug = debug self.pagesize = data.pagesize self.position = 0 self.__dict__.update(kwargs) diff --git a/paperless_asn_qr_codes/main.py b/paperless_asn_qr_codes/main.py index c97c9ef..0a208a2 100644 --- a/paperless_asn_qr_codes/main.py +++ b/paperless_asn_qr_codes/main.py @@ -26,10 +26,13 @@ def main(): parser.add_argument( "--format", choices=avery_labels.labelInfo.keys(), default="averyL4731" ) + parser.add_argument( + "--border", action='store_true', help="Display borders around labels, useful for debugging the printer alignment" + ) args = parser.parse_args() global startASN startASN = int(args.start_asn) - label = avery_labels.AveryLabel(args.format) + label = avery_labels.AveryLabel(args.format, args.border) label.open(args.output_file) # by default, we render all labels possible on a single sheet count = (