android - 将android设备与打印机连接并打印文档

标签 android sockets printing android-wifi

我正在开发一个要集成打印功能的应用程序。是否可以从该应用程序将文件发送到打印机(对于任何公司或品牌),然后进行打印。

到目前为止,谷歌搜索并发现以下代码,但没有运气。

try {

        client = new Socket(ipAddress, port);

        // create a byte array to file
        byte[] mybytearray = new byte[(int) file.length()];

        fileInputStream = new FileInputStream(file);
        bufferedInputStream = new BufferedInputStream(fileInputStream);
        // read the file
        bufferedInputStream.read(mybytearray, 0, mybytearray.length);

        outputStream = client.getOutputStream();
        // write file to the output stream byte by byte
        outputStream.write(mybytearray, 0, mybytearray.length);
        outputStream.flush();
        bufferedInputStream.close();
        outputStream.close();
        client.close();

    } catch (UnknownHostException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

注意:我不想使用Google云打印。任何帮助将不胜感激。谢谢。

最佳答案

您可能可以使用lpdspooler http://lpdspooler.sourceforge.net/,即打印机是否支持LPR/LPD。如果您可以提供有关环境(打印机等)的更多详细信息。

关于android - 将android设备与打印机连接并打印文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20606316/

相关文章:

input - 打印从标准输入读取的字符串时如何忽略换行符?

css - Bootstrap 在打印聚焦输入元素时显示黑色矩形

android - 为什么我不能在 FacebookCallback 之外使用我的 ArrayList 变量

java - 按钮 BackgroundTint 不适用于 AppCompat v23

javascript - 将 Google map API 与 PhoneGap 结合使用

c - select() 仅返回正值一次

sockets - 使用 boost::asio async_read_some 的高 CPU 和内存消耗

java - 布局中 ImageView 上方的 TextView

c - 如何在 C 中设置 Don't Fragment (IP_DF) 标志

windows - 用于打印图片的命令行工具?