esc pos命令 java使用_18、ESC/POS指令集在android设备上使用实例(通过socket)

本文介绍了如何通过Android设备通过无线网络连接佳博58mm热敏打印机,实现餐厅小票的打印。作者分享了一个简单的Android app demo,涉及ESC/POS指令集的使用,包括初始化打印机、换行、加粗、对齐等基本操作,以及字节码的拼接和打印流程。
摘要由CSDN通过智能技术生成

网上关于通过android来操作打印机的例子太少了,为了方便更多的开发同仁,将近日所学分享一下。

我这边是通过android设备通过无线来对打印机(佳博58mm热敏式-58130iC)操作,实现餐厅小票的打印。写了一个简单的小demo,分享下。

前提:

1、android设备一个(coolPad8085N)

2、小票打印机(佳博 58mm热敏式打印机-58130IC)

这里将打印机IP设置为固定IP(这里略微复杂,是前辈设置过的,我没有具体操作,问了一下:打印机自检出的条子可以显示IP、通过自带或者官网的window管理软件设置)

3、无线路由器一个(从局域网口引出一根网线接到小票打印机网口)

4、android设备连接wifi到同一网络

(这样就保证了android和打印机在同一网络内,并且打印机的IP是固定的,开发人员是知道的,很变态)

流程:

1、android运行app,根据打印机的IP地址和端口号创建套接字socket,得到可写流outputStream

2、根据订单号,获取订单信息(demo是模拟的)

3、套入模板,打印小票

难点在于小票的排版的实现,我做了个工具库,如下:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 packagecom;2

3

4

5 public classprinterCmdUtils {6

7 public static final byte ESC = 27;//换码

8 public static final byte FS = 28;//文本分隔符

9 public static final byte GS = 29;//组分隔符

10 public static final byte DLE = 16;//数据连接换码

11 public static final byte EOT = 4;//传输结束

12 public static final byte ENQ = 5;//询问字符

13 public static final byte SP = 32;//空格

14 public static final byte HT = 9;//横向列表

15 public static final byte LF = 10;//打印并换行(水平定位)

16 public static final byte CR = 13;//归位键

17 public static final byte FF = 12;//走纸控制(打印并回到标准模式(在页模式下) )

18 public static final byte CAN = 24;//作废(页模式下取消打印数据 )19

20

21

22 //------------------------打印机初始化-----------------------------

23

24

25 /**

26 * 打印机初始化27 *@return

28 */

29 public static byte[] init_printer()30 {31 byte[] result = new byte[

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值