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

Important

设备元数据已弃用,并将在 Windows 的将来版本中删除。 有关替代功能的信息,请参阅驱动程序包容器元数据

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

Overview

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

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

打印机扩展库概述。

PrinterExtensionLibrary

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

  • PrinterExtensionTypes.cs specifies many helpful enumerations, constants, and interfaces that wrap the COM PrinterExtensionLib APIs.

  • PrinterExtensionAdapters.cs specifies all of the constructible classes used to wrap the COM PrinterExtensionLib APIs.

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

DeviceAppForPrintersLibrary

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

PrinterExtensionHelperLibrary

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

  • PrintHelperClass.cs includes the PrinterExtensionLibrary namespaces in order to expose them to JavaScript layers in the app. 它还包括 PrintTicket 和 Bidi 的一些便利方法。

  • PrinterNotificationHelper.cs demonstrates how to show toast UI for notifications.

The Output type for the PrinterExtensionHelperLibrary assembly is specified on Application page of the project properties window.