I print to Zebras as well as several other printers. In the case where it is a serial printer, I just use an ethernet-serial converter so my code is the same.
To do this, I don’t use any built-in Ignition functions. There very well could be a function that would work fine, but my personal preference is to create my own in Python. To each his own.
For one printer that uses a serial converter, I use UDP. The following code works nicely:
import socket
import system
udpSocket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
message ="SEND THIS TO ZEBRA"
ip='192.168.0.100'
port=20000
udpSocket.sendto(message,(ip,port))
This has worked reliably for years. I do something very similar with TCPIP, and there are some threads in the forum discussing it. Also, remember you have both python and java sockets available to you, so just start hacking and I’m sure you will figure something out.