Lodop打印案例筆記

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");
        }
    });

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章