打印机的 UWP 设备应用

重要

从 Windows 11 SDK (22000.1) 开始,打印支持应用 (PSA) 是开发适用于打印机的 UWP 应用的建议方法。 有关将 PSA 与打印设备配合使用的详细信息,请参阅打印支持应用设计指南打印支持应用关联主题。

以下部分介绍支持 v4 打印驱动程序模型的打印机的 UWP 设备应用。 UWP 设备应用可以通过自定义打印设置浮出控件和通知支持来突出显示打印机的特殊功能。 UWP 设备应用还可以显示打印机状态、管理打印作业和执行打印机维护任务。 要了解有关 UWP 设备应用的一般详细信息,请参阅初识 UWP 设备应用

要使用以下主题中讨论的 UWP 设备应用功能,打印机必须支持 v4 打印驱动程序模型。 有关详细信息,请参阅开发 v4 打印驱动程序

本节内容

主题 说明
如何显示打印机状态 本主题使用 C# 版本的打印设置和打印通知示例来演示如何查询打印机状态并显示它。
如何自定义打印设置 本主题介绍高级打印设置浮出控件,并说明 C# 版本的打印设置和打印通知示例如何将默认浮出控件替换为自定义浮出控件。
处理打印通知 本主题介绍打印通知,并说明 C# 版本的打印设置和打印通知示例如何使用后台任务来响应打印通知。 后台任务演示如何在本地应用数据存储中保存通知详细信息、发送 Toast 以及更新磁贴和锁屏提醒。
如何管理打印作业 在 Windows 8.1 中,打印机的 UWP 设备应用可以管理打印作业。 本主题使用 C# 版本的打印作业管理和打印机维护示例来演示如何创建打印作业视图、监视这些作业以及在必要时取消作业。
如何执行打印机维护 在 Windows 8.1 中,UWP 设备应用可以执行打印机维护,例如对齐打印头和清洁喷头。 本主题使用 C# 版本的打印作业管理和打印机维护示例来演示如何使用双向通信 (Bidi) 来执行此类设备维护。
打印机扩展库概述 本主题介绍打印机扩展库,该库可帮助设备制造商为其打印机编写 UWP 设备应用。

适用于打印机的 UWP 设备应用的使用方案

如果要实现下列目的,可以将 UWP 设备应用程序用于打印机:

  • 突出显示高级设备功能,例如每页打印多张照片。

  • 提出特定于设备的建议。 例如,可以使用设备应用来显示图像管理选项,或提供设置和保存特定于打印机的默认设置的方法。

一般建议

  • 调用 window.print() 后,在应用“打印”按钮的 onClick 事件处理程序中检查并处理错误消息。 例如,你的应用可以在没有可用的打印机时中止打印请求。

  • 如果打印失败,请通知用户,并尽可能解释失败的原因。

  • 如果你计划自定义打印体验,请将此代码分离到打印配套应用中。 这样,就可以组件化代码并简化测试和调试过程。

  • 不要尝试将打印体验自定义为使用 V3 打印驱动程序。

  • 不要在自定义打印 UI 中为打印设备播发附件。

  • 不要显示与调用 Microsoft Store 设备应用的原因无关的待售商品。 例如,在用户单击提示墨水不足的通知后,显示可供购买的打印墨盒是相关的。 但是,在同样的情况下,还试图销售打印线或照片打印工具包就是不合适的。

  • 不要将用户重定向到你所在公司的网站,以便进行更多的产品销售。

  • 不要显示与设置打印首选项任务无关的信息。 例如,不要提供有关如何清理打印头或如何对齐和测试打印喷嘴的信息。

示例

打印机的 UWP 设备应用示例演示可在你自己的 UWP 设备应用中实现的打印机相关功能。 每个示例还包括 PrinterExtensionLibrary 项目,你可以在自己的应用中重复使用该项目,以帮助进行打印机扩展。 打印机扩展库包装了 v4 打印驱动程序打印机扩展接口的 COM 实现。

Windows 8 示例

  • 打印作业管理和打印机维护示例演示如何使用双向通信 (Bidi) 管理打印作业和执行打印机维护任务。

  • 打印设置和打印通知示例演示如何创建一个 UWP 设备应用,该应用为高级打印设置提供自定义浮出控件、可显示打印机状态,并且可以在磁贴或 Toast 中显示打印机通知。

Windows 10 示例

开发 v4 打印驱动程序

打印机扩展接口(v4 打印驱动程序)

双向通信

UWP 应用入门

创建 UWP 设备应用(分步指南)

为 UWP 设备应用创建设备元数据(分步指南)