InvenTree: modelo de local de estoque compatível com Brother QL 140x62mm

Veja também a versão pequena (62x27mm) desta etiqueta

Este modelo de etiqueta de local de estoque do InvenTree é totalmente compatível com impressoras de etiquetas Brother QL de 62mm. Eu uso o BrotherQLLabelPrintService para imprimi-las no Linux.

InvenTree 140x62mm stock location

stock_location_140x62.html
{% extends "label/label_base.html" %}
{% load l10n i18n barcode %}

{% block style %}
@page {
    size: 140mm 62mm;
    margin: 2mm; /* Garante espaço estrito de 2mm em cima, embaixo, esquerda e direita */
}

body {
    margin: 0;
    padding: 0;
}

/* Layout de tabela é imune ao bug de divisão em múltiplas páginas do WeasyPrint */
.label-table {
    display: table;
    width: 136mm;  /* 140mm - 4mm de margens totais */
    height: 58mm; /* 62mm - 4mm de margens totais */
    table-layout: fixed;
    page-break-inside: avoid;
    break-inside: avoid;
}

.label-row {
    display: table-row;
}

.qr-cell {
    display: table-cell;
    width: 58mm;
    height: 58mm;
    vertical-align: middle; /* Centraliza o QR code verticalmente */
}

.qr {
    width: 58mm;
    height: 58mm;
    display: block;
}

.text-cell {
    display: table-cell;
    width: 78mm;           /* Espaço restante da etiqueta */
    height: 58mm;
    vertical-align: middle; /* CRUCIAL: Centraliza o bloco de texto perfeitamente na vertical */
    padding-left: 5mm;     /* Espaço entre QR e texto */
    box-sizing: border-box;
    overflow: hidden;       /* Rede de segurança para evitar estouros em múltiplas páginas */
}

.loc {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
    line-height: 1.05;
    margin: 0;
    padding: 0;
    
    /* Suporta quebra de linha com hífens suaves UTF-8 nativos */
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* PASSOS DE AJUSTE AUTOMÁTICO */
/* Nomes curtos padrão (como Bechergläser) */
.loc.large { font-size: 52pt; }

/* Nomes de comprimento médio */
.loc.medium { font-size: 36pt; }

/* Texto excepcionalmente longo (como Test mit sehr langem Label) */
.loc.small { font-size: 26pt; }
{% endblock style %}

{% block content %}
<div class="label-table">
    <div class="label-row">
        
        <div class="qr-cell">
            <img class='qr' alt="{% trans 'QR code' %}" src='{% qrcode qr_data %}'>
        </div>
        
        <div class="text-cell">
            <div class="loc {% if location.name|length > 22 %}small{% elif location.name|length > 12 %}medium{% else %}large{% endif %}">
                {{ location.name }}
            </div>
        </div>
        
    </div>
</div>
{% endblock content %}

Check out similar posts by category: InvenTree