There are various commercial solutions for printer accounting and print server accounting available. These solutions are capable of maintaining accounts for users or groups and do a lot of fancy things. However, for simple cases where you just need to calculate the amount of pages printed within a range of time by different users, you can gain this information in a very efficient and easy way at virtually no cost by just using Windows and MS Excel.
How?
The basic idea here is that the Windows Printer Spooler will write specific events to the System Event Log if configured to do so:
Type: Information
Source: Print
Category: None
Event ID: 10
Date: 02/14/2005
Time: 19:41:01
User: PORTABLE\denis
Computer: PORTABLE
Description: Dokument 3, Microsoft Word - Mail.doc owned by
denis has been printed over LPT1 to HP LaserJet 6P
Size in bytes: 26564; pages printed: 3
Evaluating this information over a certain period of time will enable you to get statistical information on your printers and print servers usage.
So what now?
Ensure that your spooler logs informative print events. You can find a short illustrative description on how to do this futher on in the "
Spooler configuration"
Then, download the MS Excel Spreadsheet which has the appropriate code to read the event log and a pivot table to analyze the raw data.
You can download the
digitally signed spreadsheet for Excel XP/2003 here 
.
When you open the spreadsheet, a dialog prompting for the server name to query will appear. When executed at the server in question, you can leave the default value (".") meaning "
local host". When executed at a management station, enter the name or IP address of your print server instead and enjoy.
Spooler configuration
The Windows Spooler can be configured to log different kind of events. The "Printer" Control Panel has an item called "Server settings" in the "File" menu.