Hi I have a non networked Zebra printer that is connected to a local PC that I will be running a vision client on.
I want to know how I could send the print command to the printer through the client directly to the computers default printer.
I have searched the forum and found many posts on sending via IP address - but not specific to a local printer connected to the PC running the vision client.
I you want to send ZPL directly, you will need to open the local port for the printer (as if a file) instead of a socket like the network examples. If the client is on Windows, you will need to drill into the printer settings to get the port name.
Ok I have had a look at the client PC and the Local printer settings shows port as USB001
could you assist with an example script for opening the network port name and sending to the printer?
please see my script currently setup for a network printer below
I had this done up yesterday, but then got yanked to go to to one of our sister plants.
I prefer looking up the printer by name, because somehow, somewhere, someone will add another printer and make it the default.
from javax.print import DocFlavor, SimpleDoc, PrintServiceLookup
from java.io import ByteArrayInputStream
# Get all available printers
printServices = PrintServiceLookup.lookupPrintServices(None, None)
# Initialize print service variable
printService = None
# Check for specific printer name
for service in printServices:
if service.name == 'Label Printer': # Replace with your own printer name.
printService = service
# Send message if the printer exists
if printService is not None:
fgPartNum = '4CJ9196WA65'
serialNum = 74889000
strMessage = '^XA^BY3,3,167^FT040,280,^B3N,N,,N,N^FDS{sn}^FS^FT0060,080^A0N,40,45^FDS{sn} {pn}^FS^PQ1,0,0,N^XZ'.format(sn=serialNum, pn=fgPartNum)
# Create an input stream
messageStream = ByteArrayInputStream(strMessage)
flavor = DocFlavor.INPUT_STREAM.AUTOSENSE
doc = SimpleDoc(messageStream, flavor, None)
job = printService.createPrintJob()
job.print(doc, None)
messageStream.close()
else:
print 'Printer Not Found'