Zebra Programming Language
{{Short description|Specialized computer programming language}}
{{about-distinguish-text|the language typically used with printers|Z-level programming language used in high performance computing}}
{{Infobox programming language
| title = Zebra Programming Language
| logo = Zebra Programming Language.png
| logo_size = 150px
| logo caption = Zebra logo
| operating system = independent
| influenced by = ANSI BASIC
| developer = Zebra Technologies
}}
Zebra Programming Language (ZPL) is a page description language from Zebra Technologies, used primarily for labeling applications. The original language was superseded by ZPL II, but it is not fully compatible with the older version. ZPL II is supported by some non-Zebra label printers.{{Cite web |title=ColorWorks CW-C6500A Color Inkjet Label Printer with Auto Cutter (Matte) |author= |website=Epson |date= |access-date=31 July 2021 |url= https://epson.com/For-Work/Printers/Label/ColorWorks-CW-C6500A-Color-Inkjet-Label-Printer-with-Auto-Cutter-%28Matte%29/p/C31CH77A9981 |quote=Compatible with ZPL II }}{{Cite web |title=cab printers support ZPL II |author= |website=cab.de |date=November 2020 |url= https://www.cab.de/en/news/news/cab-zpl/}}
Later, the Zebra BASIC Interpreter (ZBI) was integrated into printer software, which is seen as an advancement to ZPL II by the producer and is ANSI BASIC oriented. Primarily, it is intended to avoid a refactoring of code when changing the printer, if the old printer software was written by a label printer of a competitor. A possible use of ZBI could be for when the Zebra printer receives a foreign label format, which it would then convert to ZPL II on the fly so it can be printed.{{cite web|url=https://www.zebra.com/gb/en/products-services/software/zebralink/zebra-basic-interpreter2.html |title=Zebra BASIC Interpreter 2.0 |publisher=Zebra Technologies |website=Zebra.com |access-date=2020-03-26}}
Commands
The language commands always start with a caret ('^
') or tilde sign ('~
'). ZPL II has more than 170 commands. Each format has to start with the command ^XA
and end with ^XZ
.{{cite web|url=http://www.ptshome.com/kb/Manuals/ZPL_Vol1.pdf|archive-url=https://web.archive.org/web/20120322181734/http://www.ptshome.com/kb/Manuals/ZPL_Vol1.pdf|url-status=dead|archive-date=2012-03-22|title=ZPL II Programming Guide (vol. I)|year=2005|website=Portable Technology Solutions|page=6}} For instance, the font size is sent to the printer with the ^ADN,n,m
command, where n
and m
are integers denoting the font size and spacing characteristics; ^ADN,18,10
is the smallest size and ^ADN,180,100
the largest.{{Citation needed|date=March 2020}}
The following is a complete example of a ZPL document for a product label:
^XA
^CF0,30
^FO300,30^FDHU Label^FS
^CF0,25
^FO20,100^FDHU ID: 112345678000001107^FS
^BY2.2,3,70
^FO20,130^BCN,,N^FD112345678000001107^FS
^FO20,230^FD60-Volt Cordless Electric Hedge Trimmer^FS
^FO20,260^FD13^FS
^FO650,200^BQN,2,5^FDQA,^FS
^XZ
See also
- Eltron Programming Language (EPL)
References
{{Reflist}}
External links
- [https://www.zebra.com/content/dam/zebra/manuals/printers/common/programming/zpl-zbi2-pm-en.pdf Programming Guide (PN: P1012728-008 Rev. A)]
- [http://www.tracerplus.com/kb/Manuals/ZPL_Vol1.pdf ZPL II Programming Guide (vol. I)]
- [http://www.tracerplus.com/kb/Manuals/ZPL_Vol2.pdf ZPL II Programming Guide (vol. II)]
- [http://labelary.com/viewer.html Online ZPL Viewer] from Labelary