Как использовать 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()
Другие вопросы по тегам