Легкая печать с мобильных устройств или AirPrint без AirPrint



Как оказалась, далеко не все мои знакомые пользующие планшеты и смартфоны не первый год, не знают как сбросить на почту страницу из Safari, не говоря уж от том как её распечатать . Тоже самое можно сказать и про владельцев Android. — этим значком мало кто пользуется.
Хочу поделиться с хабраобществом опытом расшаривания домашнего принтера для мобильных устройств. Кому интересно прошу подкат.


необходимо: Наличие установленных CUPS (google в помошь) и Avahi (тут и тут ) сервисов, ну и разумеется WiFi

IOS
  • Расшариваем принтер, заходим «youserver:631/admin» устанавливаем флажок «Share printers connected to this system» "
  • Перезапускаем CUPS
    sudo /etc/init.d/cups restart
    
  • Открываем Safari или почту, нажимаем стрелку -> «Напечатать».

Бежим к принтеру смотреть что получилось.

Android
1 устанавливаем Lets Print Droid
2. В настройках добавляем принтер "+New Printer"->«Enter printer adress myself».
Вводим:
  • любое имя принтера: «Мой принтер»
  • Protocol: «PIP-IPP/CUPS»
  • IP Address: printer_ip_addres
  • Port: 631
  • Share : "/printers/Имя_шары" — пишем как принтер определяется в сети
  • Page Description Language: — тут все зависит от принтера подбирается опытным путем, у меня HP LJ 1018 «JPG — RAW Jpeg or PDF Image»


тестируем:
  • Заходим в браузер выбираем станицу для печати
  • заходим в меню выбираем «отправить в»
  • ищем Lets Print Droid
  • выбираем принтер
  • отправляем на печать.


Можно воспользоваться любым другим приложением у которого есть в меню «Отправить в» или значек

P.s. Для (не)счастливых обладателей IOS6 и выше.


C вводом новой версии IOS господа из Купертино сменили формат печати, с PDF перешли на URF.
Для возможности печати под IOS6 необходимо проделать следующее:
создать на сервере два следующих файла в директории /usr/share/cups/mime/,
1. airprint.types
#
# "$Id: $"
#
# AirPrint type 
image/urf urf string(0,UNIRAST<00>)
#
# End of "$Id: $".
#


2.airprint.convs
#
# "$Id: $"
#
# AirPrint
# Updated list with minimal set 25 Sept
image/urf application/pdf 100 pdftoraster
#
# End of "$Id: $".
#


Перезапускаем CUPS
 sudo /etc/init.d/cups restart

если не установлен, устанавливаем
apt-get cups-python


Далее создаем файл описания сервиса для Avahi:

wget https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py


Даем права на выполнение airprint-generate.py и запускаем
chmod +x airprint-generate.py
./airprint-generate.py

копируем полученное
mv AirPrint-PDF.service /etc/avahi/services/

и повторно запускаем и перезапускаем Avahi
./airprint-generate.py -d /etc/avahi/services
sudo service avahi-daemon restart


Все принтер готов для печати.
Пруф:
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 6

  • НЛО прилетело и опубликовало эту надпись здесь
      0
      Статья была размещена в песочнице около года назад, когда еще не было джейлбрейка под шестерку и была куча ляпов от Apple.
    • НЛО прилетело и опубликовало эту надпись здесь
        +5
        Хорошо, когда это работает. Я вот специально выбрал принтер из рекомендованных Эплом, подключил — всё работает!
        Через пару месяцев понадобилось что-то распечатать с айпада — айпад не увидел этот принтер. В эпловском стиле «it just works» там нет никаких настроек, нельзя ни указать ip-адрес принтера, ни запустить процесс поиска.
          0
          А если принтер подключается к локальной сети по wifi, то вероятность печати через airprint вообще стремится к 0
            0
            А если дома зоопарк, MS Win, IOS и Android?

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое