Wifi打印机没有打印android页面

时间:2013-07-02 05:57:16

标签: android sockets printing wifi

我使用了以下代码:

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();

套接字连接打开,输出流中写入数据的完整过程没有异常。但是打印机不会弹出页面。

请帮助我做错了。

2 个答案:

答案 0 :(得分: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嗅探器并尝试捕获打印完成后传递的最后一个字节数组。它将为您提供有关如何发送弹出命令的线索。这是我使用Epson L355上的端口9100

outputStream.write(mybytearray, 0, mybytearray.length); 
outputStream.write(EjectByteArray, 0, EjectByteArray.length); 
outputStream.flush();
outputStream.close();
client.close();

答案 1 :(得分:0)

添加\n行的结尾。这对我有用

String printText = "Finally its working \n";