打印简介

重要

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

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

Microsoft Windows 打印体系结构由打印后台处理程序和一组打印机驱动程序组成。 通过调用独立于设备的函数,应用程序可以创建打印作业并将其发送到许多设备。 这包括激光打印机、矢量绘图仪、光栅打印机和传真机。

打印机驱动程序包括呈现组件和配置组件。 呈现组件将图形命令从应用程序转换为打印机用于在页面上呈现图像的数据格式。 配置组件包含一个用户界面组件,使用户能够控制打印机的可选选项,以及一个将打印机的配置和功能传达给应用程序的程序接口。

当 Microsoft Win32 GDI 应用程序打印时,它会在 Win32 API 中调用 GDI 函数。 这些函数将信息传递给 GDI 图形引擎。 GDI 图形引擎将绘图指令作为增强的图元文件 (EMF) 文件进行后台处理,或者连同打印机驱动程序一起呈现可以发送到后台处理程序的可打印图像。 后台处理程序组件可解释 EMF 文件,并且可以在数据流中插入页面布局信息和作业控制指令。 然后,后台处理程序将数据流发送到与目标打印机的 I/O 端口关联的串行、并行或网络端口驱动程序。 此外,如果打印到 XPS 设备,GDI 打印命令将通过 GDI 到 XPS 转换组件进行转换,并且打印作业会向下发送 XPS 打印路径。

在 XPS 打印路径中,打印机驱动程序基于 XML 纸张规范 (XPS)。 当 Microsoft Win32 XPS 应用程序打印时,应用程序会在 XPS 打印 API 中调用 XPS 函数。 当打印到带有 XPSDrv 打印机驱动程序的队列时,后台处理程序会将 XPS 后台处理程序文件直接传递到设备进行呈现和输出。 当 XPS 文件打印到 GDI 设备时,它将通过 XPS 到 GDI 转换模块转换为 EMF 文件。 然后,它以类似于 Win32 GDI 应用程序的方式通过 GDI 打印路径发送。

Windows Presentation Foundation (WPF) 应用程序调用 WPF 打印支持函数,进而以 XPS 后台处理程序文件格式在后台处理程序中对 XPS 文档进行后台处理。 与从 Win32 XPS 应用程序打印时一样,当后台处理程序打印到使用 XPSDrv 打印机驱动程序的打印队列时,后台处理程序会将原始格式的后台处理文件传递到 XPSDrv 打印机驱动程序,以便呈现和输出到打印机。 当后台处理程序打印到具有基于 GDI 的版本 3 打印机驱动程序的打印机时,后台处理程序会将数据以 XPS 后台处理程序文件格式发送到 GDI 转换模块,以便转换为 EMF 文件。 然后,它将数据发送到基于 GDI 的打印机驱动程序进行打印。 有关这些数据路径的详细信息,请参阅 Windows 打印路径概述。 有关 XPS 的详细信息,请参阅 XML 纸张规范概述

后台处理程序和驱动程序组件可替换,因此硬件供应商可以轻松添加对新硬件的支持。 有关打印后台处理程序和驱动程序组件的详细信息,请参阅以下部分:

打印后台处理程序体系结构

打印机驱动程序体系结构

要为新打印机提供支持,通常只需要创建新的数据文件,以与 Microsoft 提供的打印机驱动程序之一一起使用。 有关 Microsoft 打印机驱动程序的详细信息,请参阅打印机驱动程序概述

可以自定义 Microsoft 通用打印机驱动程序和 Microsoft Postscript 打印机驱动程序的行为。 有关详细信息,请参阅自定义 Microsoft 的打印机驱动程序。 还可以自定义打印后台处理程序。 有关详细信息,请参阅自定义打印后台处理程序组件

其他部分涵盖以下主题:

终端服务器打印

USB 打印

蓝牙打印

打印机驱动程序测试和调试