Richard,
We have been using Linux shared printers for over a decade now without any real issues.
I just want to share a recent discovery:
The standard instruction is to install the printers using CUPS (we use the CUPS web interface) and using the RAW printer driver in all instances. This still holds true for dot-matrix printers.
We, however, just discovered that the normal drivers can be used with HP type laser & inkjet printers, and in so doing a whole new world of printer usage opened up... below is a snippet from our user-coldstart:
startshp 11,(11,21),0,s52,lp.unix,(lp.filter1s.pl kyo-laser) (s
assignfq 11,hp.lzr.unix (c
assignfq 21,hp.lzr.ux.17 (c
startshp 25,25,0,s51,lp.unix,(lpr -Ppick-tkt-otc) (s
startshp 32,32,1,s50,lp.unix,(lpr -PCups-PDF -o cpi=17) (s
startshp 40,40,0,s40,lp.unix,(lpr -PKyocera_ECOSYS_M2540dw -o cpi=17 -o media=letter -o sides=one-sided) (s
startshp 41,41,0,s41,lp.unix,(lpr -PKyocera_ECOSYS_M2540dw -o cpi=17 -o media=letter -o sides=two-sided-long-edge) (s
startshp 42,42,0,s42,lp.unix,(lpr -PKyocera_ECOSYS_M2540dw -o cpi=17 -o media=letter -o sides=two-sided-short-edge) (s
startshp 49,104,0,s49,lp.unix,(lpr -Pcash-mbj) (s
startshp 48,101,0,s48,lp.unix,(lpr -Pinv-mbj) (s
startshp 47,102,0,s47,lp.unix,(lpr -Plabel-mbj) (s
startshp 46,(106,116,126),0,s46,lp.unix,(lp.filter1s.pl ojp-9020-mbj) (s
assignfq 106,hp.dj.unix (c
assignfq 116,hp.dj.ux.17 (c
assignfq 126,hp.dj.ux.20 (c
startshp 45,105,0,s45,lp.unix,(lpr -Ppick-tkt-mbj) (s
startshp 44,(107,117,127),0,s44,lp.unix,(lp.filter2s.pl ojp-9020-mbj) (s
Take note of the definitions for printer Q's 40-42... any standard report (without any use of print @(-x) statements will be printed as per the lpr options. If any print @(-x) statements are involved, then the appropriate device file must be created or modified and the relevant assignfq statement must also be applied to the print Q.
You may notice some "lpfilterxx" statements... those set the required lpr options in a script located in the /usr/local/bin library and did the same thing as the definitions for printQ #'s
Hope this helps.