Новой особенностью последних iOS является возможность AirPrint! Для организации данного функционала необходимо иметь Linux и немного свободного времени, а также установленные следующие пакеты в вашей системе:
- avahi-daemon;
- cups.
Установим сервер avahi на вашу систему (если он не установлен):
sudo apt-get install avahi-daemon
Для конфигурации сервера avahi используем следующий python script (airprint-generate.py
)
python airprint-generate.py
Результат работы данного скрипта – файл AirPrint-HP-LaserJet-p2015.service, который нужно скопировать в /etc/avahi/services/
mv
AirPrint-HP-LaserJet-p2015.service
/etc/avahi/services/
AirPrint-HP-LaserJet-p2015.service
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">AirPrint HP-LaserJet-p2015 @ %h</name> <service> <type>_ipp._tcp</type> <subtype>_universal._sub._ipp._tcp</subtype> <port>631</port> <txt-record>txtvers=1</txt-record> <txt-record>qtotal=1</txt-record> <txt-record>Transparent=T</txt-record> <txt-record>URF=none</txt-record> <txt-record>rp=printers/HP-LaserJet-p2015</txt-record> <txt-record>note=HP LaserJet p2015</txt-record> <txt-record>product=(GPL Ghostscript)</txt-record> <txt-record>printer-state=3</txt-record> <txt-record>printer-type=0x2900c</txt-record> <txt-record>pdl=application/octet-stream,application/pdf,application/postscript,application/vnd.cups-raster,image/gif,image/jpeg,image/png,image/tiff,image/urf,text/html,text/plain,application/vnd.adobe-reader-postscript,application/vnd.cups-pdf</txt-record> </service> </service-group>
где:
- AirPrint HP-LaserJet-p2015 — это имя, под которым принтер будет виден в сети;
- rp=printers/HP-LaserJet-p2015 — это имя принтера в CUPS, можно сходить сюда и посмотреть имя.
Редактируем файл /etc/cups/cupsd.conf , добавляем стройки
ServerAlias * Listen 631 Browsing on BrowseOrder allow,deny BrowseAllow all BrowseLocalProtocols CUPS dnssd BrowseAddress @LOCA
Перезапускаем сервисы cups и avahi
/etc/init.d/avahi-daemon restart /etc/init.d/cups restart
Leave a Reply