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

}

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值