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 ?
How to use ipp(Internet Printing Protocol) with HTTP to print file in android?
Asked Answered
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.
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 chat –
Disjoint
Is it correct code ? java2s.com/Open-Source/Java-Document/Apache-Harmony-Java-SE/… –
Disjoint
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.
jspi is based on javax.print which is unsupported on android: #4419030 –
Cerberus
Using ipp-client-kotlin printing a file can be implemented like this:
IppPrinter("ipp://colorjet.local/ipp/printer")
.printJob(File("A4-blank.pdf"))
.waitForTermination()
© 2022 - 2024 — McMap. All rights reserved.