Как печатать на CUPS (работает на другом компьютере в локальной сети)?
Как печатать с Android на CUPS (работает на другом компьютере в локальной сети)?
(CUPS (Common Unix Printing System / Server), конечно, уже настроен для приема запросов по локальной сети.)
Желательно, не полагаясь на проприетарное программное обеспечение.
Недавно я выпустил приложение для Android на основе (модифицированной) версии Cups4J . Связь через http / https . Главное, что я должен был / решил изменить из библиотеки java, — это зависимость от JAXB для обработки XML ( а. Я чувствовал, что он слишком тяжелый, б. В Android нет этой библиотеки javax и ее импорт, очевидно, требует переупаковки), полагаясь на некоторые жесткое кодирование.
Загрузите Android CUPS Printing в магазине Play или получите исходники на GitHub.
У меня есть USB-принтер, подключенный к машине с Windows, и мой сервер Linux видит это через SMB и публикует его через CUPS (обязательно «поделитесь . «.)
Для Android есть Let’s Print Droid — в комплекте с сервисом печати, так что все приложения видят его. Установка занимает около двух минут.
Теперь вы можете настроить CUPS для IPP везде . Затем он должен отображаться непосредственно в меню Android, Chromebook и, возможно, даже в принтерах iPhone. Другие ответы устарели для достаточно новых систем: требуется CUPS 1.5+ и Android 4.4+ или принтер IPP Everywhere . Для Apple AirPrint CUPS 2.2.2 требуется . Отладка функциональности может быть немного сложной, хотя.
Кажется, нет собственных клиентов Android CUPS, которые являются свободным программным обеспечением.
Единственный способ найти это довольно неуклюже — через установку Debian на устройстве Android — http://code.google.com/p/android/issues/detail?id=1148#c41 . Но использование установки Debian (или другого дистрибутива), такого как LilDebi (например), определенно потребует root (для того, чтобы выполнить chroot)! Это не удобно для тех, кто не хочет рутировать устройство (просто для возможности печати). (Кстати, не существует ли, кроме chroot, более современных альтернативных технологий изоляции, реализованных в Linux, для которых не требуется root? .. Возможно, LXC ?)
Другое приложение ( Remote CUPS ) требует SSH-доступа к серверу.
ObPrint, похоже , не с открытым исходным кодом.
Давайте напишем, что Droid также не является открытым исходным кодом.
Я думаю, вы можете попробовать приложение Shared Printer от pelya, доступное в магазине Play. Это установка чашек для Android. Я надеюсь, что это работает для вас.
Источник
Легкая печать с мобильных устройств или AirPrint без AirPrint
Как оказалась, далеко не все мои знакомые пользующие планшеты и смартфоны не первый год, не знают как сбросить на почту страницу из Safari, не говоря уж от том как её распечатать . Тоже самое можно сказать и про владельцев Android.
— этим значком мало кто пользуется.
Хочу поделиться с хабраобществом опытом расшаривания домашнего принтера для мобильных устройств. Кому интересно прошу подкат.
необходимо: Наличие установленных CUPS (google в помошь) и Avahi (тут и тут ) сервисов, ну и разумеется WiFi
IOS
- Расшариваем принтер, заходим «youserver:631/admin» устанавливаем флажок «Share printers connected to this system»
«
- Перезапускаем CUPS
- Открываем 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
если не установлен, устанавливаем
Далее создаем файл описания сервиса для Avahi:
Даем права на выполнение airprint-generate.py и запускаем
и повторно запускаем и перезапускаем Avahi
Все принтер готов для печати.
Пруф:
Источник
Cups print from android
v1.3 — october 2016
* full SSL compatibility
* support for HTTP Basic Auth
* bug fixes
v1.2 — august 29th 2015
* added a form to add by hand printers that don’t have mDNS enabled on the CUPS server
v1.1 — june 11th
* slimmed down the app size
* removed unused UI elements
This app provides a Print Service to Android. This means that once it’s
installed, you need to enable it in the ‘Print’ section of the settings app.
Once the service is enabled, printers are automatically discovered using the
mDNS protocol. You can print anything you want from any app, as long as the
print service is enabled.
Of course, printing document is an important matter. Because your documents are
your most private information, you don’t want anybody to have access to this
information. This is why this app is completely open sourced and free to use,
modify and redistribute.
Packages
Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it’s a less secure way to download. We recommend that you install the F-Droid client and use that.
This version requires Android 4.4 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
This version requires Android 4.4 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
This version requires Android 4.4 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
Источник
Cups print from android
Port of cups4j to Android.
Original work was created by Jon Freeman, it included an app that reacts to the SEND intent to print documents.
This app was modified in several ways:
- project structure converted to gradle format
- added support for Android PrintService so that it can print documents straight from almost all apps
- removed all legacy code that allowed printing without the use of Android PrintService (this is removed because of minSdkVersion=19 , meaning all targets of this app are PrintService -compliant)
- fixed SSL code to properly handle self-signed certificates (as it is likely the case with home printers)
- removed jars and added source code to be compatible with an f-droid.org publication
Print service works at the framework level:
See the Wiki for more information about how to use it.
As per the code, the following has been added:
- a service in the AndroidManifest.xml file that registers the app as a PrintService
- CupsPrinterDiscoverySession.java : handles printer discovery and printer management
- CupsService.java : handles Android framework connectivity and print jobs management
- removed all legacy code (pre API 19)
This app wasn’t widely tested, it needs your help for better quality. If you find bugs, either submit a new issue or fork/fix/submit PR.
Please use the develop branch for testing and troubleshooting.
Also, you can subscribe on the Play Store to receive beta versions of this app: https://play.google.com/apps/testing/io.github.benoitduffez.cupsprint
- The master branch is code published to Google Play.
- The jonbanjo branch is the app containing all the legacy code written by Jon Freeman
- The fdroid branch was created in an effort to be compatible with f-droid.org; however, this effort was merged into develop and is intended to be merged into master.
Original license information by Jon Freeman:
- A modified version of cups4j 0.63. The original source code and further details about cups4j may be found at http://www.cups4j.org/ (licensed under the LGPL license)
- JmDNS This is licensed under the Apache License
About
Port of cups4j to Android. Allows wireless printing from any Android device to any CUPS-enabled print server or network printer.
Источник
Cups print from android
v1.3 — october 2016
* full SSL compatibility
* support for HTTP Basic Auth
* bug fixes
v1.2 — august 29th 2015
* added a form to add by hand printers that don’t have mDNS enabled on the CUPS server
v1.1 — june 11th
* slimmed down the app size
* removed unused UI elements
This app provides a Print Service to Android. This means that once it’s
installed, you need to enable it in the ‘Print’ section of the settings app.
Once the service is enabled, printers are automatically discovered using the
mDNS protocol. You can print anything you want from any app, as long as the
print service is enabled.
Of course, printing document is an important matter. Because your documents are
your most private information, you don’t want anybody to have access to this
information. This is why this app is completely open sourced and free to use,
modify and redistribute.
Packages
Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it’s a less secure way to download. We recommend that you install the F-Droid client and use that.
This version requires Android 4.4 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
This version requires Android 4.4 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
This version requires Android 4.4 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
Источник