I would like to see what that looks like in ASCII
Ok, here's a quick description of how I send data to a Zebra printer. Zebra uses its own language, but the concept is valid for any printer:
The "^" character always indicates the beginning of a new command. The next two characters are always the actual command, followed either by data or parameters. The message always ends with the ^XZ command.
This is what I would send to print the barcode of the text "THIS IS A TEST": ^XA^FO10,10^B3N,N,200,Y,N^FDTHIS IS A TEST^XZ
If I break it down by command, it's pretty simple:
^XA (Start of message or format)
^FO10,10 (Start printing at coordinate X,Y on label)
^B3R,N,200,Y,N (Print Barcode Type 39 rotated 90 degrees with actual text at the bottom)
^FDTHIS IS A TEST (Actual barcode text)
^XZ (end of message)
If there is a company graphic downloaded in the labeler, I can recall it with the ^XG command (recall graphic). It's also possible to set up very complex label formats, and then recall the format and populate data fields (that's actually how I use it most of the time). I've had as many as 20 of these printers connected all at once, and printed dynamic labels straight from the PLC. If I only had one labeler, and a PC happens to be there anyway, then that might be easier, but not absolutely necessary.
The Zebra ZPL II programming guide has a complete list of commands. After a while, the programming is really easy.