While cancelling a print job is generally a case of right clicking on the printer, it doesn't always clear the job and you can be stuck with a job in the queue until you either restart the PC or the spooler. I use the following in a .bat file to clear all print jobs and restart the spooler. This is obviously a better solution in a networking environment where users don't like being told to restart their PC.
net stop spooler
net start spooler