Get a paper size ID (Unicode).
unsigned int pdfGetPaperIDW(wchar_t *printerName, int paperIdx)
This function returns the ID for the paperIdxth available paper size, on the specified printer.

paperIdx must be between 0 and n-1, where n is the value returned by pdfGetNumPapersW.

The returned value can be passed to pdfPrintSetPaper.

Note: pdfGetNumPapersW, pdfGetPaperNameW, pdfGetPaperIDW, and pdfGetPaperSizeW are just simple wrappers around Windows functions. There is no requirement to use these functions if you already know the paper ID that you want to use (e.g., from calling DeviceCapabilities with the DC_PAPERS argument).

wchar_t paperName[256]; int nPapers, paperID, w, h, i; nPapers = pdfGetNumPapersW(printerName); for (i = 0; i < nPapers; ++i) { pdfGetPaperNameW(printerName, i, paperName, sizeof(paperName) / sizeof(wchar_t)); paperID = pdfGetPaperIDW(printerName, i); pdfGetPaperSizeW(printerName, i, &w, &h); printf("paper %d: id=%d name=%ls size=%.1fx%.1fmm\n", i, paperID, paperName, 0.1 * w, 0.1 * h); }