|
|
var LODOP = getCLodop();
//初始化
function initPrintSetting(clodoplisence) { try{ var LODOP= getCLodop(); if (LODOP.VERSION) { if (LODOP.CVERSION){ //alert("当前有WEB打印服务C-Lodop可用!\n C-Lodop版本:"+LODOP.CVERSION+"(内含Lodop"+LODOP.VERSION+")");
//如果没有问题打印的信息
//LODOP.SET_LICENSES("","646464550585055535859561289003","688858710010010811411756128900","");
LODOP.SET_LICENSES("",clodoplisence,"",""); //判断当前打印模式
/* if(printerData.seq >= 0){ LODOP.SET_PRINTER_INDEXA(printerData.printName); LODOP.PRINT(); }else if(printerData.seq === -1){ LODOP.PREVIEW(); }else if(printerData.seq === -2){ LODOP.PRINT_DESIGN(); }*/ }else { alert("本机已成功安装了Lodop控件!\n 版本号:"+LODOP.VERSION); } }; }catch(err){ } };
//批量打印标签的方法
function printRollLabel(printRow, printerData){ // 初始化 LODOP 对象
initPrintSetting(printerData.clodoplisence); //初始化打印机
LODOP.NewPage(); LODOP.SET_PRINT_PAGESIZE(0,770,770,""); //打印二维码内容
LODOP.ADD_PRINT_BARCODE(10,23,75,75,"QRCode", printRow.qrtext); LODOP.SET_PRINT_STYLE("FontSize",18); LODOP.ADD_PRINT_TEXT(80,26,300,20,row.qrtext); //判断是否存在
let partType = printRow.partType; if(partType && partType != ''){ LODOP.ADD_PRINT_TEXT(45,150,120,75, partType); LODOP.SET_PRINT_STYLE("FontSize",14); } LODOP.ADD_PRINT_TEXT(100,26,300,20,"SO No:"+printRow.orderNo); LODOP.ADD_PRINT_TEXT(120,26,300,20,"Part No:"+printRow.partNo); LODOP.ADD_PRINT_TEXT(140,26,300,20,"APN:"+printRow.apn); LODOP.ADD_PRINT_TEXT(160,26,300,20,"qty:"+printRow.qty); LODOP.ADD_PRINT_TEXT(180,26,300,20,"Operator:"+printRow.username); LODOP.ADD_PRINT_TEXT(200,26,300,20,"Create Date:"+printRow.createdDate); //判断是否存在排位
let col = printRow.col; if(col){ LODOP.ADD_PRINT_TEXT(220,26,300,20,"排位:"+col); } let rewind = printRow.rewind; if(rewind){ LODOP.ADD_PRINT_TEXT(232,164,123,41,rewind); LODOP.SET_PRINT_STYLEA(0,"FontSize",21); LODOP.SET_PRINT_STYLEA(0,"Bold",1); } //判断当前打印模式
if(printerData.seq >= 0){ LODOP.SET_PRINTER_INDEXA(printerData.printName); LODOP.PRINT(); }else if(printerData.seq === -1){ LODOP.PREVIEW(); }else if(printerData.seq === -2){ LODOP.PRINT_DESIGN(); } }
//生成二维码
function generateDataMatrixImage(serialNo, width, height) { const canvas = document.createElement('canvas'); canvas.width = width; canvas.height = height; const ctx = canvas.getContext('2d'); // 白色背景
ctx.fillStyle = 'white'; ctx.fillRect(0, 0, width, height); // 生成DataMatrix码
const codeCanvas = document.createElement('canvas'); try { bwipjs.toCanvas(codeCanvas, { bcid: 'datamatrix', // 条码类型:DataMatrix
text: serialNo, // 要编码的文本
scale: 35, // 缩放因子
height: 9, // 条码高度
includetext: false, // 不在条码中包含文本
backgroundcolor: 'ffffff', // 白色背景
barcolor: '000000' // 黑色条码
}); // 将条码绘制到主canvas上方(占用约2/3高度)
const codeSize = Math.min(width * 0.95, height * 0.65); const codeX = (width - codeSize) / 2; // 水平居中
const codeY = height * 0.05; // 顶部留5%空白
ctx.drawImage(codeCanvas, codeX, codeY, codeSize, codeSize); } catch (e) { console.error('生成DataMatrix失败:', e); } // 返回图片的base64数据
return canvas.toDataURL('image/png');}
//打印A类型标签
function printPageA(serialNo, dmCode){ //初始化打印机
LODOP.NewPage(); LODOP.SET_PRINT_PAGESIZE(0,150,150,""); LODOP.ADD_PRINT_IMAGE(5, 10, 46, 46, dmCode); LODOP.SET_PRINT_STYLEA(0, "Stretch", 2);}
//打印B类型标签
function printPageB(serialNo, dmCode){ //初始化打印机
LODOP.NewPage(); LODOP.SET_PRINT_PAGESIZE(0,600,180,""); LODOP.ADD_PRINT_IMAGE(2, 17, 46, 46, dmCode); LODOP.SET_PRINT_STYLEA(0, "Stretch", 2); //打印二维码的内容
LODOP.ADD_PRINT_TEXT(40,25,220,15, serialNo); LODOP.SET_PRINT_STYLEA(0,"FontName","微软雅黑"); LODOP.SET_PRINT_STYLEA(0,"FontSize",8); LODOP.SET_PRINT_STYLEA(0,"Bold",1);}
//打印C标签
function printPageC(serialNo, dmCode){ //初始化打印机
LODOP.NewPage(); LODOP.SET_PRINT_PAGESIZE(0,400,120,""); LODOP.ADD_PRINT_IMAGE(2, 15, 36, 36, dmCode); LODOP.SET_PRINT_STYLEA(0, "Stretch", 2); //打印二维码的内容
LODOP.ADD_PRINT_TEXT(32,21,220,15,serialNo); LODOP.SET_PRINT_STYLEA(0,"FontName","微软雅黑"); LODOP.SET_PRINT_STYLEA(0,"FontSize",6); LODOP.SET_PRINT_STYLEA(0,"Bold",1);}
|