之前的博文:【JS新手教程】LODOP打印復選框選中的內容
關于任務:Lodop打印語句最基本結構介紹(什么是一個任務)
關于本文用到的JS的eval方法:JS-JAVASCRIPT的eval()方法
該文用的是不同checkbox,對應不同的value值,不同的value是不同的打印項語句,也可以不用value屬性,直接不同checkbox對不同字符串,然后加載執行該字符串,用eval方法執行里面的JS語句。
這里面有兩種輸出方式,選擇三個復選框,每個一個任務輸出,輸出三個任務,該文用xps虛擬打印機測試,輸出為三個xps文件。第二種循環newpage,一個任務多頁,輸出一個xps文件,該文件里有三頁。
INIT和PRINT放在循環之外,里面用newpage分隔,一個任務打印多頁。(三個復選框都選,就是打印三頁)
INIT和PRINT放在循環之內,不加分頁,一個任務一頁,打印三個任務。(三個復選框都選,就是打印三個任務)
代碼:
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>WEB打印控件LODOP</title> <script language="javascript" src="LodopFuncs.js"></script> </head> <body> 輸入選擇人名:<input type="text" id="T1"><br> <hr> 選擇第一組: <input type="checkbox" id="CK0" name="hob" value="">內容加矩形 <input type="checkbox" id="CK1" name="hob" value="">條碼和橢圓 <input type="checkbox" id="CK2" name="hob" value="">二維碼和直線 <hr> <div id="hom"> 選擇第二組: <input type="checkbox" value="">內容加矩形 <input type="checkbox" value="">條碼和橢圓 <input type="checkbox" value="">二維碼和直線 <hr> </div> <a href="javascript:prn1_preview()">第一組的選擇,分任務輸出選擇的多個任務</a><br> <a href="javascript:prn2_preview()">第二組的選擇,一個任務輸出多頁</a><br> <script language="javascript" type="text/javascript"> var LODOP; //聲明為全局變量 function prn1_preview() {document.getElementById("CK0").value="LODOP.ADD_PRINT_TEXT(37,92,58,23,'內容1');LODOP.ADD_PRINT_RECT(73,77,100,60,0,1);LODOP.ADD_PRINT_TEXT(92,186,94,20,'內容1');"; document.getElementById("CK1").value=" LODOP.ADD_PRINT_SHAPE(5,37,94,100,60,0,1,'#FFFF80');LODOP.ADD_PRINT_BARCODE(105,105,100,60,'Code39','123456789012');"; document.getElementById("CK2").value="LODOP.ADD_PRINT_BARCODE(51,123,140,81,'QRCode','123456789012');LODOP.ADD_PRINT_LINE(130,74,136,243,0,6);"; LODOP=getLodop(); obj_allhob=document.getElementsByName("hob");for (i=0;i<obj_allhob.length;i++) {if (document.getElementById("CK"+i).checked) {LODOP.PRINT_INIT("");LODOP.SET_PRINT_PAGESIZE(1,600,800,"");eval(document.getElementById("CK"+i).value);LODOP.PRINT();} }};function prn2_preview() {var div_hom=document.getElementById("hom");var obj_allhom=div_hom.getElementsByTagName("input"); obj_allhom[0].value="LODOP.ADD_PRINT_TEXT(37,92,58,23,'內容1');LODOP.ADD_PRINT_RECT(73,77,100,60,0,1);LODOP.ADD_PRINT_TEXT(92,186,94,20,'內容1');"; obj_allhom[1].value=" LODOP.ADD_PRINT_SHAPE(5,37,94,100,60,0,1,'#FFFF80');LODOP.ADD_PRINT_BARCODE(105,105,100,60,'Code39','123456789012');"; obj_allhom[2].value="LODOP.ADD_PRINT_BARCODE(51,123,140,81,'QRCode','123456789012');LODOP.ADD_PRINT_LINE(130,74,136,243,0,6);"; LODOP=getLodop(); LODOP.PRINT_INIT("");LODOP.SET_PRINT_PAGESIZE(1,600,800,"");for (i=0;i<obj_allhom.length;i++) {if (obj_allhom[i].checked) {LODOP.NEWPAGE(); eval(obj_allhom[i].value);} }LODOP.PRINT();}; </script> </body>
圖示: