Debenu Quick PDF Library uses the standard Windows DEVMODE structure for printing which is used by many other programs as well. Unfortunately the printer driver manufacturers don’t use the values specified in the DEVMODE structure and instead use custom undocumented values. This means that the SetupCustomPrinter function works for many drivers but not every driver.

The only way around this would be to set the printer defaults to Color in Windows and then write a little code to select the printer using Debenu Quick PDF Library, then copy DEVMODE with the GetPrinterDevModeToString() function and then save this string to a file.

When you need to print color with this printer then you need to create a CustomPrinter in your app and then load this save DEVMODE string using the SetPrinterDevModeFromString() function. This will update the printer driver with the settings for colour, duplex etc and then you can print coloured PDF’s with this particular printer.

There is no easy way around this. There are many articles on the internet describing this problem and some code for various languages.