[转]web打印实现方案 Lodop6.034 使用方法总结

本文介绍如何使用Lodop打印控件实现在Web页面中进行复杂报表的分页打印,包括设置打印区域、页眉页脚、文本样式等,并提供了完整的JavaScript代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文转自:https://www.cnblogs.com/tiger8000/archive/2011/09/19/2181365.html

 

官文下载:

http://mtsoftware.v053.gokao.net/download.html

本地 Lodop6.034 版本下载:/Files/tiger8000/Lodop6.034.rar

假设你的 lodop 打印控件放在你项目的根目录下的 Lodop 目录内

 printTable.aspx 文件存在于你项目中的 PrintCenter 目录内。在此文件的 html 页面中加入:

 

 <script type="text/javascript" language="javascript" src="../Lodop/LodopFuncs.js"></script>
<object id="LODOP" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width="0" height="0"> 
    <embed id="LODOP_EM" type="application/x-print-lodop" width="0" height="0" pluginspage="../Lodop/install_lodop.exe"></embed>
</object> 

 

其中:

 

<embed id="LODOP_EM" type="application/x-print-lodop" width="0" height="0" pluginspage="../Lodop/install_lodop.exe"></embed>

 

是专为 FireFox 浏览器设计的代码,如果你这个打印控件只在 IE 上应用,那么上面这名话完全可以不用的。

只这样加就行了:

 

    <script type="text/javascript" language="javascript" src="../Lodop/LodopFuncs.js"></script>
<object id="LODOP" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width="0" height="0"> 
</object> 

 

 

这样就把 lodop 打印控件在本页调用过来了。

 

实现打印一个俱有 100 行的数据报表,要分页打印,要求,用A4纸纵向打印,在下面的页角,显示当前页码及总页数。

正常情况下,你设定了打印纸张规格后,如 A4 或是自定义纸张大小,然后,你定义了 打印输出的大小

LODOP.ADD_PRINT_TABLE(11033750900, document.getElementById("printdiv").innerHTML);

距上边 110 象素,左边 33 像素,宽 750象素,高 900 象素这外区域内打印内容。打印控件会自动根据纸张大小和你打印区长,高,计算出打印页数,会自动分页,你需要做的就是不断调整打印区 边距,宽,高 :11033750900

然后,自己打印出  当前页/总页数 .

在 aspx 页中加入:

 

复制代码
<script language="javascript" type="text/javascript">
    var LODOP; //声明为全局变量 
    function prn1_preview() {
        PrintMytable();
        LODOP.PREVIEW();
    };
    function prn1_print() {
        PrintMytable();
        LODOP.PRINT();
    };

    function PrintMytable() {
        LODOP = getLodop(document.getElementById('LODOP'), document.getElementById('LODOP_EM'));
        LODOP.PRINT_INIT("银燕公司宽带收费明细");
        LODOP.SET_PRINT_PAGESIZE(100"A4");
        LODOP.ADD_PRINT_TEXT(3028050050"银燕公司宽带财务报表明细")
        LODOP.SET_PRINT_STYLEA(1"ItemType"1);
        LODOP.SET_PRINT_STYLEA(1"FontSize"14);
        LODOP.SET_PRINT_STYLEA(1"Bold"1);
        LODOP.ADD_PRINT_TEXT(105037020022"第#页/共&页");
        LODOP.SET_PRINT_STYLEA(2"ItemType"2);
        LODOP.SET_PRINT_STYLEA(2"HOrient"1);
        LODOP.ADD_PRINT_TEXT(905010050"共:<%=numb%> 条记录")
        LODOP.SET_PRINT_STYLEA(3"ItemType"1);
        LODOP.ADD_PRINT_TEXT(9030035050"时间范围:<%=begindt%> 至 <%=enddt%>")
        LODOP.SET_PRINT_STYLEA(4"ItemType"1);
        //LODOP.ADD_PRINT_TABLE(110, 33, 750, 900, document.documentElement.innerHTML);
        LODOP.ADD_PRINT_TABLE(11033750900, document.getElementById("printdiv").innerHTML);
    };    
   
</script> 
复制代码

 

然后,下面是要打印的工资报表 table

 

 

复制代码
  <div id="printdiv">
       <table width="90%" align="center" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" bordercolorlight="#000000" bordercolordark="#000000" id="tb01" style="border-collapse:collapse">
                   <asp:Repeater ID="Repeater2" runat="server">
                     <HeaderTemplate>
                     <thead>
                         <tr bgcolor="#F8F8FF">
                            <th align="center" height="30">序号</th>
                            <th align="center">姓名</th>
                            <th align="center">账号</th>                          
                            <th align="center">网费</th>
                            <th align="center">网费返款</th>
                            <th align="center">押金</th>
                            <th align="center">押金返款</th>
                            <th align="center">安装费</th>
                            <th align="center">安装费返款</th>
                            <th align="center">卖Modem款</th>
                            <th align="center">Modem返款</th>
                            <th align="center">转账</th>
                            <th align="center
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值