{% extends "base.html" %} {% block title %}Dymo Label Sheets - Admin{% endblock %} {% block extra_css %} {% endblock %} {% block content %}
{% set section = 'labels' %} {% set bar_sub = 'Dymo LabelWriter die-cut stock' %} {% set crumbs = [{'name': 'My Labels', 'url': url_for('labels.index')}, {'name': 'Dymo sheets'}] %} {% include 'admin/labels/_nav.html' %}
{# Same hidden marker as the tape page: it is how an unticked checkbox is told apart from a page opened with no options at all. #}
Label stock
{{ stock.note }}
{{ stock.width_mm }} × {{ stock.height_mm }}mm fits {{ per_sheet }} standard 40 × 15mm labels ({{ grid }}). A two-part drawer label is taller, so a mixed run fits fewer.

A LabelWriter is direct thermal: each dot is burnt or it isn't, with no colour and no greys in between. LIM makes that choice here rather than leaving it to the driver, whose halftoning turns 2mm letters to mush. Keep Crisp unless the part photo matters more than the words.
The labels themselves
{% for preset, text in [(1.0, 'Normal'), (1.4, 'Large'), (2.0, 'Largest')] %} {% endfor %}
The name is sized first and the image gives way to it. The whole name always prints, so once it spans the 40mm label turning this up changes nothing — most names hit that by about 1.4×. Untick Part image to give the text the whole width.
Show on label
{% for value, text in field_options %} {% endfor %}
{% if font_info.kind != 'system' %}
Font {% if font_info.scalable %} Labels are being drawn with {{ font_info.name }}. It works, but installing a proper font on the server gives better letterforms: apt install fonts-dejavu-core, or set LABEL_FONT to a .ttf file. {% else %} No scalable font on this server, so labels will print about a millimetre tall whatever Text size says. Install fonts-dejavu-core (or set LABEL_FONT to a .ttf) and print again. {% endif %}
{% endif %}
Print
Tape instead
Each PDF page is exactly {{ stock.width_mm }} × {{ stock.height_mm }}mm, so print it with the Dymo driver set to this label and scale 100% / Actual size — not "Fit to page", which shrinks everything by a few percent and spoils the 40mm width. The LabelWriter 4XL is USB, so LIM can't print to it over the network the way it does the tape printer.
Preview — {{ pages|length }} sticker{{ '' if pages|length == 1 else 's' }} from {{ plan|length }} label{{ '' if plan|length == 1 else 's' }} {{ stock.width_mm }} × {{ stock.height_mm }}mm
{% if not options.fields %}
Nothing selected Every field is unticked, so the labels will print blank.
{% endif %} {% for page in pages[:6] %}
Sticker {{ loop.index }} of {{ pages|length }} · {{ page | rejectattr('blank') | list | length }} label{{ '' if page|length == 1 else 's' }}
Dymo sticker {{ loop.index }}
{% endfor %} {% if pages|length > 6 %}
Showing the first 6 of {{ pages|length }}. All of them are in the PDF.
{% endif %}
300 dpi, the LabelWriter's native resolution. Drawn by the same code as the tape labels, so a drawer label is the same {{ '%.0f'|format(40) }} × 15mm sticker whichever printer makes it. Cut along the dashed lines.
{% endblock %} {% block extra_js %} {% endblock %}