The Windows CE printer driver (pcl.dll) is capable of printing in color, but it might not recognize that your connected printer supports color. When this occurs, the print dialog will not allow selecting color as a print option. The good news is that this can be corrected.
There are a few ways to handle this:
  1. Use the default PCL Inkjet printer in the print dialog. It has been setup for color support.
  2. Modify the registry settings for the printer.
  3. Modify the printer driver to always support color printing.
Use the default PCL Inkjet printer in the print dialog
There are two default PCL printers; PCL Laser and PCL Inkjet. The main difference is that the PCL Inkjet is defined to support Color, while the PCL Laser is defined for monochrome. So, selecting the PCL Inkjet instead of your specific printer, or the PCL Laser, will allow you to print in color.
I have a theory which is that you can print to any PCL printer using either of the default printers.   I haven’t tested this theory, but I suspect that the color setting is really the only difference. 
Modify the registry settings for the printer
The registry settings for your printer are defined by using a default set of values, then reading data from your printer to modify the default values. If the data from your printer doesn’t include information that is interpreted as support for color then the registry settings will be set to monochrome, which is the default. You can change the registry values from:
[HKEY_LOCAL_MACHINE\Printers\<Your Printer Key>]
"Color"="Monochrome"
 
To:
 
[HKEY_LOCAL_MACHINE\Printers\<Your Printer Key>]
"Color"="Color"
 
You can change the Color value in many ways including, build the value into the OS, use a registry editor or from your application.
Modify the printer driver to always support color printing
The USB printer class driver is the driver that contains the default settings. The default settings include the Color value set to Monochrome. By setting the default to Color, your printer show up in the printer dialog as having color support.    This is a possible option if you need to support multiple printers, but it has a down side which is that you may show color support when none exists.
 
Copyright © 2009 – Bruce Eitman
All Rights Reserved