夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
          <2010年5月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          公告

          本博客中未注原創(chuàng)的文章均為轉(zhuǎn)載,對轉(zhuǎn)載內(nèi)容可能做了些修改和增加圖片注釋,如果侵犯了您的版權(quán),或沒有注明原作者,請諒解

          常用鏈接

          留言簿(21)

          隨筆分類(644)

          隨筆檔案(669)

          文章檔案(6)

          最新隨筆

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          打印是一個頭痛的問題.
          AxtiveX控件收費(fèi),用戶使用需降低安全級別.
          最后還是打算用webBrowser打印.

          1.js
          /*
          *設(shè)置頁眉和頁腳
          */

          function setPageHF(isSet)
          {
              
          try
              

                  
          var regWriteShell = new ActiveXObject("WScript.Shell");
                  
          var regKey="HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
                  
          if(isSet)
                  
          {
                      
          //設(shè)置
                      regWriteShell.RegWrite(regKey+"header","");
                      regWriteShell.RegWrite(regKey
          +"footer","&b科印傳媒 第&p頁 共&P頁");
                      
          //regWriteShell.RegWrite(regKey+"footer","");
                  }

                  
          else
                  

                      
          //清除
                      regWriteShell.RegWrite(regKey+"header","");
                      regWriteShell.RegWrite(regKey
          +"footer","");
                  }

              }
          catch(e){} 
          }


          /*
          *要完成打印的必須信息
          */

          function writeInfo()
          {
              
          //對象信息
              var objInfo = "<object id='WebBrowser' width=0 height=0 classid='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>";
              document.write(objInfo);
              
              
          //相關(guān)CSS
              var cssInfo = "<style media='print'>";
              cssInfo 
          += ".noPrint{display:none;background-color:#939392;}";
              cssInfo 
          += ".nextPage{page-break-after: always;}";
              cssInfo 
          += "</style>";
              
          //document.write(cssInfo);
          }


          /*
          *打印
          */

          function print()
          {
              document.all.WebBrowser.Execwb(
          6,1);
          }


          /*
          *直接打印
          */

          function printDirect ()
          {
              document.all.WebBrowser.ExecWB(
          6,6);
          }


          /*
          *打印預(yù)覽
          */

          function printView()
          {
              document.all.WebBrowser.ExecWB(
          7,1);
          }


          /*
          *打印設(shè)置
          */

          function printSet()
          {
              document.all.WebBrowser.ExecWB(
          8,1);
          }

          2.table html
             1).第個打印頁有表頭
             2).每頁表格線連續(xù)
          StringBuffer printPageStr = new StringBuffer();
                  
          // 當(dāng)前頁DIV
                  printPageStr.append("<div id=\"page").append(currentPage).append("\" class='nextPage'>");
                  printPageStr.append(
          "<table id=\"table_1");
                  printPageStr.append("\" width=\"100%\" class=\"tabp\"  cellpadding='2' cellspacing='0'>");
                  // 表頭
                  printPageStr.append("<tr>");
                  printPageStr.append(
          "<thead style='display:table-header-group;font-weight:bold;'>");
                  
                  
          for (Object headerName : baseInfoHeadLst)
                  
          {
                      printPageStr.append(
          "<th nowrap=\"nowrap\"  class='thp' style='border-top:1px solid #000000;'>");
                      printPageStr.append(headerName 
          == null ? "" : headerName);
                      printPageStr.append(
          "</th>");
                  }

                  printPageStr.append(
          "</thead></tr>");
                  
          // 表體
                  for(List innerLst : dataLst)
                  
          {
                      printPageStr.append(
          "<tr>");
                      
          for(Object data : innerLst)
                      
          {
                          printPageStr.append(
          "<td nowrap=\"nowrap\" class='tdp'>");
                          printPageStr.append(data 
          == null ? "" : data).append("&nbsp");
                          printPageStr.append(
          "</td>");
                      }

                      printPageStr.append(
          "</tr>");
                  }

                  printPageStr.append(
          "</table>");
                  
                  printPageStr.append(
          "<br/>");
                  printPageStr.append(
          "</div>");
                  
          return printPageStr.toString();

          3.jsp
          <!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>
              
          <title>打印</title>
              
              
          <meta http-equiv="pragma" content="no-cache"/>
              
          <meta http-equiv="cache-control" content="no-cache"/>
              
          <meta http-equiv="expires" content="0"/>    
              
          <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"/>
              
          <meta http-equiv="description" content="This is my page"/>
                
          <script type="text/javascript" src="/js/jquery.js"></script>
                
          <script type="text/javascript" src="/js/print2/print.js"></script>
              
          <style    type="text/css" media='print'> 
                  .noprint 
          {display: none;}
              
          </style> 
              
          <style    type="text/css">
                  .tdp 
                  
          { 
                      border-bottom
          : 1px solid #000000; 
                      border-left
          : 1px solid #000000; 
                      border-right
          : 0 solid #ffffff; 
                      border-top
          : 0 solid #ffffff; 
                  
                  
          }

                  .thp
                  
          {
                      border-bottom
          : 1px solid #000000; 
                      border-left
          : 1px solid #000000; 
                      border-right
          : 0 solid #ffffff; 
                      border-top
          : 1px solid #ffffff; 
                  
          }
           
                  .tabp 
                  
          { 
                      border
          :1px solid #000000;
                      border-top
          :1px solid #000000;
                      border-right
          :2px solid #000000;
                  
          }
           
              
          </style>
              
          <script type="text/javascript">
                   writeInfo();
                  setPageHF(
          true);
                  
                  
          /** 切換行是否打印 */
                  
          function switchPrintRW(tableId)
                  
          {
                      $(
          "#"+tableId).find("tr").dblclick(function(i){
                          
          if($(this).prevAll().length>=0)
                          
          {
                              
          //如果存在則移作此css,如果不存在則添加此css類
                              $(this).find("td").each(function(j){
                                  
          if($(this).css("background-color")!="#939392")
                                  
          {
                                      $(
          this).addClass("noprint");
                                      $(
          this).css({"background-color":"#939392"});
                                  }

                                  
          else
                                  
          {
                                      $(
          this).removeClass("noprint");
                                      $(
          this).css({"background-color":"white"});
                                  }

                              }
          );
                          }

                      }
          );
                  }

                  
                  
          /** 切換列是否打印 */
                  
          function switchPrintTD(tableId)
                  
          {
                      $(
          "#"+tableId).find("th").dblclick(function(){
                          
          //取出第幾列
                          var tdCount = $(this).prevAll().length;
                          
          //取出總列數(shù)
                          var rowTdTotalCount = $("#"+tableId).find("th").length;
                          
          //alert(tdCount + "" + "/" + ""+ rowTdTotalCount);
                          
                          
          //改變列的樣式
                          $(this).toggleClass("noprint");
                          
          if($(this).attr("class").indexOf("noprint")>=0)
                          
          {
                              $(
          this).css({"background-color":"#939392"});
                          }

                          
          else
                          
          {
                              $(
          this).css({"background-color":"white"});
                          }

                              
                          
          //改變列的樣式
                          $("#"+tableId).find('td').each(function(i){
                              
          if(i%rowTdTotalCount == tdCount)
                              
          {
                                  
          //如果存在則移作此css,如果不存在則添加此css類
                                  $(this).toggleClass("noprint");
                                  
          if($(this).attr("class").indexOf("noprint")>=0)
                                  
          {
                                      $(
          this).css({"background-color":"#939392"});
                                  }

                                  
          else
                                  
          {
                                      $(
          this).css({"background-color":"white"});
                                  }

                              }

                          }
          );
                      }
          );
                  }


                  $(document).ready(
          function(){
                      
          // 添加列事件
                      //;switchPrintRW("table_1");
                      switchPrintTD("table_1");    
                  }
          );                
              
          </script>
            
          </head>
            
          <body oncontextmenu="self.event.returnValue=false" onselectstart="return false">
                
          <input type="button" value="打印預(yù)覽" class="noprint"  onClick="javascript:printView();" style="background:#ccc url('../images/button_bg.gif') no-repeat;border:0px;color:#333;width:100px;height:27px;font-size:13px;font-weight:normal;text-align:center;vertical-align:middle;"/><input type="button" value="打印" class="noprint"  onClick="javascript:printSet();" style="background:#ccc url('../images/button_bg.gif') no-repeat;border:0px;color:#333;width:100px;height:27px;font-size:13px;font-weight:normal;text-align:center;vertical-align:middle;"/><input type="button" value="打印" class="noprint"  onClick="javascript:print();" style="background:#ccc url('../images/button_bg.gif') no-repeat;border:0px;color:#333;width:100px;height:27px;font-size:13px;font-weight:normal;text-align:center;vertical-align:middle;"/><%=printPagesStr%>
            
          </body>
          </html>

          posted on 2010-05-27 14:06 HUIKK 閱讀(2103) 評論(2)  編輯  收藏

          評論

          # re: 還是WebBrowser打印 2010-05-27 14:31 惠萬鵬
          <!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">  回復(fù)  更多評論
            

          # re: 還是WebBrowser打印 2010-05-27 14:32 惠萬鵬
          上面這句重要  回復(fù)  更多評論
            


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 务川| 得荣县| 桂阳县| 福海县| 乌兰察布市| 泰宁县| 小金县| 修水县| 郁南县| 隆子县| 绥芬河市| 荔浦县| 普兰县| 湾仔区| 土默特右旗| 龙里县| 贞丰县| 克拉玛依市| 普宁市| 汝州市| 长兴县| 普兰店市| 龙井市| 友谊县| 正定县| 乌苏市| 田阳县| 根河市| 林芝县| 黔西县| 玉环县| 宝兴县| 柳河县| 遂宁市| 广平县| 辛集市| 西城区| 河曲县| 都匀市| 湘潭县| 扶绥县|