[转]web打印实现方案 Lodop6.034 使用方法总结
本文转自: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>
<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>
<object id="LODOP" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width="0" height="0">
</object>
这样就把 lodop 打印控件在本页调用过来了。
实现打印一个俱有 100 行的数据报表,要分页打印,要求,用A4纸纵向打印,在下面的页角,显示当前页码及总页数。
正常情况下,你设定了打印纸张规格后,如 A4 或是自定义纸张大小,然后,你定义了 打印输出的大小
LODOP.ADD_PRINT_TABLE(110, 33, 750, 900, document.getElementById("printdiv").innerHTML);
距上边 110 象素,左边 33 像素,宽 750象素,高 900 象素这外区域内打印内容。打印控件会自动根据纸张大小和你打印区长,高,计算出打印页数,会自动分页,你需要做的就是不断调整打印区 边距,宽,高 :110, 33, 750, 900
然后,自己打印出 当前页/总页数 .
在 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(1, 0, 0, "A4");
LODOP.ADD_PRINT_TEXT(30, 280, 500, 50, "银燕公司宽带财务报表明细")
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(1050, 370, 200, 22, "第#页/共&页");
LODOP.SET_PRINT_STYLEA(2, "ItemType", 2);
LODOP.SET_PRINT_STYLEA(2, "HOrient", 1);
LODOP.ADD_PRINT_TEXT(90, 50, 100, 50, "共:<%=numb%> 条记录")
LODOP.SET_PRINT_STYLEA(3, "ItemType", 1);
LODOP.ADD_PRINT_TEXT(90, 300, 350, 50, "时间范围:<%=begindt%> 至 <%=enddt%>")
LODOP.SET_PRINT_STYLEA(4, "ItemType", 1);
//LODOP.ADD_PRINT_TABLE(110, 33, 750, 900, document.documentElement.innerHTML);
LODOP.ADD_PRINT_TABLE(110, 33, 750, 900, document.getElementById("printdiv").innerHTML);
};
</script>
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(1, 0, 0, "A4");
LODOP.ADD_PRINT_TEXT(30, 280, 500, 50, "银燕公司宽带财务报表明细")
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(1050, 370, 200, 22, "第#页/共&页");
LODOP.SET_PRINT_STYLEA(2, "ItemType", 2);
LODOP.SET_PRINT_STYLEA(2, "HOrient", 1);
LODOP.ADD_PRINT_TEXT(90, 50, 100, 50, "共:<%=numb%> 条记录")
LODOP.SET_PRINT_STYLEA(3, "ItemType", 1);
LODOP.ADD_PRINT_TEXT(90, 300, 350, 50, "时间范围:<%=begindt%> 至 <%=enddt%>")
LODOP.SET_PRINT_STYLEA(4, "ItemType", 1);
//LODOP.ADD_PRINT_TABLE(110, 33, 750, 900, document.documentElement.innerHTML);
LODOP.ADD_PRINT_TABLE(110, 33, 750, 900, 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
<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