What is IPL?
IPL (Intermec Printer Language) is the command language of Intermec label printers: the EasyCoder line and the Honeywell PM, PF, and PX series that replaced it. IPL works in two modes. In Program mode, a job defines a format, a template of numbered fields, and stores it on the printer. In Print mode, the job sends data for those fields and prints the label.
Example
Section titled “Example”<STX><ESC>P<ETX><STX>E1;F1;<ETX><STX>H0;o50,50;f0;c21;h1;w1;d3,LabelZoom;<ETX><STX>B1;o50,120;f0;c0,0;h100;w2;d3,12345678;<ETX><STX>R<ETX><STX><ESC>E1<ETX><STX><ETB><ETX>Every command sits between <STX> and <ETX>. A file can contain the real control bytes or these readable forms, so many IPL files open cleanly in a text editor.
| Command | What it does |
|---|---|
<ESC>P |
Enters Program mode |
E1;F1; |
Erases format 1 and creates it again |
H0;… |
Defines text field 0 |
B1;… |
Defines barcode field 1 |
R |
Returns to Print mode |
<ESC>E1 |
Selects format 1 |
<ETB> |
Prints the label |
Inside a field, o sets the origin, f the direction, c the font or symbology, and d3, fixed data. IPL barcodes include linear symbologies, PDF417, MaxiCode, Data Matrix, and QR Code.
IPL vs ZPL
Section titled “IPL vs ZPL”| Aspect | IPL | ZPL |
|---|---|---|
| Printers | Intermec EasyCoder; Honeywell PM, PF, and PX | Zebra, and other printers that emulate ZPL |
| Structure | Commands framed by <STX> and <ETX> |
A stream of ^-prefixed commands |
| Label data | Format stored on the printer, data merged at print time | Layout and data sent together in one stream |
Convert IPL files
Section titled “Convert IPL files”These free tools run in your browser:
- IPL viewer: see a label without a printer.
- IPL to PDF: get a printable PDF.
- IPL to ZPL: convert the label for a Zebra printer.
- PDF to IPL: create IPL from a PDF.
The LabelZoom API converts IPL to and from ZPL, PDF, and images. For example, POST /api/v2/convert/ipl/to/pdf renders IPL as a PDF, and POST /api/v2/convert/zpl/to/ipl converts ZPL to IPL. Save IPL output as bytes, not text; see Binary output.