UWP 设备应用的打印机扩展库概述

本主题介绍打印机扩展库,该库可帮助设备制造商为其打印机编写 UWP 设备应用。 打印机扩展库包含在打印设置和打印通知示例以及作业管理和打印机维护示例中。

概述

v4 打印机驱动程序体系结构的高级设计目标是为 Microsoft Store 应用用户界面提供内置支持。 为了提供对打印机的访问权限,v4 打印驱动程序公开基于 COM 的 打印机扩展接口

要从 UWP 设备应用访问这些接口,可以使用 Microsoft Store 设备应用打印机示例随附的打印机扩展库。 打印机扩展库包装 COM 接口 PrinterExtensionLib 的 COM 实现。 这样就可以在打印机扩展和 UWP 设备应用之间共享代码。

printer extension library overview.

PrinterExtensionLibrary

在打印机示例随附的 PrinterExtensionLibrary 项目中,有两个 C# 文件。 这些文件包装 PrinterExtensionLib 的内容。 但是,可以在此层添加其他类,以便在打印机扩展和 UWP 设备应用之间启用代码共享。

  • PrinterExtensionTypes.cs 指定许多有用的枚举、常量和接口,它们包装 COM PrinterExtensionLib API。

  • PrinterExtensionAdapters.cs 指定用于包装 COM PrinterExtensionLib API 的所有可构造类。

可以使用描述生成打印机扩展和/或 UWP 设备应用所需的常见模型层代码的任何必要 C# 文件来扩充此项目。 但是,我们不建议更新现有类,因为这会使通过示例更新提供的任何错误修复更加困难。

DeviceAppForPrintersLibrary

名为 DeviceAppForPrintersLibrary 的其他项目,为可用于从 UWP 设备应用访问打印机的 C# 应用提供帮助程序类和方法。

PrinterExtensionHelperLibrary

为了将 C# 接口、类和方法转换为 JavaScript 中支持的内容,此项目将创建 WinMD 文件。 WinMD 文件指定 Windows 运行时 API。 此外,此库还可用于公开特定于 Microsoft Store 设备应用的便利对象,例如分析不同的激活上下文或为通知创建 Toast UI。

  • PrintHelperClass.cs 包括 PrinterExtensionLibrary 命名空间,以便将其公开给应用中的 JavaScript 层。 它还包括 PrintTicket 和 Bidi 的一些便利方法。

  • PrinterNotificationHelper.cs 演示如何显示通知的 Toast UI。

PrinterExtensionHelperLibrary 程序集的“输出类型”是在项目属性窗口的“应用程序”页上指定的。

开发 v4 打印驱动程序

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

作业管理(v4 打印机驱动程序)

设备维护(v4 打印机驱动程序)

双向通信

UWP 应用入门

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

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