addMPDeviceNChannel

Add a DeviceN color channel to the list to be rasterized (multi-pass DeviceN API).
addMPDeviceNChannel([in] BSTR channelName)
This function adds a DeviceN color channel to a multi-pass rasterization run. This also enables multi-pass rasterization.

No more than 28 custom color channels can be included in a single rasterization. The 4 CMYK channels will be present in all rasterizations; there is no need to call addMPDeviceNChannel for them.

C#:
// Print the list of all channels used on <page>. // This list may contain more than 32 channels. rast.loadMPDeviceNChannels(page); int nChannels = rast.getNumMPDeviceNChannels(); for (i = 0; i < nChannels; ++i) { string name = rast.getMPDeviceNChannelName(i); ... channel <i> = <name> ... } // All rasterizations include CMYK as the first four channels, and // the limit is 32 channels, which means we can rasterize 28 spot // channels per run. For the first run we write the CMYK bitmaps; // for subsequent runs we skip them (they'll be identical). int i = 4; do { // rasterize CMYK (channels 0..3) + spot channels i .. i+28 rast.resetMPDeviceNChannelList(); for (int j = i; j < i + 28 && j < nChannels; ++j) { rast.addMPDeviceNChannel(rast.getMPDeviceNChannelName(j)); } rast.convertPageToDeviceNImage(page, dpi); for (int j = (i == 4) ? 0 : 4; j < rast.getNumDeviceNChannels(pdf); ++j) { string channelName = rast.getDeviceNChannelName(pdf, j); stdole.IPicture pic = rast.getDeviceNPicture(j); ... use the bitmap for <channelName> ... } rast.clearDeviceNImage(pdf); i += 28; } while (i < nChannels);
loadMPDeviceNChannels
getNumMPDeviceNChannels
getMPDeviceNChannelName
resetMPDeviceNChannelList
convertPageToDeviceNImage
convertPageToDeviceNImageWithAlpha
convertRegionToDeviceNImage
convertRegionToDeviceNImageWithAlpha