Моприя и ДНС-СД

С набором Advent of Android 4.4 Google теперь изначально поддерживает некоторую форму встроенных функций печати.

Это означает, что многие принтеры теперь поддерживают Mopria.

Как и Airprint на IOS, Mopria - это не что иное, как многоадресный DNS для обнаружения принтера и фактической печати IPP 2.0. Конечно, MDNS будет работать только тогда, когда телефон или планшет находятся в той же подсети, что и принтер.

Однако в Airprint мы можем создавать записи DNS-SD, которые указывают на принтеры, и, следовательно, иметь устройства IOS, перечисляющие устройства в разных подсетях.

Есть ли способ сделать это с помощью Mopria?

1 ответ

Чтобы объявить принтер для Android Mopria-Print-Service через Bonjour, используйте:

  • Тип службы Bonjour: _ipp._tcp
  • txt-record pdl: один или несколько из этих pdls
    • Изображение / ПРГ-растровый
    • Приложение /PCLM
    • применение / PDF
  • txt-запись ty: должна существовать, например CUPS
  • txt-record rp: соответствующий IPP-URI-путь (имя-чашки-принтера)

(Выродки кода могут заглянуть в исходный код Java mopria/wfds)

Подтверждение концепции:

использование dns-sd (Mac OS X) для рекламы удаленной службы печати (на расперри пи / кубки):

dns-sd -P "mopria" _ipp._tcp local 631 pi 192.168.2.118 \ rp=printers/colorlaser \ pdl=application/pdf \ ty=CUPS

Мое Android-устройство теперь может печатать PDF на моем CUPS-принтере, который подключен через USB к моему raspberry pi.

Выпуск 1:

Mopria-Discovery не может обрабатывать два или более принтеров на хост. С точки зрения "аппаратных принтеров" разумно предположить одну "очередь" на IP/ хост. В отношении спулеров печати, таких как CUPS, вы столкнетесь с серьезными проблемами.

Mac OS X: только один общий принтер может быть обнаружен и использован Mopria-Print-Service

Выпуск 2:

По какой-то причине я не могу использовать avahi для того, чтобы сделать cups-ipp-service видимым для Android Mopria-Print-Service.

Это должно, но не работает для меня:

<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name>mopria</name> <service> <type>_ipp._tcp</type> <port>631</port> <txt-record>txtvers=1</txt-record> <txt-record>qtotal=1</txt-record> <txt-record>rp=printers/colorlaser</txt-record> <txt-record>pdl=application/pdf</txt-record> <txt-record>ty=CUPS</txt-record> </service> </service-group>

Выпуск 3:

Mopria запутывается, когда слишком много респондентов mDNS. Для avahi-тестов вы должны отключить бесплатную рекламу CUPS.

Файл: /etc/cupsd.conf
Просмотр отключен
#BrowseOrder разрешить, запретить
#BrowseAllow all
#BrowseLocalProtocols CUPS dnssd

Другие вопросы по тегам