Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Wifi打印机未打印页面_Android_Sockets_Printing_Wifi - Fatal编程技术网

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有什么解决方案吗?