Как использовать ipp(Internet Printing Protocol) с HTTP для печати файла в Android?
Я хочу распечатать файл из приложения Android. Для этого, после поиска в Google, я нашел некоторую полезную информацию, что мне придется использовать IPP (Internet Printing Protocol) с HTTP. И я новичок в ipp, но я работал с HTTP. Так может кто-нибудь помочь мне за то же самое? Кто-нибудь может дать мне немного полезной информации или ссылки? Заранее спасибо?
2 ответа
Вам нужно сделать запрос HTTP PUT с некоторыми специальными функциями, вы должны:
- используйте порт 631 вместо 80 (если, конечно, это не указано явно).
- переписать URL в заголовке (т.е.
ipp:// => http://
). - Идентификатор протокола
IPP/1.1
, - Вы должны пройти аутентификацию с помощью метода вызова.
OTOH, формат запроса / ответа, используемый в теле, является двоичным, так что вы действительно должны прочитать RFC. Кроме того, это довольно просто, все, что вам нужно, это URI задания и принтера, а затем вы просто отправляете правильно закодированные данные.
Вы можете посмотреть этот пример http://code.google.com/p/jspi/source/browse/trunk/jspi/src/main/java/de/lohndirekt/print/examples/SimpleDocExample.java. Это библиотека Java для IPP.
Используя ipp-client-kotlin, печать файла может быть реализована следующим образом:
IppPrinter(URI.create("ipp://colorjet.local/ipp/printer"))
.printJob(File("A4-blank.pdf"))
.waitForTermination()