Android通过wifi连接Intermec PB50打印机进行条码打印

前提:设置好打印机无线网络,通过浏览器能够正常访问打印机设置页面

  1. 访问打印机设置页面
    直接在浏览器输入打印机ip,我这里配置的是192.168.0.123,如果打印机无线网络未配置成功则访问不成功,一下是我的打印机设置页面
    这里写图片描述

  2. 设置打印语言
    切换到Configuration->Printer->Web Shell

    参考地址:https://support.honeywellaidc.com/s/article/How-to-select-a-Command-Language-on-Intermec-PB-series-LCD-portable-printers
    “Printer”>“Web Shell”
    这里写图片描述

    • 点击“CommandLanguage”下拉菜单并选择所需的命令语言
    • 点击此页面底部的按钮 - Submit setup
    • 继续在打印机Web管理控制台的“配置”选项卡上,转至“网络管理”>“TCP / IP”
    • 如果选择了“配置方法”(在页面顶部)尚不是“DHCP”,请记下网络设置,并从“配置方法”下拉列表中选择“DHCP”。
    • 如果“配置方法”已更改,请单击此页面底部的按钮 - 提交TCP / IP设置
    • 一旦Web管理控制台重新加载,重新启动打印机,进入“配置”选项卡>“Web Shell”,然后单击Reboot。
    • 打开打印机后等待30秒,打印机应该有足够的时间完全启动。命令语言 - 可能是“IPL”,“Fingerprint”或“Direct protocol” - 固件版本应显示在打印机的前面板显示屏上。

    此时打印机设置已经完成,接下来处理打印内容

  3. 使用条码打印软件打印rpn文件
  4. 编写Android代码
    • 使用Socket连接打印机
      String ip = "192.168.0.123";
        int port = 9100;
        try {
            Socket socket = new Socket(ip,port);
            if(socket.isConnected()){
                Log.d("MainActivity", "连接成功");
            }else{
                Log.d("MainActivity", "连接失败");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
- 将.rpn文件放入assets目录中,通过io读取出来byte[]
try {
    InputStream inputStream = null;
    try {
        inputStream = getResources().getAssets().open("test3.prn");
    } catch (IOException e) {
        e.printStackTrace();
    }
    byte[] buffer = new byte[1024];
    int len;
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    while ((len = inputStream.read(buffer)) > -1) {
        baos.write(buffer, 0, len);
    }
    baos.flush();
    baos.close();
} catch (IOException e) {
    Log.e("monty",e.toString());
    e.printStackTrace();
}
        ```
     - 使用Socket发送byte[]进行打印

try {
    if (outputStream == null) {
        Toast.makeText(mContext, "请先连接上打印机", Toast.LENGTH_SHORT).show();
        return;
    }
    outputStream.write(data, 0, data.length);
    outputStream.flush();
    outputStream.close();
} catch (IOException e) {
    Log.e("", "printText " + e);
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值