Printers on the Gateway

Ignition 7.9.4
I just ran into this at one of our locations, the tech there added a new printer for the application to use.
We use system.report.executeAndDistribute to print product labels.
The new printer would not show up as a valid printer until we restarted the gateway?

Do we have to restart the gateway every time we add a printer or rename one in order for it to be used by reporting?
I even checked to see if the printer showed up under designer on the report scheduler and it wasn’t listed there even after hitting the refresh icon a few times.

Printing a report is a bit tricky because so many different systems are interacting. It’s made worse by the fact that you’re designing it in the Designer, but executing it on the Gateway.

When you’re designing the report, we show you a list of printers the Designer knows about just as an aid. But since the report isn’t executed in the Designer and may be executed at a later time, there’s no guarantee those printers will be available to the Gateway. Fonts have the same issue, fwiw.

When the Gateway executes the report, it hands the report off to Java which then hands it off to the OS. The OS sees this action as coming from the user that owns the Ignition gateway process, so that user needs to have permission to print to that printer. (Again, same for other resources reports might need, like fonts, file access, ftp access, etc) And given how many layers are involved, somehow I’m not surprised that Java wouldn’t get updates on new or renamed printers from the OS until the Gatway JVM restarts. It’s not something I’ve tested, so you might want to email in to support and ask them if they’ve seen this.