Printer Spooler Giving Wrong Info

Oct 11, 2008 at 9:36 AM
I know the component gets its info from the spooler, but what to do when the spooler itself is giving wrong info?
I'll Explain:

i have 4 network printers installed in W.S. 2003
sometimes i get jobs where the PrintQueueWatch component only lists 1 Page printed and 0 copies, but the client printed like 20 copies of the same document.
now when i go to event viewer and see the system printing logs, i see that it also lists 1 page printed. so windows itself is counting wrong pages.

do you have any idea why this happens? all client print from xp machines and from either office 2003, internet explorer or acrobat reader.

this way it gets pretty difficult to manage printing jobs!

Thank You!
Oct 11, 2008 at 10:22 AM

As to why it is happening - basically the application writers are "cheating" in order to provide more printing functionality than the hardware or drivers allow.  In MS Word's case this is the ability to do collated copies and so on.  They do this by setting up a single copy job and injecting the extra pages in the print job itself. 

Of course the printer itself knows how many pages it has printed so if you can parse the spool file you should be able to count the real number of pages printed.  Unfortunately it is an extremely difficult to do for all circumstances and setups as if you are reading the spool file when the spooler tries to write to it then the system tends to crash. 

This is a bit like checking tyre pressures on cars on a busy motorway :-)  It is a lot easier when they have "stopped" - so if you set the option [x] keep printed documents and parse the spool files after the document is printed it is a lot easier.

There are some articles that pertain to parsing spool files e.g.
Oct 11, 2008 at 11:15 AM
Hi. Thanks for a quick answer.

I think i isolated the damn problem:


The dmCopies member always returns a value of 1 when you try to retrieve the number of copies in a print job in Word 2003

it's a word 2003 bug. and it's fixable!