Web 标簽打印 ChicoreDriver - APISampleJavascript js靜默打印,,web 打印, js打印, js 打印, Javascript 打印, js 靜默打印,js 不預覽打印,浏覽器(qì)打印,js标簽打印,js單據打印,ChicoreDriver ,CCPrintingAPI for ChicoreDriver, Javascript 打印範例代碼,js标簽打印,條碼,二維碼标簽,js單據打印,很(hěn)容易集成。
CCPrintingAPI XI
輕量、簡潔、穩定、可(kě)靠,打印機API接口(ChicoreDriver)。
打印機API接口 ChicoreDriver
Javascript
CCPrintingAPI for ChicoreDriver, Javascript API打印範例代碼,浏覽器(qì)Web前端打印,通(tōng)過js 調用打印機接口API。

1. 引入 CCPrintingAPI.min.js
引入CCPrintingAPI.min.js後,即可(kě)使用API的相關方法,進行(xíng)設置和(hé)打印操作(zuò)。
<script src="static/js/CCPrintingAPI.min.js"></script>
2. 獲取打印機
獲取計(jì)算(suàn)機上(shàng)所有(yǒu)打印機, 打印時(shí),指定該列表的打印機名稱。如果能确保打印機名稱不變,該操作(zuò)也可(kě)省去。
function GetPrinters(){
   var cfgData = new Object;
   cfgData .XAction = "Printers";

   //cfgData .XOpenId = m_OpenId;	
   //cfgData .XTokens = m_Tokens;	

   CCPrintingAPI.Excute(cfgData ,
	function(XTimeout){  },
	function(XFail){
		document.getElementById("tipsmessage").innerHTML =  "API可(kě)能未安裝或未啓動";	
	},
	function(XSuccess){
		var apiResult = JSON.parse(XSuccess.trim());
		if(apiResult.Status=="1"){ 
				/*獲取到打印機列表*/
				var prts =  document.getElementById("Printers");
				prts.length = 0;
				if(apiResult.Message.length  > 1  ){
					for(var i = 1 ;i <  apiResult.Message.length;i++){
						prts.options.add(new Option(apiResult.Message[i],apiResult.Message[i]));					
					}
					/*設置上(shàng)次使用的打印機*/					
					prts.options[0].selected = 'selected';
		                }
	         }
	}		
  );
}
3. 打印
進行(xíng)相關參數(shù)設置後(指定打印機,設置模闆,設置打印數(shù)據),将指令通(tōng)過API傳給打印機。
function Print() {
    var prts = document.getElementById("Printers");
    var selPrinter = prts.options[prts.selectedIndex].text;

     var cfgPrintSettings = new Object;
     cfgPrintSettings.XAction = "Print"

     //cfgPrintSettings.XOpenId = m_OpenId;	
     //cfgPrintSettings.XTokens = m_Tokens;	

                var ccdriverPrinter = new Object;
               /*免驅打印機名稱ChicoreDriver-USB-*/
                ccdriverPrinter.Name = selPrinter ;
                ccdriverPrinter.InterfaceType = 0;
               /*打印速度 2,3,4*/
                ccdriverPrinter.Speed = 3;
               /*打印方向 0-0°,1-90°,2-180°,3-270°*/
                ccdriverPrinter.Direction = 0;
               /*打印濃度0~30*/
                ccdriverPrinter.Density = 15;
               /*打印方式 0-熱轉印,1-熱敏*/
                ccdriverPrinter.MediaType = 1;
               /*介質類型 0-連續紙,2-有(yǒu)間(jiān)隙的标簽,3-有(yǒu)标記的紙*/
                ccdriverPrinter.MediaSensing =  2;
               /*負片打印 0-否,2-是*/
                ccdriverPrinter.ReversePrint= 0;
               /*水(shuǐ)平偏移mm*/
                ccdriverPrinter.StartX= 0;
               /*垂直偏移mm*/
                ccdriverPrinter.StartY= 0;

    if(selPrinter.startsWith("ChicoreDriver") )
       selPrinter  = JSON.stringify(ccdriverPrinter);

    /*指定打印機*/
   cfgPrintSettings.PrinterName = selPrinter  ;

    /*模闆方式,0-客戶端模闆,1-遠程模闆,
                2-如果本地模闆存在,使用本地,不存在使用遠程模闆,3-不使用模闆*/
    cfgPrintSettings.TemplateMode = "1";
    /*遠程模闆URL或本地模闆的文件夾*/
    cfgPrintSettings.TemplateURL = "http://img.51321.cn/web/chicore/VPrinting/API";
    //cfgPrintSettings.TemplateURL =  "E:\\臨時(shí)數(shù)據\\打印\\打印樣本\\API标簽模闆";
    /*模闆文件名*/
    cfgPrintSettings.TemplateName = "183601-70X40.Lblx";
    /*打印數(shù)據的類型,0-數(shù)組,1-Json數(shù)組,元素為(wèi)JSON對象,字段:值*/
    cfgPrintSettings.PrintDataType = 1;
    /*傳遞打印數(shù)據 Json數(shù)組*/ /*內(nèi)容不允許 半角的逗号及半角的分隔符*/
    var arr = [
        { sku: 'OBJ100001', name: '測試1', kw: 'D12-1', bh: 'RKD123451' },
        { sku: 'OBJ100002', name: '測試2', kw: 'D12-2', bh: 'RKD123452' },
        { sku: 'OBJ100003', name: '測試3', kw: 'D12-3', bh: 'RKD123453' },
    ];
    cfgPrintSettings.PrintData = JSON.stringify(arr);

    /*打印 發送給打印機進行(xíng)打印*/
    CCPrintingAPI.Excute(cfgPrintSettings,
        function (XTimeout) { },
        function (XFail) {
            document.getElementById("tipsmessage").innerHTML = "API可(kě)能未安裝或未啓動";
        },
        function (XSuccess) {
            var apiResult = JSON.parse(XSuccess.trim());
            if (apiResult.Status == "1") {
                var smsg = apiResult.Message[0]; 
                if(apiResult.Message.length > 1)
                       smsg  += " : " + apiResult.Message[1]
                document.getElementById("tipsmessage").innerHTML = smsg;
            }else{
			  if (apiResult.Message.length > 1)
					  document.getElementById("tipsmessage").innerHTML = apiResult.Message[0] +  " :  " + apiResult.Message[1];
			   else
					  document.getElementById("tipsmessage").innerHTML = apiResult.Message[0];
	     }
        }
    );
}