POS打印机设置字体大小

1.EPON指令改变打印机字体大小   

在用Socket直接向POS打印机写入数据进行打印时,有时候需要设置字体的大小。默认情况下打印机的字体是比较小的,那么,我们可以通过EPSON指令改变打印机字体的大小.

String content = "数据测据测试一下字体的大小\n";
Socket client = new Socket(ip, port);
OutputStream os = client.getOutputStream();
//字体横向放大一倍
os.write(0x1c); 
os.write(0x21); 
os.write(4); 
os.write(content.getBytes("gbk"));
//字体纵向放大一倍
os.write(0x1c); 
os.write(0x21); 
os.write(8); 
os.write(content.getBytes("gbk"));
//字体横向纵向均放大一倍
os.write(0x1c); 
os.write(0x21); 
os.write(4); 
os.write(content.getBytes("gbk"));
os.flush();

 2.兼容多种类型POS打印机

由于POS打印机的类型不同,可能支持的EPSON指令也不同。就拿放大字体来说,pos58 打印机和 pos80 打印机指令就不尽相同,那么如何兼容多种打印机呢。

比如说,有的打印机并不是使用 0x1c 作为放大指令,而是使用 0x1b 作为放大指令,怎么办?容易。

/* 横向放大一倍 */ 
os.write(0x1c); 
os.write(0x21); 
os.write(4); 

os.write(0x1b); 
os.write(0x21); 
os.write(4); 

/* 纵向放大一倍 */ 
os.write(0x1c); 
os.write(0x21); 
os.write(8); 

os.write(0x1b); 
os.write(0x21); 
os.write(8); 

/* 横向纵向都放大一倍 */ 
os.write(0x1c); 
os.write(0x21); 
os.write(12); 

os.write(0x1b); 
os.write(0x21); 
os.write(12);

 3.打印符形码

os.write(0x1d); 
os.write(0x68); 
os.write(120); 
os.write(0x1d); 
os.write(0x48); 
os.write(0x01); 
os.write(0x1d); 
os.write(0x6B); 
os.write(0x02); 
os.write("091955826335".getBytes()); //条形码数字
os.write(0x00);
os.write("\n".getBytes());

 

文章参考:Java 实现 POS 打印机无驱打印

 

你可能感兴趣的:(socket,OS)