by Michael S. Kaplan, published on 2006/10/23 03:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2006/10/23/859331.aspx
In the USA, when you buy a new car, the car always has a piece of paper attached to it, and that piece is paper lists the mile per gallon both in city driving and highway driving. The mechanism by which this information is calculated is firmly set in an arbitrary fashion which may never match the exact figures that some particular person who buys that car may see (given the wide variability of issues that can impact these figures in both positive and negative ways). But, since every car goes through the same tests it gives a potential buyer a way to compare one car to another.
With that thought in mind, the other day, charless asked in the Suggestion Box:
While this is not exactly a sorting / language issue...
I was thinking the other day about toner, and noticed again that toner life is spec'ed at say 3000 pages at 5% coverage. And I wondered "is that a reasonable number?" Do GDI and the font metrics, etc give enough information to compute the coverage. This of course also ignores the fact that the spec leave out some assumptions you would need to make to do the computation. (e.g. page size = US letter and if the 5% is of the paper size or the printable area).
Unfortunately, as far as I have been able to determine, there really is neither a good way to compute the coverage upon the page in any specific GDI function, nor to be honest a good way for the printer to return the info from a job what kind of per-page coverage in fact happened. There are plenty of ways to find out that a printer is reporting low toner or that it is out of toner, but no way to calculate how much is being used in either direction.
Now in theory one could do a screen scrape by putting the text in a DC and estimating the coverage % on each page, but like an attempt to check one's own miles per gallon settings when one is driving, there is no good way to map that to the piece of paper that was on the car when it sat in the showroom, since it is unlikely in the extreme that you will be driving under the same conditions. This is simply one of those figures that is arbitrary and powerful only in the sense of being able to compare against other printers....
This post brought to you by ٪ (U+066a, a.k.a. ARABIC PERCENT SIGN)
# NickR on 3 Nov 2006 5:48 AM:
Hi Michael,
I'm working on a small desktop publishing software project where I need to display the default printer's ink status/level in the status bar of the main form. For the past 2 days I've been trying to find a way of getting the printer ink level from the printer but I haven't been able to find something that's generic.
You mentioned that "There are plenty of ways to find out that a printer is reporting low toner or that it is out of toner" ... can you please shed some light on some of these methods (maybe using WinAPI, WMI etc.)? I'll appreciate your help. Thanks!
# Michael S. Kaplan on 3 Nov 2006 7:03 AM:
Hi Nick,
An easy MSDN search with appropriate keywords will find you both Win32 and WMI solutions. :-)
# NickR on 3 Nov 2006 8:31 AM:
Thanks mate! I'll check it out.
# Joseph M. Newcomer on 11 Jun 2008 12:18 AM:
There is a product that claims to be able to determine actual printing costs by determining actual page coverage: