We recently integrated a Zebra printer into an Ignition system. We ended up using ZPL as Jordan suggests, sending it to the printer using raw TCP sockets. The following Python script should give you an idea of how to go about this:
import socket
HOST = '192.168.1.122'
PORT = 9100
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.sendall('^XA')
s.sendall('^FO50,50^ADN,36,20^FDHello world')
s.sendall('^FS')
s.sendall('^XZ')
s.close()
Just put this script on a button in Ignition and make sure the HOST variable is set to the IP address of your printer. After that, sorting the layout, choosing the type of barcode you want printed etc. is a matter of reading the ZPL manual!