我的要求是在不使用任何基于云的服务的情况下从
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();
“原始”打印协议的问题在于无法从打印机返回状态.
因此,我最近阅读了有关IPP和LDR的信息,我们可以使用它从打印机获取状态.
我试图找到一种方法来使用android实现它们但没有成功.我已经经历了this answer但没有成功找到我的解决方案.
如果有人可以指导我如何在android中实现IPP或LDR,那将会非常有帮助.
提前致谢!
更多推荐
ipp协议 打印机 c语言,使用IPP(Internet打印协议)或LPR(行式打印机远程)在android中打印文件...
发布评论