GdiEndPageEMF 函数 (winppi.h)

GdiEndPageEMF 函数结束 EMF 格式打印作业的物理页面的 EMF 播放操作。

语法

BOOL GdiEndPageEMF(
  HANDLE SpoolFileHandle,
  DWORD  dwOptimization
);

参数

SpoolFileHandle

调用方提供的假脱机文件句柄,由先前调用 GdiGetSpoolFileHandle 获取。

dwOptimization

调用方提供的标志。 定义了以下标志:

EMF_PP_COLOR_OPTIMIZATION

启用颜色优化。 有关详细信息,请参阅“备注”。

返回值

如果操作成功,函数将返回 TRUE。 否则,函数返回 FALSE,并且可以通过调用 GetLastError 获取错误代码。

注解

GdiEndPageEMF 函数由 gdi32.dll 导出,以便在打印处理器的 PrintDocumentOnPrintProcessor 函数中使用。

GdiEndPageEMF 函数结束对物理页面的处理,并导致它从打印机中弹出。 打印处理器应在以下时间调用 GdiEndPageEMF

  • 在通过调用 GdiPlayPageEMF 将适当数量的文档页放置在物理页上之后。 请注意, GdiPlayPageEMF 实际上不会在设备上下文上打印,而是准备一个数据结构,用于描述 () 打印在物理页上的文本和图形。 调用 GdiEndPageEMF 时,文本和图形将打印到设备上下文。
  • 每当调用 GdiGetDevmodeForPage 指示文档页的 DEVMODEW 结构与上一页的 DEVMODE 结构不同时。
如果在 将 dwOptimization 参数设置为 EMF_PP_COLOR_OPTIMIZATION 的情况下调用此函数,则会启用颜色优化。 如果 dwOptimization 设置为 0,则不执行任何优化。 启用颜色优化后,后台打印文件中存在颜色会导致后台打印文件以颜色播放;后台打印文件中缺少颜色会导致后台打印文件以单色播放。

如果要创建 Unidrv 渲染插件来生成颜色水印,建议在黑白文档上打印颜色水印时,颜色优化会导致颜色水印以黑白方式打印。 若要确保颜色水印正确打印彩色和黑白文档,请禁用颜色优化。

也可以通过设置ATTRIBUTE_INFO_2ATTRIBUTE_INFO_3结构的 dwColorOptimization 成员来控制由 dwOptimization 参数控制的颜色优化。 此优化也可以由 Unidrv *ChangeColorModeOnDoc? 颜色属性控制 (请参阅 颜色属性) 。

有关其他信息,请参阅 在打印处理器中使用 GDI 函数

要求

要求
目标平台 通用
标头 winppi.h (包括 Winppi.h)
Library Gdi32.Lib
DLL Gdi32.dll

另请参阅

GdiPlayPageEMF

GdiStartPageEMF