1、使用Lodop首先要下載Lodop並安裝C_Lodop 地址連接爲:http://www.lodop.net/LodopDemo.html
2、將下載好的Lodop壓縮包進行解壓 獲取LodopFuncs.js 將它放入所需項目內 並引用:
<script type="text/javascript" src="js/lodop/LodopFuncs.js"></script>
3、在需要打印的html中加入:
<object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0 >
<embed id="LODOP_EM" type="application/x-print-lodop" width=0 height=0 />
</object>
4、在頁面中創建Lodop對象:
var LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
5、自定義單條數據打印:
dayin = function (id) {
//打印
var LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
if (id) {
$.ajax({
type: "post",
data: {id: id},
url: url,
dataType: "json",
success: function (data) {
var textOneHtml = '<table width="700" border="1" width="100%" cellspacing="0" cellpadding="0" style="font-size:12px;">'
+ '<tr align="center" style="height: 30px">'
+ '<td width="80" align="center" >列名1</td>'
+ '<td width="80" align="center" >列名2</td>'
+ '<td width="80" align="center" >列名3</td>'
+......
+ '</tr>';
textOneHtml += '<tr style="height: 50px" align="center">'
+ '<td >' + data.字段1 + '</td>'
+ '<td >' + data.字段2 + '</td>'
+ '<td >' + data.字段3 + '</td>'
+......
+ '</tr>';
textOneHtml += "</table>";
LODOP.ADD_PRINT_TEXT(30, 280, 730, 25, "打印的標題名");
LODOP.SET_PRINT_STYLEA(0, "FontName", "隸書");----標題字體
LODOP.SET_PRINT_STYLEA(0, "FontSize", 20);----標題字體大小
LODOP.ADD_PRINT_TABLE(84, 22, 1000, "270mm", textOneHtml);
LODOP.PREVIEW();----打印預覽
},
error: function () {
alert("error");
}
});
}
}
6、自定義批量數據打印並實現分頁:
//批量打印
function prints() {
var idList = "";
for (var i = 0; i < list.length; i++) {
idList += list[i] + ",";
}---------複選框數組轉字符串
idList = idList.substring(0, idList.length - 1);
var strHTML="<table border='0' width='100%' >";
$.ajax({ // 此處我使用的ajax請求從後臺獲取打印的數據,也可以使用其他方式獲取
url: basePath+"sys/shglzfstysapzsp/dyList",
type: 'POST',
data: {
idList:idList
},
success: function (data) {
var textHtm= '<style>.biangeng_9{ background:none; border:0px; border-bottom:1px solid #000;text-align:center} '
+'</style>'
+'<table width="700" border="0" cellspacing="0" cellpadding="0" style="margin-top: -80px" class="biangeng_5">'
+'<tr>'
+'<td colspan="2" style="font-size:20px; font-weight:bold; text-align:center; height:49px;">打印內容標題</td>'
+'</tr>'
+' </table>'
var textHtml = '<table width="700" border="1" width="100%" cellspacing="0" cellpadding="0" style="font-size:14px;">'
+ '<tr align="center" style="height: 30px">'
+ '<td width="80" align="center" >列名1</td>'
+ '<td width="80" align="center" >列名2</td>'
+ '<td width="80" align="center" >列名3</td>'
+.....
+ '</tr>';
var json = eval("(" + data + ")");
var pagenum=1;
if(json.length%33==0){ // 分頁打印 33----每頁大小
pagenum =json.data.length/33;
}else if(json.length>33){
pagenum =parseInt((json.length/33).toString().split("."))+1;
}
for(var j=0;j<pagenum;j++) {
var textHtml2="";
for (var i = j * 33; (i < json.length) && (i < (j * 33 + 33)); i++) {
var 字段1= json[i].字段1;
var 字段2= json[i].字段2;
var 字段3= json[i].字段3;
......
textHtml2 += '<tr align="center">'
+ '<td >' + 字段1+ '</td>'
+ '<td >' + 字段2+ '</td>'
+ '<td >' + 字段3+ '</td>'
+......
+ '</tr>';
}
strHTML=strHTML+"<tr><td>";
var string1='<div style="margin-bottom: 10px">第'+(j+1)+'頁共'+pagenum+'頁</div>'+"<style> tr{height:20px;} td {font-size:13px;height:20px;} input{border:none; border:1px solid #000;}</style>"+textHtm
var string2="<style> tr{height:20px;} td {font-size:13px;height:20px;} input{border:none; border:1px solid #000;}</style>"+textHtml+textHtml2;
strHTML=strHTML+string1+string2+"</table>";
strHTML=strHTML+"</td></tr>";
}
LODOP.NewPage();
LODOP.ADD_PRINT_TABLE(84, 22, 1000, "270mm", strHTML);
LODOP.PREVIEW();
},
error: function () {
alert("error");
}
});
}