HTML實現打印功能


直接上代碼:

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title>打印</title>
 6         <style type="text/css">
 7             body{
 8                 background-color: #fff;
 9                 width: 100%;
10                 height: 100%;
11             }
12             * {
13                 padding: 0;
14                 margin: 0;
15             }
16             .main{
17                 padding: 2%;
18                 font-family: Simsun;
19             }
20             @media print {
21                 @page {
22                     size: A4;
23                 }
24             }
25             @media screen {
26                 .main{
27                       display: none;  
28                 }
29             }
30         </style>
31     </head>
32     <body>
33         <!--startprint-->
34         <div class="main">
35             <h1 align="center">要打印的文件標題</h1>
36             <!-- 在這里畫要打印的內容 你需要什么標簽什么樣式自己畫就可以 -->
37         </div>
38         <!--endprint-->
39     </body>
40     <script type="text/javascript" src="/wro/jquery1.8.3.js"></script>
41     <script type="text/javascript">
42         $(function(){
43             print_page();
44         });
45         
46         function print_page() {
47             if (!!window.ActiveXObject || "ActiveXObject" in window) {
48                 remove_ie_header_and_footer();
49             }
50             bdhtml=window.document.body.innerHTML; //獲取當前頁的html代碼
51             sprnstr="<!--startprint-->"; //設置打印開始區域
52             eprnstr="<!--endprint-->";//設置打印結束區域
53             prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);//從開始代碼向后取html
54             prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//從結束代碼向前取html
55             window.document.body.innerHTML=prnhtml;
56             window.print();
57             // 這里延遲關閉是因為在加載的東西比較多的時候,可能dom需要的數據還沒加載完就關閉了。這樣會導致數據顯示不全,所以采用延遲關閉的方法防止數據不全。具體延遲多長時間自己控制。
58             setTimeout(cancle,5000);
59         };
60         
61         function remove_ie_header_and_footer() {
62             var hkey_root, hkey_path, hkey_key;
63             hkey_path = "HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
64             try {
65                 var RegWsh = new ActiveXObject("WScript.Shell");
66                 RegWsh.RegWrite(hkey_path + "header", "");
67                 RegWsh.RegWrite(hkey_path + "footer", "");
68             } catch (e) {}
69         }
70         
71         function cancle(){
72             window.close();
73         }
74     </script>
75 </html>

 


 

微信公眾號:敲代碼的小浪漫

歡迎大家關注~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM