Skip to main content
DeepGrade
Showcase index

The label · live engine

One symbol on a label is one too few.

A phone camera reads a QR code instantly and a linear barcode badly. A warehouse laser scanner, which is what most distribution centres already own, reads Code 128 natively and cannot read a QR at all. Print one of them and somebody at the receiving dock types your lot code in by hand, which is precisely the thing the label was there to stop.

Code 128
subset B
QR mode
byte
QR versions
1 to 10
Encoder draws
nothing

What is on the pallet

QR
version 2, level M, mask 2, 25 modules square
Code 128
subset B, 200 modules wide at 0.33 mm

It prints black on white at the real module width, on its own, without the rest of the page. Point your phone camera at the QR and it will read back the lot code.

Fig. 1 Change the lot code and both symbols re-encode. Point a phone at the QR to check it reads back what is printed under the barcode.

02Why this is a package and not a picture

Why write the encoder rather than use a library?

Because a label has to come out of one place. The same encoder feeds the screen, the print stylesheet, and the server rendered PDF, so the barcode on the label a driver carries is the same symbol as the one on the screen it was checked against. Pulling in three different rendering libraries is how a warehouse ends up with two labels that disagree and nobody able to say which is right.

How do you know a barcode is correct?

This is the part that matters, because a barcode is the one thing on a label a human cannot proofread. A single wrong digit in the symbol table produces a label that looks perfect, prints fine, and scans as different data.

So the tests do not check that the output looks like a barcode. The Code 128 symbol table is pinned, entry by entry, against a published one from an outside reference implementation, and the QR output is pinned against the module matrix printed in the ISO specification itself, transcribed from two independent reference projects that agree with each other. Change a digit anywhere and a test goes red before a label does.

A label is only worth what the record behind it is.

The lot on this label starts life at the landing and ends up on the board.

Talk about a fitted build