asp.Netの「オンデマンド印刷」(印刷する必要がある部分を印刷する)実装コード

8552 ワード

プロセスは簡単です.
まずasp.Netページには印刷開始と印刷終了のタグが設定されており、このタグがWeb閲覧時に表示されないように「」方式を採用しています.例えば:と.
次に関連するJavaScriptコードを書き、具体的なコードは後で参照してください.
印刷ボタンも印刷したくない場合は、印刷ボタンを和の外に含めることに注意してください.
関連コード:
 
  

MasterPageFile="MasterPage.master" Title=" " %>






  
   
       
           
       
       
           
       
   


           
               
                   
                        
                        
                   
                   
                       
                       
                   
                   
                       
                       
                   
                   
                       
                       
                       
                       
                   


                   


                       
                       
                       
                       
                   


                   


                       
                       
                       
                       
                   


                   


                       
                       
                       
                       
                     

                   
                       
                       
                       
                       
                   


                   


                       
                       
                   
                   
                       
                   
                   
                       
                   
                   
                       
                   
               
           

                            

                             

                             

                           
                       

           


  

   


       
   

   

 

";
        eprnstr = "";
        prnhtml = bdhtml.substr(bdhtml.indexOf(sprnstr) + 17);
        prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr));
        window.document.body.innerHTML =  prnhtml;
        var obj = window.document.body;
        doZoom(obj, 18); //
        window.print();
    }

    function doZoom(artibody, size) {
        if (!artibody)
        {
          return;
        }
          setChildNodesByCurrentNode(artibody,size);
    }

    function setChildNodesByCurrentNode(node,size) {
        for(var i=0; i < node.childNodes.length; i++) {
            var artibodyChild = node.childNodes[i];
            if (artibodyChild.nodeType == 1) {
                artibodyChild.className="";
                artibodyChild.style.fontSize = size + 'px';
                artibodyChild.style.fontFamily = ' _GB2312, ,"Times New Roman",Georgia,serif';
                artibodyChild.style.fontWeight = 900;
                if(artibodyChild.childNodes.length>0) {
                    setChildNodesByCurrentNode(artibodyChild,size);
                }
            }
         }
      }

-->

 


のコードを ると、 、windowがわかります.document.body.innerHTMLは、 するページ を するコード(ここではprnhtml)に り てされ、setChildNodesByCurrentNode(artibody,size)を に び して サブノードのスタイルを し、 フォントサイズおよびスタイル をすべて する を する.