【发布时间】:2012-02-01 16:08:59
【问题描述】:
我正在将多页打印到虚拟 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);
这允许我只选择一次页面大小。为了使每个页面具有不同的页面大小,我需要在每个新的 StartPage 之前以某种方式使用新的 DEVMODE 更新打印设备上下文。这个可以吗?
【问题讨论】: