web打印實現方案 Lodop6.034 使用方法總結

web打印實現方案 Lodop6.034 使用方法總結

官文下載:

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">繳費日期</th>
                        
</tr>
                     
</thead>
                     
</HeaderTemplate>
                     
<ItemTemplate>
                      
<tbody>
                         
<tr height="20"  style="cursor:hand" bgColor="#ffffff" onmouseover="javascript:this.style.backgroundColor='#FFCC33';"    onmouseout="javascript:this.style.backgroundColor='#ffffff';">
                            
<td align="center"><%#Container.ItemIndex + 1%></td>
                            
<td align="center"><%#Eval("姓名")%></td>
                            
<td align="center"><%#Eval("賬號")%></td>
                            
<td align="center"><%#Math.Round(Convert.ToDecimal(Eval("網費")), 2)%></td>
                            
<td align="center"><%#Math.Round(Convert.ToDecimal(Eval("網費返款")), 2)%></td>
                            
<td align="center"><%#Math.Round(Convert.ToDecimal(Eval("押金")), 2)%></td>
                            
<td align="center"><%#Math.Round(Convert.ToDecimal(Eval("押金返款")), 2)%></td>
                            
<td align="center"><%#Math.Round(Convert.ToDecimal(Eval("安裝費")), 2)%></td>
                            
<td align="center"><%#Math.Round(Convert.ToDecimal(Eval("安裝費返款")), 2)%></td>
                            
<td align="center"><%#Math.Round(Convert.ToDecimal(Eval("賣Modem款")), 2)%></td>  
                            
<td align="center"><%#Math.Round(Convert.ToDecimal(Eval("賣Modem款返款")), 2)%></td>     
                            
<td align="center"><%#Eval("轉賬")%></td>
                            
<td align="center"><%#Eval("提交日期","{0:yyyy/MM/dd}")%></td>
                        
</tr>
                        
</tbody>
                     
</ItemTemplate>
                     
<AlternatingItemTemplate>
                      
<tbody>
                     
<tr height="20" style="cursor:hand" bgColor="#f1f1f1" onmouseover="javascript:this.style.backgroundColor='#FFCC33';" onmouseout="javascript:this.style.backgroundColor='#f1f1f1';">
                           
<td align="center"><%#Container.ItemIndex + 1%></td>
                            
<td align="center"><%#Eval("姓名")%></td>
                            
<td align="center"><%#Eval("賬號")%></td>
                            
<td align="center"><%#Math.Round(Convert.ToDecimal(Eval("網費")), 2)%></td>
                            
<td align="center"><%#Math.Round(Convert.ToDecimal(Eval("網費返款")), 2)%></td>
                            
<td align="center"><%#Math.Round(Convert.ToDecimal(Eval("押金")), 2)%></td>
                            
<td align="center"><%#Math.Round(Convert.ToDecimal(Eval("押金返款")), 2)%></td>
                            
<td align="center"><%#Math.Round(Convert.ToDecimal(Eval("安裝費")), 2)%></td>
                            
<td align="center"><%#Math.Round(Convert.ToDecimal(Eval("安裝費返款")), 2)%></td>
                            
<td align="center"><%#Math.Round(Convert.ToDecimal(Eval("賣Modem款")), 2)%></td>  
                            
<td align="center"><%#Math.Round(Convert.ToDecimal(Eval("賣Modem款返款")), 2)%></td>     
                            
<td align="center"><%#Eval("轉賬")%></td>
                            
<td align="center"><%#Eval("提交日期","{0:yyyy/MM/dd}")%></td>
                        
</tr>
                       
</tbody>
                     
</AlternatingItemTemplate>
                     
<FooterTemplate>
                      
<tr bgcolor="#FFF8DC" >
                            
<td align="center" height="30">合計</td>
                            
<td></td>
                            
<td></td>
                            
<td align="center" class="bigmoneyfont"><%=wangfei%></td>
                            
<td align="center" class="bigmoneyfont"><%=wangfeifankuan%></td>
                            
<td align="center" class="bigmoneyfont"><%=yajin%></td>
                            
<td align="center" class="bigmoneyfont"><%=yajinfankuan%></td>
                            
<td align="center" class="bigmoneyfont"><%=anzhuangfei%></td>
                            
<td align="center" class="bigmoneyfont"><%=anzhuangfeifan%></td>
                            
<td align="center" class="bigmoneyfont"><%=maimaokuan%></td>
                            
<td align="center" class="bigmoneyfont"><%=maimaokuanfan%></td>
                            
<td></td>
                            
<td></td>
                        
</tr>    
                     
</FooterTemplate>
                   
</asp:Repeater>
             
</table>
         
</div>    

 1、LODOP.SET_PRINT_PAGESIZE(100"A4");

1 縱向打印

0 打印紙張的寬度 爲0 ,可自定義寬

0 打印紙張的高度 爲 0 ,可自定義高

A4 指定用 A4 紙打印

當寬度和高度都設爲 0 的時候,才能指定用特定的紙型打印,如:A4 ,B5 等。

2、

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

第一句:距上 30,距左280,打印區寬 500 ,打印區高 50 這樣的一個區域內打印出文字”銀燕公司寬帶財務報表明細“

第二句:指定剛纔打印的這句話 ItemType屬性,1爲頁眉頁腳,2爲頁號碼,3爲頁數,0 爲普通項。

第三句:指定剛纔打印的這句話 FontSize 屬性爲 14pt

第四句:指定剛纔打印的這句話,加粗顯示。Bold 爲1 代表加粗,0代表正常顯示。

LODOP.SET_PRINT_STYLEA(1, "FontSize", 14);
中最前面的那個參數:1 ,是指的,對頁面中加入的 LODOP.ADD_PRINT 元素的索引,指定是哪 一元素。

因爲  LODOP.ADD_PRINT_TEXT(30, 280, 500, 50, "銀燕公司寬帶財務報表明細")
是 最向加的元素,所以它索引爲 第 1 項。

 

3

LODOP.ADD_PRINT_TEXT(1050, 370, 200, 22, "第#頁/共&頁");
        LODOP.SET_PRINT_STYLEA(2, "ItemType", 2);
        LODOP.SET_PRINT_STYLEA(2, "HOrient", 1);

在距上邊界 1050 象素,左 370,寬爲200,高爲22  這樣一個區域內打印頁碼及總頁數。

然後,指定這個索 引爲2 的這個元素的   ItemType屬性,1爲頁眉頁腳,2爲頁號碼,3爲頁數,0 爲普通項。

只有當指定此元素 ItemType屬性,2爲頁號碼 的時候,

LODOP.ADD_PRINT_TEXT(1050, 370, 200, 22, "第#頁/共&頁"); 就會在每個頁的固定位置都顯示,

纔會顯示當前頁碼數及總頁數

 

4

 LODOP.ADD_PRINT_TEXT(90, 50, 100, 50, "共:<%=numb%> 條記錄")

在指定區域內打印總記錄數
        LODOP.SET_PRINT_STYLEA(3, "ItemType", 1);

指定剛纔加入的這個索引爲第3個元素的 ItemType屬性,1爲頁眉頁腳
        LODOP.ADD_PRINT_TEXT(90, 300, 350, 50, "時間範圍:<%=begindt%> 至 <%=enddt%>")

在指定區域內打印時間範圍
        LODOP.SET_PRINT_STYLEA(4, "ItemType", 1);

指定剛纔加入的這個索引爲第4個元素的 ItemType屬性,1爲頁眉頁腳
        //LODOP.ADD_PRINT_TABLE(110, 33, 750, 900, document.documentElement.innerHTML);

用這個寫法可以打印整個頁面上的 table表
        LODOP.ADD_PRINT_TABLE(110, 33, 750, 900, document.getElementById("printdiv").innerHTML);

用這種寫法也可以打印整個頁面中指定爲 div 的ID 爲 "printdiv" 內的 table

 

二、 打印某一整個 aspx 頁。

 

<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> 
<script language="javascript" type="text/javascript">
    var LODOP; 
//聲明爲全局變量      
    function PrintOneURL(strID) {
        LODOP 
= getLodop(document.getElementById('LODOP'), document.getElementById('LODOP_EM'));
        LODOP.PRINT_INIT(
"打印控件功能演示_Lodop功能_按網址打印");
        LODOP.ADD_PRINT_URL(
3020746"100%", document.getElementById(strID).value);
        LODOP.SET_PRINT_STYLEA(
1"HOrient"3);
        LODOP.SET_PRINT_STYLEA(
1"VOrient"3);
        LODOP.PREVIEW();
    };
       
</script>

 
<input type="hidden" id="T1" size="54" value="../PrintSinglePage.aspx"/>
     
<a href="javascript:PrintOneURL('T1');">預覽打印</a>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章