用程序打印时,我可以为每页指定不同的页面大小吗
Can I specify different page sizes for each page when printing programatically?
我正在将多个页面打印到虚拟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更新打印设备上下文。这能做到吗?
是的,用所需的页面大小更改您的DevMode并调用ResetDC(hPrinterDC,DevMode);
编辑:哦,在EndPage之后,但在StartPage之前这样做。
相关文章:
- 函数向量_指针有不同的原型,我可以构建一个吗
- 我可以使用 g++ 进行三种比较 (<=>) 吗?
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 我可以使用条件运算符初始化C风格的字符串文字吗
- 我可以避免通过time_t打印时间点吗
- 为什么我可以通过SubBase类的公共继承方法打印出基类的私人继承成员
- 了解文件输入和输出,我可以写入文件,但无法从文件打印
- 无论如何,我可以从WAV文件中打印Sox即可打印幅度值
- 我可以在 Xcode 的消息/警告中打印出预处理器值吗?
- 我可以使用我打印到控制台窗口的内容作为输入吗
- 为什么我可以打印动态分配的对象,但不能打印使用 cout <<在堆栈上创建的对象
- 我可以使用 printf() 打印类的对象吗?
- 我可以用cout而不是迭代器循环打印STL映射吗?
- 在c++中的字符串类数组中不打印任何内容,即使我可以访问单个元素
- 我不能打印我的书的名字,但可以打印其他所有的东西
- 用程序打印时,我可以为每页指定不同的页面大小吗
- typedef int -> 整数。我可以在 c++ 中执行 cout-> 打印吗?
- 为什么我可以打印空列表中的第一个元素
- 我可以把-0.000打印成0.000吗?
- 我可以使用什么Mac/iOS/便携式库来格式化信息以打印到标签纸上