If you have a lot of printers you might be better off with a document management system.
Basically means a user prints to one virtual printer, goes over to the printer, enters their code, and out comes the print job.
Not sure on forum rules regarding naming other companies, but a quick google on "print management solutions" should help