Printing seem like a pretty basic process. You have a document you send it to a printer spooler and it prints. A simple queue and a file streaming interface, right?
Well, for me printing always seems to be an excercise in meditated toe nail removal. The first issue is that Windows refuses to recognize printers the same way twice. If I disconnect the USB cable from to the printer from the computer and I - god forbid -decide to re-connect it into another USB receptacle things go pretty wacky. Typically what happens is that Windows will install another printer driver (Copy 1... Copy 555) and usually configure it wrong. So the printer uses a USB connection but the installation decides to install a file based provider... Ok, I can manually swap that to the USB port. But... well there are multiple ports now and now it's down to trying to determine which freaking port the printer actually responds to. I usually end up sending 10 test pages to the printer - before I get one that actually spits out at the printer.
I can sort of understand the above problem - and it might actually be the printer driver that's not doing the right thing when it reinstalls itself but WTF does Windows have to reinstall the printer each time when it's already there in the first place? The same thing happens if you disconnect your mouse and switch USB ports - instant reinstall and often the reinstall doesn't work right so I end up shuffling ports until I find the 'right one'...
What's worse though about printing is the lameness of the print spooler in Windows. Whenever I manage to somehow hang a print job - because it ran out of paper or maybe because I needed to kill the printer or because I can't seem to find the right port above - invariably the Print Spooler will end up getting hung up. There'll be a list of print jobs with one that says -Error at the top of the queue. Cancel looks like it'd do the job, but in this case (or any other that I can remember) cancel doesn't do anything on an errored out print job. I can't delete remove or Cancel All - none of it has any effect.
The only way I can fix this is by restarting the Print Spooler Service which of course is a real intuitive operation having to go to Services find Print Spooler and Restart the service . Seriously why can't that option be available somewhere on the print dialog menu because it sure is needed an awful lot.
Actually in some cases it looks like canceling does work - once I do have the right printer selected. But whilst trying to find the right printer (ie. uninstalling all printers, trying (unsuccessfully to remove all but one USB printer port), disconnecting then reconnecting the printer) eventually after a few tries I always get this to work. But this whole back and forth tends to eat up 10-15 minutes.
It's possible it's my printer driver - the printer is fairly old and it's not a Vista specific driver, but once hooked up everything works fine - printing and print status detection etc. However, I don't think so - I've had the same sort of problems with various printers on just about any version of Windows I can remember. Frustrating as hell...