[THIN] Re: OT: Color printing that defaults to b/w
- From: "Rick Mack" <Rick.Mack@xxxxxxxxxxxxxx>
- To: <thin@xxxxxxxxxxxxx>
- Date: Fri, 23 Dec 2005 10:09:01 +1000
Hi Matthew,
What I normally do is create a second queue that's configured to print black
only and then set permissions on the color queue so that only people who need
to print colour have access.
Configuring a queue to print black only is a simple as using a comparable (in
terms of bins etc) black only print driver for the black/white queue, something
like an HP LaserJet 4200 would probably work fine for you.
A slightly more fun way to do the same thing is to alter the existing color
drivers to print only in black. That way you have a printer-specific black-only
driver that can be used anywhere.
Anyway, a bit of background.
There are 3 printer driver classes used on Windows 2000 and later.
The first class is basically a traditional driver written by the manfacturer
that does everything itself. Just about every bad driver you've ever used falls
into this category. There is really no reason for any manufacturer to use this
type of driver anymore.
The second class is Unidriver-based printer drivers. The unidriver was
intrduced by Microsoft (in win2k) to make the job of creating and modifying
safe printer drivers easier. It consists of a printer definition file (GPD
extension) that is a text file that defines everything the printer can do.
There may be additional GPD files as include files and the driver may also
include custom DLLs to handle bi-directional printer comms, stapling etc. The
first time you use a unidriver-based print driver, the GPD file is compiled to
a binary file (.BUD extension) which is used by the spooler subsystem.
It's worth noting that whenever the .ppd file (or ANY of the include .ppd
files) are changed, the compile process happens again. That's why its a good
isea to give users write access to the spool\drivers\w32x86\3 directory,
otherwise the compile only happens for admins, and the driver won't work 'til
an admin tries to print.
Anyway, the 5500dn PCL6 driver is a uni-driver but interestingly enough the
PCL5 driver isn't. This is one case where PCL6 is actually better.
The PCL6 driver uses hpc55006.gpd and the color section is shown below:
*Feature: ColorMode
{
*rcNameID: =COLOR_PRINTING_MODE_DISPLAY *%IDS_COLOR_PRINTING_MODE
*DefaultOption: 24bpp
*HelpIndex: 12024
*Option: Mono
{
*rcNameID: =MONO_DISPLAY *%IDS_MONOCHROME
*DevNumOfPlanes: 1
*DevBPP: 24
*DrvBPP: 24
*Color? : FALSE
*PaletteSize: 1
*PaletteProgrammable? : TRUE
*Command: CmdDefinePaletteEntry { *Cmd: "" }
}
*Option: 24bpp
{
*rcNameID: =24BPP_DISPLAY
*DevNumOfPlanes: 1
*DevBPP: 24
*DrvBPP: 24
*PaletteSize: 256
*PaletteProgrammable? : TRUE
*Command: CmdDefinePaletteEntry { *Cmd: "" }
}
}
So if you wanted, you could modify the .gpd file to disable the color
capabilities.
The last class is postscript drivers. These used a unidriver like mechanism
even in NT 4. Postscript printer characteristics are defined in a
printer-specific PPD file that's a text file with high level printer driver
capability code that will get compiled into a BPD file which is used to produce
the print output.
There is a sub-class of Adobe postscript drivers, but these really fit in the
first class of drivers. I've had some real fun with some of Xerox's early Adobe
postscript drivers, so putting them into the dud class isn't really all that
cruel.
If we look at the 5500dn again, the postscript driver uses hpc5500s.ppd, which
has a section that defines the basic printer characteristics, eg
*% ---------------------------------
*% Basic Device Capabilities
*% ---------------------------------
*LanguageLevel: "3"
*Throughput: "22"
*FileSystem: False
*ColorDevice: True
*DefaultColorSpace: CMY
*TTRasterizer: Type42
*?TTRasterizer: "
So by changing the entry "*ColorDevice: True" to "*ColorDevice: False", you've
just created a driver for a a black only printer.
The correct way to use the dumbed-down driver is to create an inf file to
install the renamed, modified gpd or ppd file. You need to rename the INF file,
and edit the INF file to change the driver name in the [Strings] section and
change the name of the gpd/ppd file.
You now use the modified driver anywhere.
I'd probably advise you to stick with the 4200 drivers though ;-)
regards,
Ulrich Mack
Volante Systems
________________________________
From: thin-bounce@xxxxxxxxxxxxx on behalf of Matthew Shrewsbury
Sent: Thu 22/12/2005 11:17 PM
To: thin@xxxxxxxxxxxxx
Subject: [THIN] OT: Color printing that defaults to b/w
Is there a way that I could default a print driver to B/W? If the user wants to
print color they would have to go in and make the selection of printing in
color.
We have a number of people printing to a HP LaserJet 5500DN and the consumables
are running around $15,000 per year. I've observed that most people printing to
it really don't need to print in color but they are to lazy to select another
printer or select B/W. Since there is no way to track each users printing they
have no reason to try and reduce the amount printed in color.
Sorry for the off topic post but someone on here normally knows the answer.
Thank you for any suggestions!
Matthew Shrewsbury, MCSE+Internet MCSE 2000 CCA Server+
Senior Network Administrator
#####################################################################################
This e-mail, including all attachments, may be confidential or privileged.
Confidentiality or privilege is not waived or lost because this e-mail has been
sent to you in error. If you are not the intended recipient any use,
disclosure or copying of this e-mail is prohibited. If you have received it in
error please notify the sender immediately by reply e-mail and destroy all
copies of this e-mail and any attachments. All liability for direct and
indirect loss arising from this e-mail and any attachments is hereby disclaimed
to the extent permitted by law.
#####################################################################################
Other related posts: