zpl.tools
Printer configuration

^KV - Kiosk Values

Sets the cutter and presenter distances used when `^MM` puts the printer in kiosk mode.

^KV sets the distances and timings a kiosk-mode printer uses to cut, present and retract a label. The printer reads it only after ^MM selects kiosk mode; alone, it configures a mode that does not run.

Syntax

^KVa,b,c,d,e

Support

Recognised, deliberately skippedparsed: none · state: none · rendered: none

Accepted and skipped, because it configures the printer rather than the label. It cannot change the rendered output, and Labelary skips it too.

The command cuts, ejects and retracts media, all after the image exists, so none of it changes the image. The renderer does not parse this command. It reports IGNORED_COMMAND at info severity, which does not reach X-Warnings. Labelary is also silent, so the rendered label is identical in both engines. — not pinned by a test

Labelary renders this command.

Parameters

aUncut amountoptional · integer

How much of the label to leave uncut, in millimeters. 0 means cut fully.

Default
the previously set value, or 0
Accepted range
10 to 60 mm
Invalid value
not documented, and we have not measured it. The renderer does not parse or measure this command. The printer accepts 0 in addition to the 10 to 60 range.
Test coverage
No test at the minimum, maximum or one step outside the range.
bCut marginoptional · integer

Margin left between the cut and the label edge, in millimeters.

Default
the previously set value, or 9
Accepted range
2 to 9 mm
Invalid value
not documented, and we have not measured it. The renderer does not parse or measure this command.
Test coverage
No test at the minimum, maximum or one step outside the range.
cPresent typeoptional · one of a set

What the printer does with a finished label the operator does not take.

Default
the previously set value, or 0
Invalid value
not documented, and we have not measured it. The renderer does not parse or measure this command.
Test coverage
No documented value is exercised by a test (0, 1, 2).
0
Eject after printing (default)
1
Retract after printing
2
Do nothing
dPresent timeoutoptional · integer

Seconds to wait before the printer retracts an untaken label. 0 waits forever.

Default
the previously set value, or 0
Accepted range
0 to 300 seconds
Invalid value
not documented, and we have not measured it. The renderer does not parse or measure this command.
Test coverage
No test at the minimum, maximum or one step outside the range.
ePresenter loop lengthoptional · integer

Length of the presenter loop, in millimeters. 0 means no loop.

Default
the previously set value, or 400
Accepted range
3 to 1023 mm
Invalid value
not documented, and we have not measured it. The renderer does not parse or measure this command. The printer accepts 0 in addition to the 3 to 1023 range.
Test coverage
No test at the minimum, maximum or one step outside the range.

Behavior

All five arguments describe what happens to the media after the printer images it, so none of them can change the image. Two carry a surprise: in a, 0 means a full cut rather than no cut, and in e, 0 means no presenter loop. Both values sit outside the ranges the rest of each argument uses.

The present timeout applies only when c selects retract, and 0 there means an indefinite wait, not an immediate retract.

^KV is absent from the 2006 edition of the ZPL II guide; the ranges here follow Labelary's reference. The renderer ignores this command.

Example

Labelary's own example values — cut fully, a 9 mm margin, eject after printing, no timeout, no presenter loop:

^XA
^MMK
^KV0,9,0,0,0
^FO50,50^A0N,30,30^FDKiosk values^FS
^XZ

Open in viewer

  • ^MM Print ModeThis command selects what happens to a label after the print: tear-off, peel-off, rewind, cut or applicator.
  • ^PN Present NowEjects a section of the current label so the operator can take it.
  • ~PL Additional Present LengthExtends how far the printer ejects media during a present cycle.