打印简介

重要

建议使用 Microsoft 的 IPP 收件箱类驱动程序,以及 Print Support Apps (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 文件。 然后,它通过 GDI 打印路径以类似于 Win32 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 打印

蓝牙打印

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