JQprint在线打印

本文详细介绍使用JQprint插件实现在线打印功能的方法。通过引入jQuery和JQprint脚本,设置打印页面格式,填充数据,并调用打印方法,实现自定义报表的打印输出。

JQprint在线打印。调用浏览器打印功能

引用:

<script type="text/javascript"
        src="<%=request.getContextPath()%>/rlgl_new/common/jquery-1.4.4.min.js?_ver=<%=SystemConfig.get("project.version")%>"></script>
<script type="text/javascript"
        src="<%=request.getContextPath()%>/rlgl_new/common/jquery.jqprint-0.3.js?_ver=<%=SystemConfig.get("project.version")%>"></script>

打印部分,画打印页面格式

<div id="printZssj" style="display: none;border: solid 1px black;" cellpadding="0" cellspacing="0">
    <table width="100%" height="150" cellpadding="0" cellspacing="0">
        <tr>
            <td width="100%" colspan="9" align="center">
                <strong><%=SystemConfig.get("push.client.name")%>称重明细表</strong>
            </td>
        </tr>
        <tr>
            <td colspan="4" align="left" style="border-bottom: solid 1px black;">
                &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
                时间:<span id="p_beg"/> 至 <span id="p_end"/>
            </td>

            <td align="right" style="border-bottom: solid 1px black;">编号:</td>
            <td colspan="2" align="left" style="border-bottom: solid 1px black;">
                <span id="p_bh"/>
            </td>
            <td colspan="2" align="center" style="border-bottom: solid 1px black;">单位:吨/车</td>
        </tr>
        <tr style="border-bottom: solid 1px black;border-left: solid 1px black;">
            <td width="20%" style="border-bottom: solid 1px black;text-align:center">序号</td>
            <td width="10%"
                style="border-bottom: solid 1px black;border-left: solid 1px black;text-align:center">车号
            </td>
            <td width="10%"
                style="border-bottom: solid 1px black;border-left: solid 1px black;text-align:center">品种
            </td>
            <td width="10%"
                style="border-bottom: solid 1px black;border-left: solid 1px black;text-align:center">供应商
            </td>
            <td width="10%"
                style="border-bottom: solid 1px black;border-left: solid 1px black;text-align:center">煤矿
            </td>
            <td width="10%"
                style="border-bottom: solid 1px black;border-left: solid 1px black;text-align:center">毛重
            </td>
            <td width="10%"
                style="border-bottom: solid 1px black;border-left: solid 1px black;text-align:center">皮重
            </td>
            <td width="10%"
                style="border-bottom: solid 1px black;border-left: solid 1px black;text-align:center">净重
            </td>
            <td width="10%"
                style="border-bottom: solid 1px black;border-left: solid 1px black;text-align:center">票重
            </td>
        </tr>
    </table>
    <div id="table_data"></div>
</div>

数据填充:

function printZssj() {
    document.getElementById('printZssj').style.display = 'block';
    var items = truck_zssj_gridpanelUiIns.getStore().data.items; //获取数据,json xml 任意类型,然后填充html
    if (items.length <= 0) {
        Ext.MessageBox.alert('警告', '没有可打印的记录!');
    } else {
        var tab = '<table border=0 width="100%">';
        var date_beg = Ext.getCmp('date_begin').getValue();
        var date_end = Ext.getCmp('date_end').getValue();
        $("#p_beg").html(date_beg);
        $("#p_end").html(date_end);
        for (var i = 0; i < items.length; i++) {
            var rec = items[i];
            if (rec.get("dbid") == '') {
                tab += '<tr>';
                tab += '<td colspan="5" align="center" style="border-bottom: solid 1px black"><br>总计:共' + (items.length - 1) + '车<br><br></td>';
                tab += '<td colspan="1" align="center" style="border-bottom: solid 1px black;border-left: solid 1px black">' + rec.get("mz") + '</td>';
                tab += '<td colspan="1" align="center" style="border-bottom: solid 1px black;border-left: solid 1px black">' + rec.get("pz") + '</td>';
                tab += '<td colspan="1" align="center" style="border-bottom: solid 1px black;border-left: solid 1px black">' + rec.get("jzl") + '</td>';
                tab += '<td colspan="1" align="center" style="border-bottom: solid 1px black;border-left: solid 1px black">' + rec.get("ysl") + '</td>';
                tab += '</tr>';
            } else {
                tab += '<tr style="border-bottom: solid 1px black;border-left: solid 1px black;">';
                tab += '<td width="20%" style="border-bottom: solid 1px black;text-align:center">' + (i + 1) + '</td>';
                tab += '<td width="10%" style="border-bottom: solid 1px black;border-left: solid 1px black;text-align:center">' + rec.get("ch") + '</td>';
                tab += '<td width="10%" style="border-bottom: solid 1px black;border-left: solid 1px black;text-align:center">' + rec.get("mzmc") + '</td>';
                tab += '<td width="10%" style="border-bottom: solid 1px black;border-left: solid 1px black;text-align:center">' + rec.get("gysmc") + '</td>';
                tab += '<td width="10%" style="border-bottom: solid 1px black;border-left: solid 1px black;text-align:center">' + rec.get("kbmc") + '</td>';
                tab += '<td width="10%" style="border-bottom: solid 1px black;border-left: solid 1px black;text-align:center">' + rec.get("mz") + '</td>';
                tab += '<td width="10%" style="border-bottom: solid 1px black;border-left: solid 1px black;text-align:center">' + rec.get("pz") + '</td>';
                tab += '<td width="10%" style="border-bottom: solid 1px black;border-left: solid 1px black;text-align:center">' + rec.get("jzl") + '</td>';
                tab += '<td width="10%" style="border-bottom: solid 1px black;border-left: solid 1px black;text-align:center">' + rec.get("ysl") + '</td>';
                tab += '</tr>'
            }
        }
        tab += '<tr>';
        tab += '<td colspan="1" align="center"><br><br><br></td>';
        tab += '<td colspan="1" align="left" >审核:</td>';
        tab += '<td colspan="3" align="center" ></td>';
        tab += '<td colspan="1" align="left" >司磅员:</td>';
        tab += '<td colspan="3" align="center" ></td>';
        tab += '</tr>';
        tab += '</table>';
        document.getElementById('table_data').innerHTML = tab;
        $("#printZssj").jqprint();   //调用打印方法,
    }
}

 

jQuery打印插件 jQuery.print是一个用于打印页面特定部分的插件 用法 导入jQuery后将其包含在HTML中,如: < script type = “ text / JavaScript ” src = “ path / to / jquery.print.js ” > </ script > 使用它像: $(“#myElementId ”)。print(/ * options * /); 要么 $。print(“#myElementId ” / *,options * /); 您可以提交选项对象,如: $(“#myElementId ”)。print({ globalStyles : 是的, mediaPrint : false, stylesheet : null, noPrintSelector : “。 no -print ”, iframe : 是的, append : null, 前置: null, manualCopyFormValues : true, 延期: $。延期(), 超时: 750, title : null, doctype : ' <!doctype html> ' }); 目前,此插件支持以下选项: globalStyles 默认: true 可接受的值:布尔值 功能:是否应包含父文档中的样式 mediaPrint 默认: false 可接受的值:布尔值 功能:是否应包含带有media ='print'的链接标签; 由globalStyles选项覆盖 样式表 默认: null 可接受的值:URL字符串 功能:要包括的外部样式表的URL noPrintSelector 默认: ".no-print" 可接受的值:任何有效 jQuery-selector 功能:要从打印中排除的项目的选择器 IFRAME 默认值:true,如果传递no-vaild iframe选择器,则创建隐藏的iframe 可接受的值:任何有效jQuery-selector或布尔值 功能:是否从iframe打印而不是弹出窗口; 可以将jQuery-selector现有iframe作为值 附加/添加 默认: null 可接受的值:任何有效jQuery-selector或HTML文本 功能:在选定内容之前(前置)或之后(追加)添加自定义HTML manuallyCopyFormValues 默认: true 可接受的值:布尔值 功能:是否应将用户更新的表单输入值复制到打印的标记上(这可以通过手动迭代每个表单元素来完成) 延期的 默认: $.Deferred() 可接受的值:任何有效的jQuery.Deferred对象 功能:一旦调用print函数就解析的jQuery.Deferred对象。可用于设置回调 - 请参阅wiki 超时 默认: 750 可接受的值:以毫秒为单位的时间 setTimeout 功能:在创建新窗口/ iframe之前更改等待内容等加载内容的最大时间量,如果新窗口/ iframe 的load事件尚未触发,则作为后备 标题 默认值:null,使用主页标题 可接受的值:任何单行字符串 功能:更改打印的标题 DOCTYPE 默认: '<!doctype html>' Acceptable-Values:任何有效的doctype字符串 功能:将doctype添加到打印的文档框架中
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值