android usb联接网络打印机,打印到USB或预先选择的网络打印机从嵌入式android

我的产品是使用嵌入式Android的工业测量仪器。仪器需要将结果打印到预先选定的网络打印机或USB打印机。仪器操作员不能担负标准的Android打印机界面,并且云打印不可接受。我认为这种情况在嵌入式Android产品(例如POS热敏打印机)中是相当普遍的打印到USB或预先选择的网络打印机从嵌入式android

我有代码可以在网络上找到可用的打印机并返回IP地址和端口号, ANSI文本到打印机。但是,Unicode字符不能正确打印。其他一些非ANSI字符也会打印(一些欧洲字母变体)。我相信这是因为默认的“符号集”。

我的期望是,我将使用PCL或IPP来控制打印机。所有以“@PCL”开头的文本都以纯文本形式打印。所有以ESC开头的文本都不会打印,但我没有理由相信这些命令正在处理中。

搜索'网页,我看到这个问题已被问了几次,但没有得到很好的回答。

我在想我的Socket/InputStream/BufferedReader的用法是否有问题。

有没有人设计过这种用法的解决方案?

final char ESC = 0x1b;

final String UEL = ESC + "%-12345X";

final String CRLF = "\r\n";

Socket socket = new Socket(printer.getIpAddr(), 9100);

InputStream inputStream = socket.getInputStream();

DataOutputStream oStream = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream()));

write(oStream, UEL + "@PJL" + "\r\n");

write(oStream, "@PJL COMMENT some comments" + CRLF);

write(oStream, "@PJL ECHO RRE" + CRLF);

write(oStream, UEL + "\r\n");

oStream.flush();

BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);

int count = bufferedInputStream.available();

本地“写”方法创建从Java字符串以UTF-8字节数组并写入字节到流中。请注意,对于这些字符,UTF-8是ANSI

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值