Windows V4 驱动程序 - 多个副本

标签 windows printing driver xps

我们正在为宽格式设备开发基于 Windows V4 光栅的驱动程序,该驱动程序不支持硬件中的多个副本。因此,如果用户选择多个副本,则必须由驱动程序执行此操作。

我尝试修改源 GPD 以禁用整理,我希望 Windows 打印管道可以根据需要多次执行该作业,但这似乎没有任何区别。

我在 Microsoft 网站上找不到太多相关信息,而且我不清楚我们是否需要在 XPS 管道中使用新的过滤器来根据需要多次重播打印作业,或者是否在某些情况下做得更好另一种方式。

如果有人对允许 XPS 驱动程序处理软件中的多个副本的最佳途径提出建议。

谢谢

乔恩

最佳答案

摆弄 GPD 不会取得多大成果 - 您可以启用或禁用功能,但这实际上不会添加对这些功能的支持 - 您仍然需要在管道中自己实现它们。

您将需要一个新的过滤器来执行作业中的副本。我建议创建一个基于部件的过滤器,在将部件发送到 IXpsDocumentConsumer 接口(interface)之前根据需要复制部件。需要记住的几点:

  1. 可以在打印单的任何级别(JobCopiesAllDocuments、DocumentCopiesAllPages 或 PageCopies)中指定份数。
  2. 因此,强大的过滤器需要在每个级别执行必要的复制。
  3. 只能发送一个 IFixedDocumentSequence,因此,如果 FixedDocumentSequence 票证指示必须通过 JobCopiesAllDocuments 条目进行复制,则您必须复制所有 IFixedDocuments,而不是 IFixedDocumentSequence 本身。

关于Windows V4 驱动程序 - 多个副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31749219/

相关文章:

c - 当内核需要创建 SKB 以通过网络设备接口(interface)发送时,内核如何知道要分配多少余量/余量?

c++ - 通过代码检查exe的性能

C++ Linux 到 Windows 交叉编译错误

javascript - 使用 window.print() 打印时不打印输入字段的文本

c# - 打印出功能隐藏的元素

macos - VirtualHere 如何在 macOS 上创建虚拟 USB 设备?

linux - 如何编译在 Linux Ubuntu 中使用的驱动程序/内核模块?

c++ - C/C++如何读取设备内存范围(BAR)?

windows - vbs 调用 Powershell 中的德语变音符号

JavaScript 验证,然后打印并提交