Web 标签打印 ChicoreDriver - APISampleJavascript js静默打印web 打印, js打印, js 打印, Javascript 打印, js 静默打印,js 不预览打印,浏览器打印,js标签打印,js单据打印,ChicoreDriverCCPrintingAPI for ChicoreDriver, Javascript 打印范例代码,js标签打印,条码,二维码标签,js单据打印,很容易集成。
CCPrintingAPI XI
轻量、简洁、稳定、可靠,打印机API接口(ChicoreDriver)。
打印机API接口 ChicoreDriver
Javascript
CCPrintingAPI for ChicoreDriver, Javascript API打印范例代码,浏览器Web前端打印,通过js 调用打印机接口API。

1. 引入 CCPrintingAPI.min.js
引入CCPrintingAPI.min.js后,即可使用API的相关方法,进行设置和打印操作。
<script src="../../js/CCPrintingAPI.min.js"></script>
2. 获取打印机
获取计算机上所有打印机, 打印时,指定该列表的打印机名称。如果能确保打印机名称不变,该操作也可省去。
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可能未安装或未启动";	
	},
	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]));					
					}
					/*设置上次使用的打印机*/					
					prts.options[0].selected = 'selected';
		                }
	         }
	}		
  );
}
3. 打印
进行相关参数设置后(指定打印机,设置模板,设置打印数据),将指令通过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-有间隙的标签,3-有标记的纸*/
                ccdriverPrinter.MediaSensing =  2;
               /*负片打印 0-否,2-是*/
                ccdriverPrinter.ReversePrint= 0;
               /*水平偏移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:\\临时数据\\打印\\打印样本\\API标签模板";
    /*模板文件名*/
    cfgPrintSettings.TemplateName = "183601-70X40.Lblx";
    /*打印数据的类型,0-数组,1-Json数组,元素为JSON对象,字段:值*/
    cfgPrintSettings.PrintDataType = 1;
    /*传递打印数据 Json数组*/ /*内容不允许 半角的逗号及半角的分隔符*/
    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);

    /*打印 发送给打印机进行打印*/
    CCPrintingAPI.Excute(cfgPrintSettings,
        function (XTimeout) { },
        function (XFail) {
            document.getElementById("tipsmessage").innerHTML = "API可能未安装或未启动";
        },
        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];
	     }
        }
    );
}