//調用打印
var lists = new Array();
var list = new Object();
list.mailno ="123";
list.proCode = "1234";
list.destRouteLabel = "12345";
...
lists[i]=list;
printOrder(lists);
//打印訂單
function printOrder(lists) {
var LODOP = getLodop();
console.log(LODOP)
console.log(lists.length);
if (LODOP == undefined) {
return false;
}
var total = lists.length, currentBlock = 10;
var Divisor = Math.floor(total / currentBlock),
Remainder = total - Divisor * currentBlock;
for (let i = 0; i < Divisor; i++) {
for (let j = 0; j < currentBlock; j++) {
myPrintA(lists[i * currentBlock + j], i * currentBlock + (j+1), (i+1) * currentBlock, total);
}
}
if (Remainder != 0) {
for (let x = Divisor * currentBlock; x < total; x++) {
myPrintA(lists[x], x, total, total);
}
}
//callback()
// for (let i=1,len=lists.length;i<=len;i++){
// myPrintA(lists[i], i, lists.length,callback);
// }
}
function getTimeString(){
var oDate = new Date();
var Year = oDate.getFullYear(),
Month = (oDate.getMonth() + 1) >= 10 ? (oDate.getMonth() + 1) : ‘0’ + (oDate.getMonth() + 1),
Day = (oDate.getDate()) >= 10 ? (oDate.getDate()) : ‘0’ + (oDate.getDate()),
Hour = (oDate.getHours()) >= 10 ? (oDate.getHours()) : ‘0’ + (oDate.getHours()),
Minute = (oDate.getMinutes()) >= 10 ? (oDate.getMinutes()) : ‘0’ + (oDate.getMinutes()),
Second = (oDate.getSeconds()) >= 10 ? (oDate.getSeconds()) : ‘0’ + (oDate.getSeconds());
return Year + ‘-’ + Month + ‘-’ + Day + ’ ’ + Hour + ‘:’ + Minute + ‘:’ + Second
}
/**
* 選擇打印機
/
function myPrintA(list, currentIndex, blockNum, totalList) {
var printNo = (currentIndex+1)+’/’+(totalList),
printNum = list.printCount == ‘’ ? 1 : Number(list.printCount)+1,
printDate = getTimeString(),
mailno = list.mailno,
twoDimensionCode = list.twoDimensionCode,
proCode = list.proCode,
destRouteLabel = list.destRouteLabel,
d_contact = list.dcontact,
// d_tel = list.dtel.slice(0, 3) + '’ + list.dtel.slice(7),
d_tel=list.dtel,
d_company = list.dcompany,
d_address = list.daddress,
destTeamCode = list.destTeamCode,
//1:寄付 2:到付 3 第三方付
pay_method = list.payMethod == ‘1’ ? ‘寄付’ : list.payMethod == ‘2’ ? ‘到付’ :‘第三方付’,
codingMapping = list.codingMapping,
destTransferCode = list.sourceTransferCode,
abFlag = list.abFlag,
codingMappingOut = list.codingMappingOut,
j_contact = list.jcontact,
// j_tel = list.jtel.slice(0, 3) + '*’ + list.jtel.slice(7),
j_tel=list.jtel,
j_company = list.jcompany,
j_address = list.jaddress,
things=list.things,
COD=’’,
POD=’’,
remark=list.remark;
//定義Icon路徑
var printIcony = "",
printIcony1 = "",
printIcony2 = "",
printIcond = "",
printIcond1 = "",
printIcond2 = "";
var printIcon = list.printIcon || '';
if (!printIcon){
var arrIcon = printIcon.split('');
if(arrIcon[0]=='1'){
printIcony = "<img border='0' src='./static/wight.png' />"
}
if (arrIcon[2] == '1') {
printIcony1 = "<img border='0' src='./static/xie.png' />"
}
if (arrIcon[3] == '1') {
printIcony2 = "<img border='0' src='./static/fresh.png' />"
}
if (arrIcon[4] == '1') {
printIcond = "<img border='0' src='./static/sui.png' />"
}
if (arrIcon[5] == '1') {
printIcond1 = "<img border='0' src='./static/doctor.png' />"
}
if (arrIcon[6] == '1') {
printIcond2 = "<img border='0' src='./static/zsign.png' />"
}
}
//獲取運單號數量
var n = mailno.split(",");//生成運單號數組
var m = n.length;//運單號數量
//主單號
mailno = n[0];
//取proCode最後一個字符
var proCode = proCode.charAt(proCode.length - 1);
LODOP = getLodop(); //獲取打印驅動
LODOP.PRINT_INITA(0, 0, 378, 567, "順豐豐密150熱敏");//預覽窗口標題
LODOP.SET_PRINT_PAGESIZE(0, 1000, 1500, "")//設置紙張大小100mm*150mm
LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE", 6);//設置以紙張邊緣爲基點
for (j = 0; j < m; j++) {
children_nos = n[j];
CreateFullBill2(printNo, printNum, printDate, mailno, children_nos, twoDimensionCode, proCode, destRouteLabel, d_contact, d_tel, d_company, d_address, destTeamCode, pay_method, codingMapping, destTransferCode, abFlag, codingMappingOut, j_contact, j_tel, j_company, j_address, things, j, m, COD, POD, printIcond, printIcond1, printIcond2, printIcony, printIcony1, printIcony2, remark);
};
LODOP.SET_PREVIEW_WINDOW(0, 0, 0, 0, 0, "");
// LODOP.PREVIEW();
// LODOP.PRINT();
// if (currentIndex+1==blockNum){
// console.log(currentIndex,blockNum)
// LODOP.SET_PRINT_MODE("CUSTOM_TASK_NAME", "dzx" + blockNum);//爲每個打印單獨設置任務名
// LODOP.PRINT();
// }
LODOP.SET_PRINT_MODE("CUSTOM_TASK_NAME", "dzx" + blockNum);//爲每個打印單獨設置任務名
LODOP.PRINT();
// LODOP.PRINT();
};
function CreateFullBill2(printNo, printNum, printDate, mailno, children_nos, twoDimensionCode, proCode, destRouteLabel, d_contact, d_tel, d_company, d_address, destTeamCode, pay_method, codingMapping, destTransferCode, abFlag, codingMappingOut, j_contact, j_tel, j_company, j_address, things, j, m, COD, POD, printIcond, printIcond1, printIcond2, printIcony, printIcony1, printIcony2, remark) {
LODOP.NewPage();
//表格底版
// LODOP.ADD_PRINT_SETUP_BKIMG("<img border='0' src='/template/images/bk.jpg'>");
// LODOP.SET_SHOW_MODE("BKIMG_PRINT",1);//打印包含背景圖
printTemp();
//**************************
//打印序號
LODOP.ADD_PRINT_TEXT(10, 239, 64, 20, printNo);
LODOP.SET_PRINT_STYLEA(0, "FontName", "黑體");
LODOP.SET_PRINT_STYLEA(0, "Bold", 1);
//打印次數和打印時間
LODOP.ADD_PRINT_TEXT(29, 91, 260, 10, "第" + printNum + "次打印 打印時間" + printDate);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 7);
//運單號條碼
LODOP.ADD_PRINT_BARCODE(42, 63, "42.00mm", "13.00mm", "128C", mailno);
LODOP.SET_PRINT_STYLEA(0, "ShowBarText", 0);
//取twoDimensionCode值,二維碼
LODOP.ADD_PRINT_BARCODE(239, 137, 115, 115, "QRCode", twoDimensionCode);
LODOP.SET_PRINT_STYLEA(0, "ShowBarText", 0);
//子母件分數標識
LODOP.ADD_PRINT_TEXT(96, 8, 58, 16, j + 1 + "/" + m);
LODOP.SET_PRINT_STYLEA(0, "FontName", "Arial");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 10);
//子單號
LODOP.ADD_PRINT_TEXT(93, 120, 121, 16, children_nos);
LODOP.SET_PRINT_STYLEA(0, "FontName", "Arial");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 10);
//母單號
LODOP.ADD_PRINT_TEXT(113, 120, 118, 16, mailno);
LODOP.SET_PRINT_STYLEA(0, "FontName", "Arial");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 10);
//取pro_code值
LODOP.ADD_PRINT_TEXT(64, 307, 44, 64, proCode);
LODOP.SET_PRINT_STYLEA(0, "FontName", "Arial");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 49);
LODOP.SET_PRINT_STYLEA(0, "Bold", 1);
//取destRouteLabel值
LODOP.ADD_PRINT_TEXT(137, 17, 278, 27, destRouteLabel);
LODOP.SET_PRINT_STYLEA(0, "FontName", "Arial");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 26);
LODOP.SET_PRINT_STYLEA(0, "Bold", 1);
//收件人信息
LODOP.ADD_PRINT_TEXT(181, 48, 63, 14, d_contact);
LODOP.SET_PRINT_STYLEA(0, "Bold", 1);
LODOP.ADD_PRINT_TEXT(182, 124, 81, 15, d_tel);
LODOP.ADD_PRINT_TEXT(181, 215, 123, 15, d_company);
LODOP.ADD_PRINT_TEXT(200, 48, 243, 30, d_address);
//COD標識
LODOP.ADD_PRINT_TEXT(152, 300, 100, 20, COD);
LODOP.SET_PRINT_STYLEA(0, "FontName", "黑體");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 18);
LODOP.SET_PRINT_STYLEA(0, "Bold", 1);
LODOP.SET_PRINT_STYLEA(0, "TextFrame", 11);
//取destTeamCode值
LODOP.ADD_PRINT_TEXT(192, 149, 93, 36, destTeamCode);
LODOP.SET_PRINT_STYLEA(0, "FontName", "Arial");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 30);
LODOP.SET_PRINT_STYLEA(0, "FontColor", "#C0C0C0");
LODOP.SET_PRINT_STYLEA(0, "Bold", 1);
//付款方式
LODOP.ADD_PRINT_TEXT(250, 23, 85, 20, pay_method);
//取codingMapping值
LODOP.ADD_PRINT_TEXT(271, 25, 85, 25, codingMapping);
LODOP.SET_PRINT_STYLEA(0, "FontName", "Arial");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 24);
LODOP.SET_PRINT_STYLEA(0, "Bold", 1);
//取sourceTransferCode值
LODOP.ADD_PRINT_TEXT(311, 23, 85, 20, destTransferCode);
LODOP.SET_PRINT_STYLEA(0, "FontName", "Arial");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 15);
LODOP.SET_PRINT_STYLEA(0, "Bold", 1);
//取abFlag值
LODOP.ADD_PRINT_TEXT(248, 312, 45, 47, abFlag);
LODOP.SET_PRINT_STYLEA(0, "FontName", "Arial");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 36);
LODOP.SET_PRINT_STYLEA(0, "Bold", 1);
//取codingMappingOut值
LODOP.ADD_PRINT_TEXT(310, 315, 46, 25, codingMappingOut);
LODOP.SET_PRINT_STYLEA(0, "FontName", "ARial");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 19);
LODOP.SET_PRINT_STYLEA(0, "Bold", 1);
//寄件人信息
LODOP.ADD_PRINT_TEXT(343, 52, 63, 15, j_contact);
LODOP.ADD_PRINT_TEXT(343, 123, 81, 15, j_tel);
LODOP.ADD_PRINT_TEXT(342, 214, 123, 15, j_company);
LODOP.ADD_PRINT_TEXT(355, 52, 297, 23, j_address);
//其他
LODOP.ADD_PRINT_TEXT(400, 70, 255, 20, "增值服務內容");
LODOP.ADD_PRINT_TEXT(433, 68, 262, 20, things);
LODOP.ADD_PRINT_TEXT(466, 68, 262, 20, remark);
//圖標標籤
LODOP.ADD_PRINT_IMAGE(497, 10, 60, 63, printIcony);
LODOP.SET_PRINT_STYLEA(0, "Stretch", 1);//(可變形)擴展縮放模式
LODOP.ADD_PRINT_IMAGE(496, 70, 60, 63, printIcony1);
LODOP.SET_PRINT_STYLEA(0, "Stretch", 1);//(可變形)擴展縮放模式
LODOP.ADD_PRINT_IMAGE(496, 130, 60, 63, printIcony2);
LODOP.SET_PRINT_STYLEA(0, "Stretch", 1);//(可變形)擴展縮放模式
LODOP.ADD_PRINT_IMAGE(497, 190, 60, 63, printIcond);
LODOP.SET_PRINT_STYLEA(0, "Stretch", 1);//(可變形)擴展縮放模式
LODOP.ADD_PRINT_IMAGE(496, 250, 60, 63, printIcond1);
LODOP.SET_PRINT_STYLEA(0, "Stretch", 1);//(可變形)擴展縮放模式
LODOP.ADD_PRINT_IMAGE(496, 310, 60, 63, printIcond2);
LODOP.SET_PRINT_STYLEA(0, "Stretch", 1);//(可變形)擴展縮放模式
LODOP.ADD_PRINT_TEXT(505, 260, 90, 66, POD);
LODOP.SET_PRINT_STYLEA(0, "FontName", "黑體");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 30);
LODOP.SET_PRINT_STYLEA(0, "Bold", 1);
LODOP.SET_PRINT_STYLEA(0, "TextFrame", 11);
};
//打印底板
function printTemp() {
//表格底版
LODOP.ADD_PRINT_LINE(53, "74mm", 52, "98mm", 0, 1);
LODOP.ADD_PRINT_LINE(137, "2.00mm", 136, "98mm", 0, 1);
LODOP.ADD_PRINT_LINE(243, "2.00mm", 242, "98mm", 0, 1);
LODOP.ADD_PRINT_LINE(341, "2.00mm", 340, "98mm", 0, 1);
LODOP.ADD_PRINT_LINE(387, "5.7pt", 386, "98mm", 0, 1);
LODOP.ADD_PRINT_LINE(485, "2.00mm", 484, "98mm", 0, 1);
LODOP.ADD_PRINT_LINE(53, 279, "36.00mm", 280, 0, 1);
LODOP.ADD_PRINT_LINE(340, "35mm", "64.00mm", 133, 0, 1);
LODOP.ADD_PRINT_LINE(339, "67.0mm", "64.00mm", 254, 0, 1);
LODOP.ADD_PRINT_LINE(340, "77.00mm", "64.00mm", 292, 0, 1);
LODOP.ADD_PRINT_LINE(266, "2.00mm", 265, "35mm", 0, 1);
LODOP.ADD_PRINT_LINE(307, "2.00mm", 306, "35mm", 0, 1);
LODOP.ADD_PRINT_LINE(306, "77.00mm", 305, "98mm", 0, 1);
//文字底版
LODOP.ADD_PRINT_TEXT(95, 67, 53, 16, "子單號");
LODOP.SET_PRINT_STYLEA(0, "FontName", "黑體");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 10);
LODOP.ADD_PRINT_TEXT(113, 66, 53, 16, "母單號");
LODOP.SET_PRINT_STYLEA(0, "FontName", "黑體");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 10);
LODOP.ADD_PRINT_TEXT(57, 285, 44, 32, "T");
LODOP.SET_PRINT_STYLEA(0, "FontName", "Arial");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 28);
LODOP.ADD_PRINT_TEXT(258, 262, 25, 70, "已\r\n驗\r\n視");
LODOP.SET_PRINT_STYLEA(0, "FontName", "黑體");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.SET_PRINT_STYLEA(0, "FontColor", "#C0C0C0");
LODOP.SET_PRINT_STYLEA(0, "Bold", 1);
LODOP.ADD_PRINT_TEXT(400, "2.00mm", 72, 22, "增值服務:");
LODOP.ADD_PRINT_TEXT(433, "2.00mm", 60, 22, "託寄物:");
LODOP.ADD_PRINT_TEXT(466, "2.00mm", 70, 22, "備註:");
LODOP.ADD_PRINT_ELLIPSE(181, "2.00mm", 35, 35, 0, 1);
LODOP.ADD_PRINT_ELLIPSE(347, "2.00mm", 35, 35, 0, 1);
LODOP.ADD_PRINT_TEXT(189, 15, 22, 20, "收");
LODOP.SET_PRINT_STYLEA(0, "FontName", "黑體");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.ADD_PRINT_TEXT(355, 15, 20, 20, "寄");
LODOP.SET_PRINT_STYLEA(0, "FontName", "黑體");
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
};