Go to file
LoopingLudwig 8bc64be93b
feat: add several options for customizing label placement
* --row-wise, for going left to right instead of top to bottom
* --num-labels, for specifying how many labels to print
* --pages, for specifying how many pages to print
* --start-position, for continuing on sheets where some labels were already used

Co-authored-by: Jan Christian Grünhage <jan.christian@gruenhage.xyz>
2024-05-18 19:05:36 +02:00
.github/workflows feat: automatic build & publish, update authors 2024-04-29 18:36:29 +02:00
paperless_asn_qr_codes feat: add several options for customizing label placement 2024-05-18 19:05:36 +02:00
.gitignore initial commit 2023-11-18 17:59:00 +01:00
LICENSE initial commit 2023-11-18 17:59:00 +01:00
pyproject.toml chore: drop argparse from dependencies 2024-05-18 18:38:07 +02:00
README.md feat: add several options for customizing label placement 2024-05-18 19:05:36 +02:00

paperless-asn-qr-codes

paperless-asn-qr-codes is a command line utility for generating ASN labels for paperless with both a human-readable representation, as well as a QR code for machine consumption. The labels are Avery 4731 labels.

Installation

pip install paperless-asn-qr-codes

Usage

usage: paperless-asn-qr-codes [-h] [--format {averyL4731,avery5160,avery5161,avery5163,avery5167,avery5371}] [--digits DIGITS] [--border] [--row-wise] [--num-labels NUM_LABELS] [--pages PAGES]
                              [--start-position START_POSITION]
                              start_asn output_file

CLI Tool for generating paperless ASN labels with QR codes

positional arguments:
  start_asn             The value of the first ASN
  output_file           The output file to write to (default: labels.pdf)

options:
  -h, --help            show this help message and exit
  --format {averyL4731,avery5160,avery5161,avery5163,avery5167,avery5371}, -f {averyL4731,avery5160,avery5161,avery5163,avery5167,avery5371}
  --digits DIGITS, -d DIGITS
                        Number of digits in the ASN (default: 7, produces 'ASN0000001')
  --border, -b          Display borders around labels, useful for debugging the printer alignment
  --row-wise, -r        Increment the ASNs row-wise, go from left to right
  --num-labels NUM_LABELS, -n NUM_LABELS
                        Number of labels to be printed on the sheet
  --pages PAGES, -p PAGES
                        Number of pages to be printed, ignored if NUM_LABELS is set (default: 1)
  --start-position START_POSITION, -s START_POSITION
                        Define the starting position on the sheet, eighter as ROW:COLUMN or COUNT, both starting from 1 (default: 1:1 or 1)

Mandatory arguments

  • <start_asn>: The value of the first ASN to generate

Optional arguments

  • <output_file>: The name of the output file to write to (default: labels.pdf)

  • -h, --help: Shows the help message
  • -f, --format: Selects the format of the output sheet (see Supported Sheets)
  • -d, --digits: Specifies the number of digits in the ASN (e.g. for the default number 7, the ASN will look like 'ASN0000001')
  • -b, --border: Generates the borders around the labels to help debug alignment issues (see Tips & Tricks)
  • -r, --row-wise: Increments the labels from left to right instead of top to bottom
  • -n, --num-labels: Number of lables to be printed on the sheet
  • -p, --pages: Number of pages to be generated, ignored if -n is present.
  • -s, --start-position: Positon of first label to be printed, eighter defined as ROW:COLUMN or NUMBER. Starting from 1 eg. to use the whole sheet it would be 1:1 or 1. Useful if you have a partly used sheet from using -n.

Supported Sheets

Some different sheet types are supported with the -f/--format argument, however, not all are tested.

The 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 -b/--border option.

License

paperless-asn-qr-codes is distributed under the terms of the GPL-3.0 license.