c++ - Windows 打印处理器可以强制假脱机数据类型吗

标签 c++ windows printing driver wdk

我正在使用 WDK 7.1 示例开发 Windows 打印处理器。我想记录正在打印的实际数据,并且希望它以一致的格式 (EMF) 而不是底层打印机的 RAW 格式来完成。将 EnumPrintProcessorDatatypes 修改为仅返回我想要的格式(即 EMF)会强制打印机的应用程序/GDI 层使用该类型,从而使我能够始终以相同的格式记录它吗?

最佳答案

这里重要的是:
1. 确保禁用直接打印
2.确保启用高级打印

如果驱动程序是基于 XPS 的,作业将通过 XPSPRINT 管道,并且永远不会被格式化为 EMF。

您可以在以下未记录的打印页面上找到有关何时使用 EMF 或 RAW 的更多信息: http://www.undocprint.org/winspool/spool_files#when_is_raw_used

关于c++ - Windows 打印处理器可以强制假脱机数据类型吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16932044/

相关文章:

css - CSS 中的分页符属性应该如何工作?

c++ - 错误 C2664 : cannot convert parameter 1 from 'int' to 'int (__cdecl *)(int)'

windows - cmdkey 删除名称上带有破折号和空格的凭据 "-"

windows - Haskell 中 System.Info "os"函数的可能值是多少?

windows - 有什么方法可以用 OllyDbg 调试 .COM 文件吗?

python - 为什么 print() 打印一个空元组而不是换行符?

c++ - 编译时得到错误: 'QtGui/QAction' file not found #include <QtGui/QAction>

c++ - constexpr 问题,为什么这两个不同的程序在 g++ 中运行的时间如此不同?

c++ - 如何从树列表拖放到 Windows 文件系统?

html - 当我打印我的页面时,IE 将白色文本颜色更改为灰色