2

私は次のコードを使用しています:

Socket client = new Socket(etIp.getText().toString(), 515);

String printText = "This is a print test from Wifi";
byte[] mybytearray = printText.getBytes(); 


OutputStream outputStream = client.getOutputStream();

outputStream.write(mybytearray, 0, mybytearray.length); //write file to the output stream byte by byte
outputStream.flush();
outputStream.close();
client.close();

ソケット接続が開かれ、出力ストリームにデータを書き込むプロセスが完了しましたが、例外はありませんでした。しかし、プリンターはページを排出しません。

私が間違ったことを助けてください。

4

2 に答える 2

0

排出してプリンターに知らせるには、さらにいくつかのデータを送信する必要があると思います。

Epson L355 の場合、文字列の末尾にバイト配列を追加しています。

byte[] EjectByteArray = {0X00, 0X0D, 0X0C, 0X1B, 0X40, 0X1B, 0X28, 0X52, 0X08, 0X00, 0X00, 0X52, 0X45, 0X4D, 0X4F, 0X54, 0X45, 0X31, 0X4C, 0X44, 0X00, 0X00, 0X1B, 0X00, 0X00, 0X00, 0X1B, 0X40, 0X1B, 0X28, 0X52, 0X08, 0X00, 0X00, 0X52, 0X45, 0X4D, 0X4F, 0X54, 0X45, 0X31, 0X4C, 0X44, 0X00, 0X00, 0X4A, 0X45, 0X01, 0X00, 0X00, 0X1B, 0X00, 0X00, 0X00};

Port sniffer を実行して、印刷が終了した後に渡された最後のバイト配列をキャプチャする必要がある場合があります。イジェクトコマンドを送信する方法についての手がかりが得られます。これは、Epson L355 でポート 9100 を使用して動作するものです。

outputStream.write(mybytearray, 0, mybytearray.length); 
outputStream.write(EjectByteArray, 0, EjectByteArray.length); 
outputStream.flush();
outputStream.close();
client.close();
于 2015-03-17T13:53:26.973 に答える
0

\n行末を追加します。これは私にとってはうまくいきます

String printText = "Finally its working \n";
于 2015-12-11T08:18:32.247 に答える