Android Wifi打印机未打印页面
我使用了以下代码:Android Wifi打印机未打印页面,android,sockets,printing,wifi,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(mybyte
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();
套接字连接已打开,在输出流中完成写入数据的过程时无异常。但打印机无法弹出页面
请帮帮我,我做错了什么。我想你需要再发送一些数据,让它弹出,并让打印机知道 对于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};
您可能需要运行端口嗅探器,并尝试捕获打印完成后传递的最后一个字节数组。它将为您提供一条如何发送弹出命令的线索。这是一个使用Epson L355上的9100端口在我身上运行的程序
outputStream.write(mybytearray, 0, mybytearray.length);
outputStream.write(EjectByteArray, 0, EjectByteArray.length);
outputStream.flush();
outputStream.close();
client.close();
添加
\n
行尾。这是我的工作
String printText = "Finally its working \n";
你为什么认为这会奏效?您正在将原始文本写入打印机。我不认为他们中有任何人是这样工作的。他们通常使用类似PCL的语言。@Gabeschen此代码引用自,适用于.txt文件。他也写原始文本。我写了4年的打印机固件(虽然是10年前),没有一台我工作过的打印机会打印出发送给它的原始文本。它可能适用于某些型号,但我不希望它是通用的。@Gabeschen我使用的是佳能PIXMA MX430打印机。我必须在输出流上写一些特定于打印机的代码吗?@Parveen有什么解决方案吗?