I used to do something similar... I used a DOS based invoice software
that I would "print" the invoice to a txt file and then print that
I didn't print much from DOS. When it got to windows, I had it set up so that the windows box rendered the print job, and sent the data to linux box, which not having to do any processing could just use lpr to dump it to the printer. This was done via samba.
For some reason, and I only looked at this briefly for someone else, lpr is pretty much obsolete and it turned out to be a pain trying to get it installed and integrated. However they were happy with the cups result.
Spec
--- SuperBBS 1.17-3 (Eval)
* Origin: <Shoot'n the breeze on The Lower Planes> (21:3/105)