XPrinter JavaPOS Driver
-	使用说明-

1. 简介
XPrinter JavaPos driver 兼容于JavaPOS 标准版本1.13进行开发.
支持XPrinter 的XP80相应产品

通讯接口支持: 
USB 
串口 
以太网

本软件包主要提供了JAVA POS 的POSPrinter类驱动支持,主要功能需要包含如下文件:


     jcl.jar
     jpos.xml
     jpos113-controls.jar
     xercesimpl.jar
     xml-apis.jar
     JposPrinterJavaPOS.jar

2. 操作环境
2.1 操作系统要求
本软件支持Linux x86 构架(X32/X64)操作系统. 
2.2 Java 环境要求
本软件包必须在JRE Ver 1.42或者更高的版本下运行, 推荐使用 JRE Ver1.5以上的版本.
如果你是开发者用户,请确保你的JDK环境已经配置完成.
至少包含如下应用:
Javac
Java
Javadoc
并能在命令行, 正常使用它们

3. JavaPOS 驱动设置
	驱动设计主要参数本目录下的“jpos.xml”文件
	注意：在Linux系列系统中串口通讯与USB通讯需要指定的权限，如下
		串口 ： root 或者 dialout
		USB  ： root 或者 lp
	      所以需要配置相应通讯接口时，请把当前用户加入相应的用户组。
		推荐使用：usermod -a -G dialout user
			 usermod -a -G lp user    
		重新启动系统后生效！
	3.1端口设置
参考软件包自带的jpos.xml文件:
串口:
<prop name="portName" type="String" value="/dev/ttySx" />    ------端口名:COMx
<prop name="portSettings" type="String" value="19200" /> ------波特率
本驱动串口波特率只支持如下:
9600, 19200, 38400, 115200
如非以上数值, 将无法正确的建立通讯
    <prop name="ioTimeoutMillis" type="Integer" value="5000" /> ---IO超时时间,  单位ms


USB:

    <prop name="portName" type="String" value="usb" />   ----端口名: 固定为usb  (注意, 小写)
    <prop name="portSettings" type="String" value="" />  ------无需设置
    <prop name="ioTimeoutMillis" type="Integer" value="5000" />--- IO超时时间,  单位ms


以太网:

    <prop name="portName" type="String" value="tcp:192.168.1.123" /> ---打印机IP地址
    <prop name="portSettings" type="String" value="" /> ------无需设置
<prop name="ioTimeoutMillis" type="Integer" value="5000" />  ------- IO超时时间,  单位

	3.2打印机字符特性设置
双字节设置:
<prop name="DBCS" type="String" value="GB2312" /> ---设置双字节字符编码
根据打印机所支持的语言可以支持以下几种值
SJIS  ------------------日文
GB2312  ----------------中文简体GB2312
GB18030  ---------------中文简体GB18030
Big5 -------------------中文繁体
EUC_KR -----------------韩文

4. 测试例程
主要参考本软件包内的 "JposPrinterReceiptTest.java"源码文件.并进行如下操作:
请确保以下文件在同一目录:
    	jcl.jar
    	jpos.xml
     	jpos113-controls.jar
    	xercesimpl.jar
     	xml-apis.jar
     	JposPrinterJavaPOS.jar
	JposPrinterReceiptTest.java
	<1. 先根据实际情况配置好 “jpos.xml”文件.
*配置好之后,可以使用命令:
java -jar JposPrinterJavaPOS.jar jpos.xml POSPrinter JposPrinter_XXXXX 3      
(XXXXX代表配置中的<JposEntry logicalName="JposPrinter_XXXXX">值)
例如: <JposEntry logicalName="JposPrinter_USB">
则命令为: java -jar JposPrinterJavaPOS.jar jpos.xml POSPrinter JposPrinter_USB 3     
如果所有配置都正常并打印机正常, 将打印出检测信息
	<2. 编辑 JposPrinterReceiptTest.java, 注意此处的文件路径必须正确的指定”jpos.xml”
	<3. 注意与”jpos.xml”文件中的描述一样.
	<4. 确认无误之后保存文件, 并确保你的JDK环境已经配置完好, 进行使用javac命令进行编译应用
编辑命令:(所有文件都在同一目录下)
javac -encoding utf-8 -classpath jpos113-controls.jar:jcl.jar JposPrinterReceiptTest.java
若没有出现任何编译错误, 将在目录下生成 JposPrinterReceiptTest.class文件
	<5. 执行测试应用 JposPrinterReceiptTest
java -classpath .:JposPrinterJavaPOS.jar:jpos113-controls.jar:jcl.jar:xercesimpl.jar:xml-apis.jar JposPrinterReceiptTest

5. JavaPOS 编程对象
本软件主要是基于JAVAPOS标准开发, 具体详细的JAVAPOS编程请参考JAVAPOS发行的编程参考手册. 具体请访问: http://www.javapos.com/
当使用PrintBarCode方法时, 只支持以下条码类型:
PTR_BCS_UPCA,  PTR_BCS_UPCE,  PTR_BCS_JAN8,  PTR_BCS_JAN13,  PTR_BCS_ITF,  
PTR_BCS_Codabar, PTR_BCS_Code39, PTR_BCS_Code93, PTR_BCS_Code128,  
PTR_BCS_QRCODE,---*1
PTR_BCS_PDF417 ----*2
*注意:
*1,*2 使用这两类型时, 尺寸设置参数将不起做用, 但必须设置为正常的打印范围内
	<1. 默认发送”text”时, 将使用默认参数进行生成QRCODE, 若要设置QRCODE的单元点大小与纠错等级, 请使用如下格式:   
十六进制      1b   N1   N2   “text”  
N1: 单元点大小
N2: 纠正等级
详细说明请参考打印机编程手册中QRCODE的相关说明
	<2. 默认发送”text”时, 将使用默认的参数进行生成PDF417, 若要设置PDF417的相关参数, 请使用如下格式
	     十六进制   1b  N1  N2  N3  N4  N5  N6  N7  “text”
     	      N1: 列数
	N2: 行数
	N3: 宽度
	N4: 行高
	N5: 纠正等级描述类型
	N6: 纠正等级数值
	N7: 设置/取消截断模式
	详细说明请参考打印机编程手册中PDF417的相关说明













