Я печатаю несколько страниц на виртуальном принтере PDF.Не все страницы имеют одинаковый размер бумаги.Вот схема моего кода:
DEVMODE DevMode;
InitDevMode(&DevMode);
SetThePageSize(&DevMode);
HDC hPrinterDC = CreateDC("WINSPOOL", "MyPrinter", NULL, &DevMode);
DOCINFO DocInfo;
memset( &DocInfo, 0, sizeof(DocInfo) );
DocInfo.cbSize = sizeof(DocInfo);
StartDoc(hPrinterDC, &DocInfo);
for (int i = 0; i < nPagesCount; i++)
{
StartPage(hPrinterDC);
DoTheDrawing();
EndPage(hPrinterDC);
}
EndDoc(hPrinterDC);
Это позволяет мне выбрать размер страницы только один раз.Чтобы иметь разные размеры страниц для каждой страницы, мне нужно каким-то образом обновлять контекст устройства печати с помощью нового DEVMODE перед каждым новым StartPage.Можно ли это сделать?