pr2打印机java 编程

    最近忙一个银行项目用到了pr2打印机,主要是打印一些银行业务单据。由于项目是SSI框架(struts+Spring+ibatis)因此需要用java来实现打印命令的组织。
    简单介绍下实现结构。后台java封装打印命令,包括一个打印命令基本元素封装类,一个打印语句组织类和一个打印命令调用类。前台用js实现操作串口,专递打印命令。
   打印机使用仿真OLIVETTI 命令集,打印命令都以ESC(十六进制值27的ascii码) 开头,打印主要工作为页面长度,行距,坐标等的定义。打印是将一张纸根据行距分成若干行,打印时定义好打印位置的行号和距页面左边界的字符个数来确定打印位置。行距的定义使用ESC &xx 定义,xx为两位数字,代表含义视打印机基本步距设置而不同,一般有两种基本步距 n/240或n/216 英寸。如果定义ESC &10 表示行距为10/240英寸,转换为毫米值为25.4*10/240mm。行距确定后需要确定打印位置,即打印内容的坐标值(ESC L x(3) H x(3)),这里较复杂些,两个步距打印同一行号坐标会打印在不同的实际位置。

 

    普通OLI头解释
这是我们一般打印时选择的OLI打印的头

           16进制表示 解释
ESC l   1B6CH   清除错误状态
ESC n  1B6EH   选择OLIVETTI对话进程
ESC .   1B2EH   赋予自动操作
ESC Q  1B51H   设定页面长度
参数1 = 32H 参数2 = 35H 参数3 = 34H
ESCZ  1B5AH   设定页面长度指令结束
ESC L  1B4CH   绝对垂直定位,定位到第几行,如下参数为001表示定位第一行
参数1 = 30H 参数2 = 30H 参数3 = 31H

在此之后就是打印的数据了

具体打印命令参考http://download.csdn.net/source/1521863

你可能感兴趣的:(pr2打印机java 编程)