XPSDrv 呈现器模块

重要

新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。

有关详细信息,请参阅新式打印平台打印支持应用设计指南

XPSDrv 打印机驱动程序的呈现模块包含筛选器,这些筛选器用于呈现 XPS 后台处理程序文件内容,以便将其输出到打印机。 驱动程序的呈现筛选器集会在筛选器管道中进行实例化并运行。 筛选器管道管理器 (FPM) 负责管理筛选器,而筛选器间通信器 (IFC) 负责控制筛选器之间的交互。

下图显示了一个筛选器管道。

展示筛选器管道的示意图。

Microsoft 提供以下 XPS 驱动程序组件:

  • 筛选器管道管理器

  • 筛选器间通信器

  • 属性包

筛选器管道管理器必须:

  1. 加载和初始化筛选器。

  2. 管理筛选器之间的数据。

  3. 在完成打印作业后卸载筛选器。

筛选器间通信器用于管理筛选器之间的数据传输,而筛选器管道管理器则用于管理筛选器间通信器。

以下过程描述了管道中一组筛选器发生的状况:

  1. 筛选器管道管理器会读取筛选器管道配置 (FPC) 文件。

  2. FPC 指定的筛选器将被加载。

  3. 筛选器管道会进行初始化,而筛选器管道管理器会启动筛选器管道。

  4. 管道中的第一个筛选器通过筛选器管道管理器提供的 XPS 或流接口来读取 XPS 数据,然后筛选器会对内容进行处理。

  5. 第一个筛选器通过筛选器间通信器提供的接口,将处理过的 XPS 数据发送到第二个筛选器。

  6. 筛选器间通信器将维护中间处理结果,直到第二个筛选器准备就绪。

  7. 筛选器逐个重复步骤 1-6,直到最后一个筛选器的结果将被发送到驱动程序定义的输出端口。

如果打印机使用 XPS 作为页描述语言 (PDL),且不需要其他处理,则可以使用空的(“直通”)管道。 如果 XPS 不是打印机的 PDL,则需要编写一个筛选器,将 XPS 转换为打印机的 PDL,并进行其他处理。

要开发 XPS 驱动程序,则必须创建以下组件:

还可以在 XPSDrv 呈现模块中添加打印票证支持