For a long time, I was unable to get rid of this annoying behavior: my Linux-based Samba server always printed an extra blank page at the end of each print job. No matter what I tried: Windows printer driver settings, options to lpr, nothing worked.

Eventually I stumbled upon the solution: simply adding an ff= option to the printer's printcap entry did the trick. This sets the form feed code to the empty string. It is an extra form feed that the lpd demon sends to the printer at the end of the job; and since Windows already takes care of the final form feed, the extra form feed character causes an additional blank page to be printed.

My current printcap entry for my HP LaserJet 5L thus looks like this:

lp:lp=/dev/lp0:sd=/var/spool/lpd:sh:mx=10000:ff=

Your mileage may vary. This problem may be specific to certain distributions, such as Slackware Linux.