3. 打印
進(jìn)行相關(guān)參數(shù)設(shè)置后(指定打印機(jī),設(shè)置模板,設(shè)置打印數(shù)據(jù)),將指令通過API傳給打印機(jī)。這里的模板是通過智高標(biāo)簽打印軟件設(shè)計(jì)器設(shè)計(jì)。
public void Print(String openid,String token,int itemid){
ConfigPrintSettings cfgData = GetPrintSettings(openid, token, itemid);
CCPrintingAPI.Excute(cfgData, new CCPrintingApiCallBack() {
@Override
public void OnFinished(int status, String[] arg0, String sessionid){
if (arg0 == null || arg0.length ==0 ) return;
if (status == 1) {
System.out.println( String.format("Print:%s", CCPrintingAPI.join(",", arg0) ) );
}else{
System.out.println( String.format("Print Fail: %s", arg0[0]));
}
}
});
}
private ConfigPrintSettings GetPrintSettings(String openid,String token,int itemid) {
String prtdata = "[" +
"{\"Field1\":\"CCPrintingAPI\", \"Field2\":\"Java 標(biāo)簽打印開發(fā)接口\", \"Field3\":\"9876543210128\"}," +
"{\"Field1\":\"CCPrintingAPI\", \"Field2\":\"Java 標(biāo)簽打印開發(fā)接口\", \"Field3\":\"9876543210129\"}" +
"]";
//指定打印機(jī)名稱
String selPrinter = "Deli DL-888C";
selPrinter ="Honeywell PC42t (203 dpi) - DP";
/*打印參數(shù)配置,打印數(shù)據(jù)設(shè)置*/
ConfigPrintSettings cfgData = new ConfigPrintSettings();
cfgData.XAction = "Print";
cfgData.XOpenId = openid;
cfgData.XTokens = token;
cfgData.ItemID = itemid;
/*指定打印機(jī)名稱,不使用默認(rèn)打印機(jī)時(shí),為空,則使用配置的打印機(jī)*/
cfgData.PrinterName = selPrinter;
/*0-打印*/
cfgData.Preview = 0;
/*模板方式,0-客戶端模板,1-遠(yuǎn)程模板,2-如果本地模板存在,使用本地,不存在使用遠(yuǎn)程模板,3-不使用模板*/
cfgData.TemplateMode = 1;
/*遠(yuǎn)程模板URL*/
cfgData.TemplateURL = "http://img.51321.cn/web/chicore/VPrinting/API";
//cfgData.TemplateURL = "E:\\臨時(shí)數(shù)據(jù)\\打印\\打印樣本\\智能制造";
cfgData.TemplateName = "984.Lblx";
/*打印數(shù)據(jù)的類型,0-數(shù)組,1-Json數(shù)組,元素為JSON對象,字段:值 , JSON.stringify(prtData)*/
cfgData.PrintDataType = 1;
/*打印數(shù)據(jù)*/
cfgData.PrintData = prtdata;
return cfgData;
}