通用打印机驱动程序 - Android

时间:2016-05-01 19:57:34

标签: android printing driver wireless

我正在尝试使用我正在开发的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();
}

谢谢!

2 个答案:

答案 0 :(得分:1)

Android有自己的printing framework,可以从病房的Android 4.4(API级别19)获得。

但是,如果您想将文件直接发送到打印机,则需要将文件转换为打印机理解的模拟,如

PCL6, BR-Script 3, IBM Pro-Printer XL, Epson FX-850

您的打印机支持的仿真将在您的打印机文档中提供。

您的通用打印机驱动器应用程序的工作原理是将PDF转换为图像,然后将此图像转换为打印机支持的模拟,并将其作为字节发送到打印机。

答案 1 :(得分:0)

Android有“打印驱动程序”,但只能通过自己的printing framework,而不是您正在执行的直接打印机通信。