XPSDrv 呈现器模块
重要
新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。
有关详细信息,请参阅新式打印平台和打印支持应用设计指南。
XPSDrv 打印机驱动程序的呈现模块包含筛选器,这些筛选器用于呈现 XPS 后台处理程序文件内容,以便将其输出到打印机。 驱动程序的呈现筛选器集会在筛选器管道中进行实例化并运行。 筛选器管道管理器 (FPM) 负责管理筛选器,而筛选器间通信器 (IFC) 负责控制筛选器之间的交互。
下图显示了一个筛选器管道。
Microsoft 提供以下 XPS 驱动程序组件:
筛选器管道管理器
筛选器间通信器
属性包
筛选器管道管理器必须:
加载和初始化筛选器。
管理筛选器之间的数据。
在完成打印作业后卸载筛选器。
筛选器间通信器用于管理筛选器之间的数据传输,而筛选器管道管理器则用于管理筛选器间通信器。
以下过程描述了管道中一组筛选器发生的状况:
筛选器管道管理器会读取筛选器管道配置 (FPC) 文件。
FPC 指定的筛选器将被加载。
筛选器管道会进行初始化,而筛选器管道管理器会启动筛选器管道。
管道中的第一个筛选器通过筛选器管道管理器提供的 XPS 或流接口来读取 XPS 数据,然后筛选器会对内容进行处理。
第一个筛选器通过筛选器间通信器提供的接口,将处理过的 XPS 数据发送到第二个筛选器。
筛选器间通信器将维护中间处理结果,直到第二个筛选器准备就绪。
筛选器逐个重复步骤 1-6,直到最后一个筛选器的结果将被发送到驱动程序定义的输出端口。
如果打印机使用 XPS 作为页描述语言 (PDL),且不需要其他处理,则可以使用空的(“直通”)管道。 如果 XPS 不是打印机的 PDL,则需要编写一个筛选器,将 XPS 转换为打印机的 PDL,并进行其他处理。
要开发 XPS 驱动程序,则必须创建以下组件: