技术开发 频道

Java 实现 POS 打印机无驱打印

  兼容多种类型打印机

  现在知道了使用爱普生指令的方法,所以只要有一本爱普生指令手册在手里,就可以用 Java 控制打印机进行无驱打印。但是现在问题是,同样是爱普生指令,不同的 pos 打印机可能不一样,就拿放大字体来说,pos58 打印机和 pos80 打印机指令就不尽相同。这时候怎么办呢?如何兼容多种类型打印机?

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

/* 横向放大一倍 */
socketWriter.write(0x1c);
socketWriter.write(0x21);
socketWriter.write(
4);
socketWriter.write(0x1b);
socketWriter.write(0x21);
socketWriter.write(
4);
/* 纵向放大一倍 */
socketWriter.write(0x1c);
socketWriter.write(0x21);
socketWriter.write(
8);
socketWriter.write(0x1b);
socketWriter.write(0x21);
socketWriter.write(
8);
/* 横向纵向都放大一倍 */
socketWriter.write(0x1c);
socketWriter.write(0x21);
socketWriter.write(
12);
socketWriter.write(0x1b);
socketWriter.write(0x21);
socketWriter.write(
12);

  看明白了吗?就是写两遍就行,因为如果 0x1b 指令若不存在,打印机自动将其抛弃。

0
相关文章