Good luck, I've been working on this very problem for over a year.
You have a few options here:
1) Modify the application that does the printing to capture the data. If this is possible, do this. You don't want to mess with the other options unless you absolutely have to.
2) You could use
RedMon[
^] to redirect the print stream to a program and to a printer. You'll have to figure out how to parse the print stream, and it may change from program to program if you're looking for a generic solution (not as bad if you only need the print output of one program though).
3) Write a custom print driver. I started down this route and didn't have much luck, the Windows print system is a mess.
[Edit] Alright, looks like your problem is a little simpler than I thought, option #2 is your best bet if you really want to write your own program to record the information.