Общие сведения о библиотеке расширений принтера для приложений устройств UWP

В этой статье представлена библиотека расширений принтера, библиотека, которая помогает производителям устройств писать приложения устройств UWP для своего принтера. Библиотека расширений принтера включается в пример параметров печати и уведомлений о печати , а также пример управления заданиями и обслуживания принтера .

Overview

Высокоуровневая цель проектирования архитектуры драйвера принтера версии 4 — обеспечить встроенную поддержку пользовательского интерфейса приложения Microsoft Store. Чтобы предоставить доступ к принтеру, драйвер печати версии 4 предоставляет интерфейсы расширения принтера на основе COM.

Чтобы получить доступ к этим интерфейсам из приложения устройства UWP, можно использовать библиотеку расширений принтера, включенную в примеры принтера приложения устройства Microsoft Store. Библиотека расширений принтера упаковывает реализацию COM-интерфейса PrinterExtensionLibCOM. Это позволяет совместно использовать код между расширениями принтера и приложением устройства UWP.

Общие сведения о библиотеке расширений принтера.

PrinterExtensionLibrary

В проекте PrinterExtensionLibrary, который входит в примеры принтера, есть два файла C#. Эти файлы упаковывают содержимое PrinterExtensionLib. Но на этом уровне можно добавить дополнительные классы, чтобы обеспечить общий доступ к коду между расширениями принтера и приложениями устройств UWP.

  • PrinterExtensionTypes.cs задает множество полезных перечислений, констант и интерфейсов, которые упаковывают API-интерфейсы COM PrinterExtensionLib.

  • PrinterExtensionAdapters.cs указывает все конструируемые классы, используемые для упаковки API-интерфейсов COM PrinterExtensionLib.

Этот проект можно расширить с помощью всех необходимых файлов C#, описывающих общий код слоя модели, необходимый для создания расширения принтера и (или) приложения устройства UWP. Однако мы не рекомендуем обновлять существующие классы, так как эти обновления затрудняют включение исправлений ошибок, доступных через обновления для примеров кода.

DeviceAppForPrintersLibrary

Другой проект с именем DeviceAppForPrintersLibrary предоставляет вспомогательные классы и методы для приложений C#, которые можно использовать для доступа к принтерам из приложения устройства UWP.

PrinterExtensionHelperLibrary

Чтобы преобразовать интерфейсы C#, классы и методы в то, что поддерживается в JavaScript, этот проект создает файл WinMD. Файлы WinMD указывают API среды выполнения Windows. Кроме того, эту библиотеку можно использовать для предоставления удобных объектов, относящихся к приложениям устройств Microsoft Store, таким как анализ различных контекстов активации или создание всплывающего пользовательского интерфейса для уведомлений.

  • PrintHelperClass.cs включает пространства имен PrinterExtensionLibrary, чтобы предоставить их слоям JavaScript в приложении. Он также включает некоторые удобные методы для PrintTicket и Bidi.

  • PrinterNotificationHelper.cs демонстрирует отображение всплывающего пользовательского интерфейса для уведомлений.

Тип вывода для сборки PrinterExtensionHelperLibrary указывается на странице приложения окна свойств проекта.