我正在尝试使用我正在开发的Android程序将一些文件(pdf文件)发送到网络打印机,但是打印机正在打印随机字符,而不是实际的文档。通过使用不同的应用程序,我可以使用该应用程序所称的“通用打印机驱动器”打印到同一台打印机上。我找不到任何用于android的通用打印机驱动程序,所以我想知道这是否只是一个别名,还是我可以在Android上安装使用无线打印机的通用钻取器。
我用来将文件发送到打印机的代码是:
Socket socket = new Socket();
try {
socket.connect(new InetSocketAddress(IP, Port (9100)), 5000);
BufferedOutputStream bos;
bos = new BufferedOutputStream(socket.getOutputStream());
InputStream in = new FileInputStream(new File (fileName));
int c;
byte[] bytes = new byte[1024];
while ((c = in.read(bytes)) != -1) {
bos.write(bytes, 0, c);
}
bos.flush();
bos.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}谢谢!
发布于 2016-05-02 14:19:21
Android有自己的印刷框架,它可以从wards上的Android4.4 (API 19)中获得。
但是,如果要将文件直接发送到打印机,则需要将该文件转换为打印机理解的模拟。
PCL6, BR-Script 3, IBM Pro-Printer XL, Epson FX-850打印机支持的仿真将在打印机文档中提供。
您的通用打印机驱动器应用程序通过将PDF转换为图像来工作,然后将此图像转换为打印机支持的模拟,并将其作为字节发送到打印机。
发布于 2016-05-01 19:59:48
安卓有“打印驱动程序”,但只能通过自己的印刷框架,而不是你正在执行的那种直接打印机通信。
https://stackoverflow.com/questions/36971270
复制相似问题