Web列印組件jatoolsPrinter(轉載)

來源:互聯網
上載者:User

標籤:style   blog   http   java   io   for   問題   ar   

應用web化,不論對開發商,還是對使用者來說,實在是一種很經濟的選擇,因為基於web的應用,用戶端的規則很簡單,容易學習,容易維護,容易發布。但對程式員來說,因為瀏覽器的局限性,卻要面對很多挑戰。怎麼樣來進行基於web的套打,就是這麼一個令多數程式員頭痛不已的問題。 
基於web的套打,難度在於要將瀏覽器中呈現的html,精確地列印到票據中,而且能夠實現對分頁位置的控制。下面就ie瀏覽器所能採用的套打解決方案,來個匯總分析,希望對大家有所協助。

jatoolsPrinter 是一款實現網頁套打的免費工具。該工具的特點是可以直接對web頁面進行精確的分頁列印,這不僅使“會設計網頁就會做網頁套打”成為可能,也使專案經理們擺脫了預算緊張的壓力。jatoolsPrinter通過在網頁中嵌入控制項,解決了web用戶端精確列印,批量列印,列印配置自動保留等問題。jatoolsPrinter 官方正式免費版,支援ie6+,http://printfree.jatools.com。

功能特點: 
真正免費,不加浮水印,沒有ip或網域名稱限制,不限時間,相容ie6+ 
無須註冊,下載即用 
提供經過微軟數位簽章的cab自動安裝包,安裝更方便 
長期升級保障,免費論壇支援,讓你無後顧之憂 
穩定可靠,啟動速度遠勝同類產品 
常用功能集於一身,簡約而不簡單,軟體大小隻有84k

 

本文主要介紹jatoolsPrinter列印控制項來完成web的列印功能,這個控制項已經把列印功能封裝的非常好,主要是把這個控制項引入,之後寫一些簡單的js代碼就能完成相應的列印功能。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <title></title>    <!-- 插入列印控制項 -->    <object id="jatoolsPrinter" classid="CLSID:B43D3361-D075-4BE2-87FE-057188254255"        codebase="jatoolsPrinter.cab#version=5,7,0,0">    </object>    <script type="text/javascript">        function doPrint(how) {            //列印文檔對象            var myDoc = {                documents: document,    // 列印頁面(div)們在本文檔中                copyrights: ‘傑創軟體擁有著作權  www.jatools.com‘         // 著作權聲明必須            };            // 調用列印方法            if (how == ‘預覽列印...‘)                jatoolsPrinter.printPreview(myDoc);   // 預覽列印            else if (how == ‘列印...‘)                jatoolsPrinter.print(myDoc, true);   // 列印前彈出列印設定對話方塊            else                jatoolsPrinter.print(myDoc, false);       // 不彈出對話方塊列印        }    </script></head><body>    <form id="form1" runat="server">    <div id=‘page1‘ style=‘width:300px;height:300px;‘>    test    </div>    <input type="button" value="預覽列印..." onclick="doPrint(‘預覽列印...‘)"/>    <input type="button" value="列印..." onclick="doPrint(‘列印...‘)"/>    <input type="button" value="列印" onclick="doPrint(‘列印‘)"/>    </form></body></html>

主要分幾個步驟:

一、引入列印控制項jatoolsPrinter

<!-- 插入列印控制項 --> <object id="jatoolsPrinter" classid="CLSID:B43D3361-D075-4BE2-87FE-057188254255" codebase="jatoolsPrinter.cab#version=5,7,0,0"> </object>

二、給要列印的div取id名

三、編寫js代碼實現列印div的功能

(注意:在同一頁面中,有多個可列印文檔,他們可以用page_div_prefix屬性來區別page_div_prefix首碼+page+頁序號 構成可列印div的id,如首碼為 ‘report1‘ ,則找到以 ‘report1page1‘為id的div作為文檔首頁該屬性,預設值為空白)


注意事項:

1. 控制項在列印指定div對象時,如果紙張太小不夠列印時,超出部分將被截掉(clip)。 
2. 被指定的div中的內容,可以是html任何可見對象,圖片,flash,或文本等等。 
3. 控制項列印時,邊距可設,不設則取印表機預設值。 
4. div的id必須連續,如果你的div,存在 ‘page1‘、‘page2‘、‘page4‘,而不存在‘page3‘,則控制項只列印前兩頁,‘page4‘不會被列印。 
5. div對象在頁面中的位置,可以是隨意的,比如,page1顯示在page2後面,也是合法的。 
6. 指定的div會被列印,沒被指定的html元素將不會被列印,比如,本樣本中的‘列印’按鈕,不會被列印。 
7. copyrights屬性是著作權資訊,必須寫。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.