pdfGetDeviceNBitmap

Get a bitmap for one DeviceN color channel.
int pdfGetDeviceNBitmap(PDFHandle pdf, int channelIdx, int rowPad, int upsideDown, PDFImageHeader *imgHdr, char **bits)
This function retrieves the bitmap for the specified channel generated by the last call to pdfConvertPageToDeviceNImage.

The bitmap will be an 8-bit grayscale bitmap, indicating the level of the specific colorant at each pixel. The bitmap is handled in the same way as for pdfConvertPageToBitmap2 in pdfImageGray mode:

The channel bitmaps returned by pdfGetDeviceNBitmap will all have the same width and height.
C:
int nChannels, i; char *channelName; unsigned int channelCMYK; PDFImageHeader hdr; char *bits; int err; err = pdfConvertPageToDeviceNImage(pdf, pageNum, dpi); if (err != pdfOk) { /* handle the error */ ... } nChannels = pdfGetNumDeviceNChannels(pdf); for (i = 0; i < nChannels; ++i) { channelName = pdfGetDeviceNChannelName(pdf, i); channelCMYK = pdfGetDeviceNChannelCMYK(pdf, i); printf("channel %d: %s = %08x\n", channelName, channelCMYK); pdfGetDeviceNBitmap(pdf, i, 1, 0, &hdr, &bits); /* hdr and bits represent a grayscale bitmap -- similar to pdfConvertPageToBitmap2 with pdfImageGray */ /* each channel has an 8-bit bitmap; the bitmaps for all channels will have the same width and height */ ... /* the bitmap memory must be freed when you are finished */ pdfFreeMemory(bits); } /* free the internal storage used by pdfConvertPageToDeviceNImage */ pdfClearDeviceNImage(pdf);
pdfConvertPageToDeviceNImage
pdfGetNumDeviceNChannels
pdfGetDeviceNChannelName
pdfGetDeviceNChannelCMYK
pdfClearDeviceNImage