Получите принтер в режиме ESC / POS, который будет распознаваться драйвером / API принтера UWP POS - PullRequest
0 голосов
/ 06 сентября 2018

Мне нужно распечатать этикетки в приложении UWP. Он предназначен для работы в качестве киоска, ориентированного на клиента, что делает стандартные параметры печати UWP непривлекательными, поскольку они требуют, чтобы пользователь щелкал в диалоговом окне подтверждения печати Windows.

Автоматическая печать возможна только в режиме печати POS (Point Of Sale). Документация Microsoft перечисляет несколько принтеров только для чеков (не этикеток), которые были протестированы / проверены на совместимость, но могут работать другие принтеры в режиме ESC / POS.

Windows поддерживает сетевые и Bluetooth-чековые принтеры с использованием языка управления принтером Epson ESC / POS. Перечисленные ниже принтеры обнаруживаются автоматически с помощью API POSPrinter. Дополнительные принтеры чеков, которые обеспечивают эмуляцию ESC / POS, также могут работать, но их необходимо будет подключить, используя процесс сопряжения вне полосы.

У меня есть принтер этикеток Brother QL-810W, который я перевел в режим ESC с помощью программного обеспечения для настройки Brother и подключил через USB. К сожалению, в настоящее время он не обнаруживается приложением для печати POS из коллекции образцов и демонстрационных приложений Microsoft UWP.

В документации MS упоминается, что, возможно, требуется «внеполосное сопряжение», я бы предположил, что это ограничено настройкой bluetooth-принтеров. Однако ссылка, связанная с текстом, испортилась из-за того, что на перенаправляемой странице ничего не сказано о сопряжении.

1 Ответ

0 голосов
/ 13 сентября 2018

@ Дэн Нили,

Основная проблема, с которой вы сталкиваетесь, заключается в том, что принтер этикеток Brother QL-810W поддерживает ESC / P, а не ESC / POS. Это два языка управления принтером, разработанные Epson, но они не одинаковы. ESC / P используется для принтеров страниц, а ESC / POS используется для принтеров чеков. Кроме того, в документации, которую вы цитируете, говорится, что наша реализация ESC / POS поддерживает сетевые и Bluetooth-подключенные принтеры без упоминания о USB-соединениях. Внешнее сопряжение, которое представляет собой просто созданную вручную строку соединителя, не поможет в этой ситуации из-за двух проблем, отмеченных выше.

Единственный способ взаимодействия с принтером, подключенным через USB, через Windows.Devices.PointOfService во время этого ответа - через нашу реализацию OPOS Bridge, которая требует установки OPOS и сервисного объекта OPOS от поставщика оборудования. Если OPOS находится в рабочем состоянии, мы попытаемся установить связь с общими элементами управления OPOS, однако Brother сегодня не предлагает объект обслуживания OPOS для этого принтера.

В будущем мы надеемся обеспечить поддержку дополнительных языков управления принтером и современных интерфейсов драйверов, которым не требуется OPOS для доступа к локально подключенному принтеру.

Пожалуйста, используйте тег PointOfService при обращении к реализациям, использующим пространство имен API Windows.Devices.PointofService, чтобы в будущем нам было легче находить вопросы по этой теме.

Терри Уорик, Microsoft

...