Troubleshooting¶
Two kinds of thing go wrong with labels. Either nothing renders and T3 hands you an error, or a PDF comes out and it looks wrong. This page covers both.
Every label on this page is real output from the T3 renderer.
Nothing renders¶
When a value template refers to something that is not there, T3 renders no PDF and reports every problem it found across your whole layout and data, not just the first one.
"'packagez' is undefined"¶
You mistyped a field name. The Studio names the element, the line, and what it could not find, usually with a suggestion.
Fix the spelling in Value template. The autocomplete below that field is the reliable way to avoid this, since it only offers fields your data actually has.
This is caught because you asked for a property of something that does not exist. A bare
{{ packagez }}on its own renders blank instead, with no error. See missing values below.
Behind the scenes
{
"code": "LABEL_TEMPLATE_ERROR",
"title": "Label Template Error",
"status": 400,
"detail": "1 template problem across 5 labels. element[2] 'Product name' (TEXT) line 1, 'packagez' is undefined",
"type": "https://api.trackandtrace.tools/errors/LABEL_TEMPLATE_ERROR",
"errors": [
{
"elementIndex": 2,
"elementType": "TEXT",
"description": "Product name",
"line": 1,
"sourceLine": "{{ packagez.item.name }}",
"expressions": ["packagez.item.name"],
"message": "'packagez' is undefined",
"didYouMean": ["package"],
"occurrences": 5,
"firstLabelIndex": 0
}
]
}
elementIndex and description say which element failed, which matters once a layout has several. occurrences says how many labels hit it, and firstLabelIndex which one hit it first, so a problem affecting only one row of your data is findable.
A field renders blank¶
Not an error. A value that is simply absent renders as nothing, which is usually what you want for optional data: packages without a lab result should not fail the whole print run.
If you would rather be told, turn on strictTemplates in your rendering options. See Missing Values.
"boldEndingDigits needs a string"¶
A filter was applied to the wrong kind of value. boldEndingDigits formats a Metrc tag, so it needs {{ package.label | boldEndingDigits }} and not a number or an object.
The label renders, but looks wrong¶
Text spills out of its box¶
Your text is longer than the space you gave it, and the element is set to Allow Overflow. It will print over whatever is underneath.
Change Resize Strategy. The same label with Shrink Text, which steps the font down until it fits:
And with Truncate Text, which cuts the end and adds an ellipsis:
Pick by what the text is. Shrink a product name, so it stays readable in full. Truncate a description, where the first few words carry the meaning. Allow overflow almost never, and only when you know the length.
If text does not overflow, the strategy does nothing.
The logo prints as a black box¶
Your image has a transparent background. Label rendering does not honor an alpha channel, so every transparent pixel prints solid black.
Re-export the image with a solid white background. Labels print on white stock, so a white ground reads as though the mark is floating on the label.
An element is missing¶
Check its position first. An element whose percentages fall outside 0% to 100% is drawn off the printable area and simply does not appear. Here the potency line is still in the layout, but sits above the top edge.
Turn on Draw borders and every element's rectangle is outlined, including ones that landed somewhere you did not expect.
Also worth checking:
- The element's enabled toggle.
- Whether a later layer is drawing on top of it. Elements lower in the layer stack are drawn first.
The table has no lines¶
Tables draw no rules of their own. If you saw a grid while building, that was Draw borders, not the table.
A watermark covers the label¶
Not an error, and nothing in your layout causes it. Labels render with a watermark unless the account has T3+. Everything else works the same, so you can build and test a whole layout before subscribing.
Start your free 30-day T3+ trial to render without it.
Next Steps¶
- Back to the tutorial.
- Strict templates and missing values: Layout Element Values.
- What the Studio shows when generation fails: Saving and Generating.