How to use ipp(Internet Printing Protocol) with HTTP to print file in android?
Asked Answered
D

3

6

I want to print file from android application.For the same , after searching on google,I found some useful information that i will have to use IPP (Internet Printing Protocol) with HTTP. And I am new to ipp but i have worked with HTTP. So can anybody help me for the same ? Can anybody give me some useful information OR links? Thanks in advance ?

Disjoint answered 20/12, 2011 at 4:40 Comment(0)
D
2

You need to make an HTTP PUT request with some special features, you must:

  • use the port 631 instead of 80 (unless it's explicitly specified of course).
  • rewrite the url in the header (i.e. ipp:// => http://).
  • protocol ID is IPP/1.1.
  • you must authenticate via a challenge method.

OTOH, the request/response format used in the body is binary, so you should really really read the RFC. Besides that, it's quite simple, all you need is job and printer URIs, and then you just send properly encoded data.

Decent answered 20/12, 2011 at 5:52 Comment(9)
Thanks for your reply ! Can you give me hint how to make request using header ipp:// in android as i only have ip address of printer ?Disjoint
that's all you need, ipp://ip:631 in the body and http://ip:631 in the HTTP header... just open a socket and start writing...Decent
Is there any link to get sample code to make above request ? Because I am not able to code to open socket in android.Can you please give me such information ?Disjoint
Is it correct code for me ?android10.org/index.php/forums/46-networking-a-database/…Disjoint
If you don't care about compatibility, using a CGI could be a good idea.Decent
You may want to take a look at the gnu.javax.print.IppPrintService class. It may or may not work on Android... I've had no chance to try it.Decent
gnu.javax.print.IppPrintService is not available in android.Is there any other way to do it ?Disjoint
let us continue this discussion in chatDisjoint
Is it correct code ? java2s.com/Open-Source/Java-Document/Apache-Harmony-Java-SE/…Disjoint
J
0

You can look at this sample http://code.google.com/p/jspi/source/browse/trunk/jspi/src/main/java/de/lohndirekt/print/examples/SimpleDocExample.java. It is a Java library for IPP.

Joist answered 16/5, 2013 at 18:31 Comment(1)
jspi is based on javax.print which is unsupported on android: #4419030Cerberus
C
0

Using ipp-client-kotlin printing a file can be implemented like this:

IppPrinter("ipp://colorjet.local/ipp/printer")
    .printJob(File("A4-blank.pdf"))
    .waitForTermination()
Cerberus answered 4/11, 2020 at 21:3 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.