zpl.tools
Printer configuration

^JI / ~JI - Start ZBI

Starts a Zebra Basic Interpreter session on the printer, optionally running a stored BASIC script.

^JI starts a ZBI session — Zebra Basic Interpreter, a BASIC dialect that runs on the printer itself and can read ports, hold state between jobs and supply label content. It is the one command in this category that can change the printed output. It cannot do so here, because the program is not in the format: ^JI names a file already stored on the printer's own file system.

Syntax

^JId:o.x,c,e

Also accepted with the other prefix: ~JI.

Support

Not implementedparsed: none · state: none · rendered: none

Recognised as valid ZPL and not implemented, with no plan to.

ZBI is an interpreted BASIC on the printer that can render label content, so a ZBI program can change the printed label. ^JI names a program already stored on the printer's file system, and this service has no file system and no interpreter. A format that depends on ZBI content therefore renders without it, and no part of the submitted ZPL can recover it. Labelary does not implement ZBI either. Send the finished ZPL, not a program that writes it. — not pinned by a test

Labelary does not implement it either, so there is no parity reference.

Parameters

d:o.xScriptoptional · text

Location and name of the stored BASIC program to run at start-up, e.g. R:INIT.BAS. The program lives on the printer, not in the format.

Default
none; the session starts with no program running
Invalid value
not documented, and we have not measured it. The renderer does not parse or measure this command. No printer file system exists here for a name to resolve against.
Test coverage
cConsoleoptional · Y or N

Whether the port carries the interactive ZBI console.

Default
Y
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 (Y, N).
Y
Enable the console (default)
N
Do not enable it
eEchooptional · Y or N

Whether the console echoes typed input.

Default
Y
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 (Y, N).
Y
Echo input (default)
N
Do not echo

Behavior

Both prefixes start a session and ~JQ ends it. The script argument uses ZPL's file-name form, a drive letter and an eight-character name with a three-character extension, for example R:INIT.BAS.

This API has no file system and no interpreter. A format whose content a ZBI program supplies renders without that content, and no part of the submitted ZPL can recover it. Labelary does not implement ZBI either. Build the finished ZPL and send that.

^JI is absent from the 2006 edition of the ZPL II guide; the arguments here follow Labelary's reference.

Example

A session started with an initialisation script, a console and echoing. The script name resolves to nothing and the label prints as written:

^XA
^JIR:INIT.BAS,Y,Y
^FO50,50^A0N,40,40^FDZBI session^FS
^XZ

Open in viewer