ZPL ~HS not working on some printers - printing

I have several Zebra ZM400 printers connected to the network and am working on customizing our printing application. The program uses the ~HS command to check the status of the printer before printing. Most of the printers work but some of them just hang when I type ~HS I get no response. I've used telnet to access the printer via 9100 and confirmed that it is indeed not working properly. As far as I can tell both printers are configured identically. I'm looking any ideas to help figure out why it is not working on all printers.
Model: Zebra ZM400
Firmware: V53.17.13Z

Stumbled upon the answer the other day. The output port of the print server had to be change to bidirectional communication.

Related

Printing on Epson receipt printers from Windows 10 command line

I expect it to be possible to simply compose a notepad textfile with text and control chararcters (ESC/POS) and copy that file to an Epson Thermal Receipt printer. Amongst a lot of information that I found on internet, I could not find a sample text file that simply shows how to do such.
I was able to link the USB printer to lpt1 and when I use something like copy /b c:\test.txt lpt1, I get some output. I reached the printer but it doesn't understand the language so to speak.
I did find Epson documentation with the esc codes. It would be of great help if I had a sample text-file and some directions on how to place the control characters in that file.
The Epson information is not a course, it is a manual. That is why I get stuck I guess.
You can see the ESC/POS specifications based on this page.
TOP»POS › TECH.REFERENCE»ESC/POS COMMAND FOR TM PRINTER»Introduction
There is no document compiled in PDF etc., but perhaps it may be available by registering for EPSON's partner program. At least you can ask if it exists.
Epson Advantage Partner Program
LPT devices may also be used for questions like questions, but a more suitable one would be serial port device mode.
If you change the interface setting of the printer hardware from the printer class to the vendor class and install the serial port device driver, you will be able to communicate via the serial port.
Please refer to the user's manual etc.
However, in any case, if there is no paper, the cover is open, or some error has occurred, printing will not be possible.
And you can't know the status just by sending unilaterally on the command line.
In order to deal with such a situation properly, it will be necessary to create a program that communicates with the printer and requests printing, and in that program, monitor the status of the printer and deal with errors.

How to Identify the local printers from network printers from my application

we have an application written in powerbuilder. We want a way to Identify the local printers from network printers in order to choose where to sent the printing. No problem if you have a solution in another programming language.
Call the built in function PrintGetPrinters. It gives a list of the printers. Take a look at the 'port' value. Network printers will have Ne00: or Ne01:. I don't have a local printer but I am guessing they might be LPT1:. Not sure about USB printers. Try the function and see what it returns.
I didn't even know about PrintGetPrinters that Roland mentioned. Not sure how I missed it but I recall getting list of all printers from Registry via RegistryGet. Maybe that version of PB didn't have the function. :)

POS Printer not available in Pos .NET

My Bixolon SRP-350II is not shown in the list of available devices given by
posExplorer.GetDevices();
All I see are Microsoft's simulated devices. The printer itself works, I can print on it and, using raw printing, send commands such as "cut". I've installed the OPOS driver for the printer, but nothing changed.
Is it necessary to do some further configuration? Is the order of installing POS.NET, the OPOS-driver and the Windows driver important?
Alright, figured out the Printer had to be configured with PSPLauncher.exe and now it shows up. Still, I am not sure I understand where exactly the benefit of POS .NET lies. I want the customers to plug-in new printers and when using Raw Printing and EscPos-commands, this seems to be much easier.
Plug printer in, install windows driver, set to main printer and then cut-commands etc. are being send in the raw stream.
I can't say directly for printers, but where we get the benefits out of POS.NET is the standard code we wrote for the scanners, or MSRs or cash drawers. All we have to do is install the driver, and configure the device in OPOS configuration (which is probably the step you were missing and resolved with the "PSPLauncher.exe") and we know that it's code-compatible and just works.
We have hundreds of terminals across the country (Australia) and they all use a variety of models and brands for the devices (within a range of tolerance) but because of POS.NET they're all supported.

HPLIP 3.13-11, A LaserJet 4/4M with a JetDirect: no workie

I'm trying to get a very old, but working great C2001A/J4100A (HP LaserJet 4) to work with the HP Linux Imaging and Printing library, but I'm having an awful time of it.
1) There's no entry in /usr/share/hplip/data/models/models.dat for [hp_laserjet_4]. This is the first problem so far when I used Bonjour discovery through an avahi.service file I put on my OpenWRT router. I don't currently have an iPhone I want it to discover with AirPrint, but this is how I started off and helps CUPS finds printers anyways.
2) SLP discovery is a complete bomb. I've traced it down to the UDP packet the JetDirect sends off in response to the broadcast discovery request. The part that is 'x-hp-p1=0' should be something like 'x-hp-p1=MFG:HP;MDL:LaserJet4;etc..' and it causes hp-probe to fail to see what printer the JetDirect is plugged into.
I can't seem to force HPLIP to bypass the bad discovery methods and it's too smart and wants to verify.
I've posted to the HPLIP help area, but they seem to run a week slow.
Instead of doing JetDirect, try LPR directly to the IP address. And any of the older PCL drivers should work against that printer.

Using a virtual printer to modify a receipt in a POS printer

I am trying to modify the receipt printed in a POS printer using a virtual printer and some custom libraries. However I read that (old) POS printers worked by writing directly to a serial port, and if that's the case I would need more a port listener, as opposed to a conventional windows virtual printer. Is that correct?
I am trying to build a general solution, trying to cover as many cases as possible, but I got that direct serial is somewhat an outdated practice.
Check if the printer manufacturer has a virtual serial port emulator you can use. Most old POS software was written to send commands over a COM port. The emulator essentially listens in on that port, intercepts the commands, and translates them so a modern USB or Ethernet printer can output the print jobs.
That chart can be found here with more information: http://www.starmicronics.com/support/TechnologyCategoryDetail.aspx?id=28
This app sends data directly to a COM port and not to a Windows queue of any sort? What port options do you have? If you have LPT as an option that could be remapped to a share and then captured using Redmon or similar port monitor.

Resources