私の要件は、クラウドベースのサービスを使用せずに Android デバイスからファイルを印刷することです。
「Raw」印刷プロトコルを使用して、つまりポート9100のプリンターの IP アドレスにファイルを送信するだけで、それを実現できました。そのためのコード スニペットを次に示します。
client = new Socket(ip,port); //Port is 9100
byte[] mybytearray = new byte[(int) file.length()]; //create a byte array to file
fileInputStream = new FileInputStream(file);
bufferedInputStream = new BufferedInputStream(fileInputStream);
bufferedInputStream.read(mybytearray, 0, mybytearray.length); //read the file
outputStream = client.getOutputStream();
outputStream.write(mybytearray, 0, mybytearray.length); //write file to the output stream byte by byte
outputStream.flush();
bufferedInputStream.close();
outputStream.close();
「Raw」印刷プロトコルの問題は、プリンターからステータスを取得する方法がないことです。
それで、私は最近、プリンターからステータスを取得できるIPPとLDRについて読みました。
Androidを使用してそれらを実装する方法を見つけようとしましたが、成功しませんでした。私はすでにこの回答を調べましたが、解決策を見つけることができませんでした。
AndroidでIPPまたはLDRを実装する方法について誰かが私を案内してくれると本当に助かります。
前もって感謝します!