Hi Again,

So after a little bit of reading and much testing I think I understand the limitations and options. Who ever originally came up with this schema at Crystal must have had something in their water.

Firstly there is no way in Crystal XI to programmatically set whether you want to print in colour or grayscale. Hard to fathom why this is, especially when you can set things like duplex printing. If you preview the report first and use the preview's print button, this allows you to select a printer whose colour/grayscale setting will be honoured. It effectively uses the devMode structure from the printer. However if your printing directly to the printer this does not help, as the printers settings are not honoured.

When printing directly to a printer Crystal will either a) use the colour setting stored in the devMode within the Crystal report itself, or b) reset the colour setting to "print in colour". For this reason if the devMode in your Crystal report is set to print in colour, it's nearly impossible to print in grayscale (see additional Note 1 below). Crystal will use it's internal devMode colour setting in three instances:
  1. If your printing to a default printer and the Crystal report was designed with a default printer (note they can be totally different printer models)
  2. If the name of the printer your printing to is the same as the name of the printer the Crystal report was designed with
  3. If the "No Printer" setting is set in the Crystal report


Individual requirements will determine which way you need to go. For example, if you always want to print in grayscale (preview and export/email will still be in colour), design your report with a printer that has grayscale set, then tick the "No Printer" setting, and distribute like this.

Note 1: Discussions on this topic indicated that installing a Black and White printer driver could resolve the issue. If the grayscale is done at the drivers low level I can understand this, but I'm not sure where you would get such a driver. Certainly just changing the default Grayscale setting has no effect.

Note 2: There was mention that some advanced printers may not honour the devMode colour setting. In which case the above would not work.

Note 3: My testing was purely confined to the colour/grayscale setting, so I could not vouch for what happens with other printer settings.