So I have a customer that uses a terminal server to share a clinical and financial app between forty or so users. Some, when printing in landscape mode, get the right 1/4 inch or so cut off when prionting reports. I could print fine using an Apple printing to a Lexmark All-In-One, and the programmers could print OK using a Windows client printing to a Laserjet 5, but my friends with Laserjet 1300 series and some others get cut off.
Looking into it, I found that some clients were printing using the HP Deskjet 500 PCL drivers, but we have no Deskjet 500's in use, so where did this come from? Well, Microsoft quietly delivered a feature called "Fallback Drivers." So instead of trying to download the drivers from the client computer, it says, "Ooooh, you have an HP, let's just use the Deskjet 500 drivers." Well, this doesn't work so well under some circumstances.
Doing some further research, I found the page How Microsoft's Windows 2003 SP1 Fallback Printer Driver Works (which now supports color!), which clearly and concisely explained what is going on, but not necessarily how to fix it. But he pointed me to some new registry keys that could prove useful.
I downloaded and installed HP's Universal Print Driver, then added the following registry key under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd
String value FallbackPclDriver with the value HP Universal Printing PCL 5.
Reboot your server, and it prints AOK from ANY HP printer.
Note added 10-Apr-08 - this driver seems to consume a lot of time before allowing print dialogs and properties to be displayed. I downloaded the x64 version as I'm running a 64-bit server 2003, but during one particularly spectacular crash, I noticed that some 32-bit processes related to the HP Universal Print driver were to blame. This begs the question: "Are the x64 versions really repackaged 32-bit drivers with a wrapper?" That would explain te performance hit and the crash message (shoulda wrote it down - I'll have to check the logs). I'll keep you updated!