The selected printer model does not have a printhead at the chosen density. ZPL coordinates are in dots, so a 300 dpi label comes out at two thirds of its size on a 203 dpi printer.
^XA^PW800^FO50,50^A0N,40^FDHELLO^FS^XZThis finding depends on the selected printer model, not on the code alone. The API call that produces it:
curl -X POST "https://api.labelixa.com/v1/diagnostics?model=GK420d&dpmm=12" \
--data "^XA^PW800^FO50,50^A0N,40^FDHELLO^FS^XZ"Finding: ZPL7001 · line 1:1 — GK420d does not print at 300 dpi (supported: 203) — dot coordinates are physical, so this label will come out at the wrong size on that printer
Pick the density the model supports (8 dpmm = 203 dpi, 12 dpmm = 300 dpi) or choose a model with that head. The example is clean with dpmm=8.
^XA^PW800^FO50,50^A0N,40^FDHELLO^FS^XZThe same label is clean with this call:
curl -X POST "https://api.labelixa.com/v1/diagnostics?model=GK420d&dpmm=8" \
--data "^XA^PW800^FO50,50^A0N,40^FDHELLO^FS^XZ"ZPL7002 Print width exceeds the model's printhead · ZPL7003 Print speed above the model's maximum
npx labelixa validate "labels/**/*.zpl" lints your files and prints this page's address next to each finding. /docs/cli