Topic or Information
The best and easiest way to monitor status is to write a small application that simply polls the printer at a regular interval and sees if there are any problems.
Zebra Kiosk Printers
A concern is that if the language monitor directly accesses the printer as if printer polls while it is in the process of printing, it may have adverse effects.
When printing and enquiring for Status ESC ENQ 6 you may not get the right information you are looking for because of different timing in the printer. Nevertheless it would work and you may even see that the printer is busy. The best way to monitor the printer is to enquire before a job and check the paper out status then print and check the paper in Presenter status if you need to, you can repeat this until you've taken the paper to make the next print job wait.
If you print, the paper will be either be retracted or ejected according the parameter settings.
You can add checks for paper near the end at either time because this is not crucial to the print job. If you use ESC ENQ 6 and you want to get info about all failures you will eventually want to use other enquiries like ESC ENQ 1 or ESC ENQ 2.
Note regarding ESC ENQ 2:
This is an accumulating error and will only change to "No Paper" when you had three (3) consecutive cuts with paper-near-end condition where the same bit in ESC ENQ 6 show an immediate "No Paper" which could be a dirty paper side as well.