打印机驱动程序体系结构

重要

建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) ,自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。

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

打印作业是由应用程序通过调用 Microsoft Win32 GDI 创建的,在 Windows Vista 中,Windows Presentation Foundation (WPF) 函数。 Win32 将后台打印应用程序数据用作 EMF 记录,供 EMF 打印处理器稍后播放,或者可以立即为每个文档页呈现可打印的图像。 WPF 函数将应用程序数据作为 XPS 后台处理程序文件。

在 Windows Vista 之前,应用程序使用 DEVMODEW 结构将打印机设置传达给打印机。 在 Windows Vista 中,打印票证和打印功能技术会传达打印机设置,以便打印机设置在打印机和应用程序中更加兼容。

图像呈现(无论是立即执行还是在打印处理期间)在打印驱动程序中执行:

  • 基于 GDI 的打印机驱动程序在从后台打印文件中播放 EMF 记录期间执行图像渲染,并由 GDI 呈现引擎控制。 在呈现操作期间,GDI 呈现引擎调用相应的 Windows 2000 及更高版本的打印机驱动程序以获取帮助。

  • XPSDrv 打印驱动程序 使用一系列处理筛选器来处理 XPS 后台打印文件内容以输出到打印机。

基于 Windows 2000 及更高版本的基于 GDI 的打印机驱动程序必须:

  • 通过提供 GDI 不支持的特定于打印机的绘图功能,协助 GDI 呈现打印作业。

  • 将呈现的图像的数据流发送到打印后台处理程序。

  • 为与打印机和打印文档关联的可修改配置参数提供用户界面,例如选择哪些输入和输出托盘、副本数、图像分辨率和方向等。

XPSDrv 打印机驱动程序的用户界面责任与基于 GDI 的驱动程序相同,还负责处理打印作业数据和将数据发送到打印机。 但是,XPSDrv 打印机驱动程序不需要使用 GDI 来呈现打印机的页面图像。

Windows 2000 及更高版本的打印机驱动程序由一组 打印机驱动程序组件 组成,这些组件将驱动程序的绘图和用户界面操作划分为单独的 DLL。 XPSDrv 打印机驱动程序还由将配置和绘图和呈现功能划分为单独对象的组件组成。

本部分旨在帮助你了解 Windows 2000 及更高版本操作系统支持的不同类型的打印机驱动程序,但你还应记住,操作系统附带以下三种打印机驱动程序:

Microsoft 通用打印机驱动程序

Microsoft PostScript 打印机驱动程序

Microsoft 绘图仪驱动程序

这三个驱动程序支持最终用户目前可以购买的大多数打印设备。 仅当打印设备与 Microsoft 提供的相应驱动程序不兼容时,才需要编写打印机驱动程序。 只需将 打印机数据文件 添加到 Microsoft 提供的驱动程序之一即可支持大多数新打印机。 可能需要新驱动程序的设备包括包含由专有命令序列控制的硬件绘图加速器的设备。

本部分包含以下主题,介绍 Windows 打印体系结构。

XPSDrv 打印机驱动程序

GDI 打印机驱动程序

打印票证和打印功能技术

编写 64 位打印机驱动程序