天天看點

關于web 列印的總結

1.列印方式選擇   jatoolsPrinter  (這種方式列印是比較好的,可是有一個缺點就是不能列印div裡的地圖,在列印地圖的時候,經常隻列印一小塊。列印地圖的時候,就選第二種方式吧)

在 jsp 頁面引入

<OBJECT  ID="jatoolsPrinter"    CLASSID="CLSID:B43D3361-D075-4BE2-87FE-057188254255" 

              codebase="jatoolsPrinter.cab#version=8,6,1,0"></OBJECT>   之後 就可以調用了

調用方法   

各參數說明  

printer: 設定預設列印機

orientation:  orientation值等于1是縱向列印   orientation值等于2是橫向列印

copyrights: '傑創軟體擁有版權  www.jatools.com'    這個值好像是必須帶的。

更多調用可以參考網站api   http://printfree.jatools.com/  這個是免費版的官網,一般的需求我覺得這個就夠了。

要列印的區域規定id必須是從page1開始

如:

<div class="inner" id="page1">

<center><h1 class="top" id="readdress">方位圖</h1><center>

</div>

列印方法:

 function doPrint(how) {

      var myDoc = {

settings:{printer:'HP LaserJet 1020',orientation:2},//設定預設列印機

documents: document,

      copyrights: '傑創軟體擁有版權  www.jatools.com'

      };

      if(how == '列印預覽...')

        document.getElementById("jatoolsPrinter").printPreview(myDoc );   // 列印預覽

      else if(how == '列印...')

              document.getElementById("jatoolsPrinter").print(myDoc ,true);   // 列印前彈出列印設定對話框

        else 

              document.getElementById("jatoolsPrinter").print(myDoc ,false);      // 不彈出對話框列印   

     } 

1.列印方式選擇   WebBrowser  控件

引入 WebBrowser  控件方式 咋jsp 頁面加入

 <OBJECT id="wb" height="0" width="0" style="display:none" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" name="wb"></OBJECT>

列印前先設定列印頁面頁眉和頁腳 使用修改系統資料庫的方式

方法為

function setPageSetup(){

        try{                 

            var shell = new ActiveXObject("WScript.Shell");     

            //往系統資料庫中寫入值

            shell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\footer","","REG_SZ");//去除頁腳

            shell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\header","","REG_SZ");//去除頁眉           

        }catch(e){

            alert("error:"+e);

        }

    }

列印方法 我這的需求是直接列印(不彈出設定列印機選項),并且要求是橫向列印(這裡我是直接通過修改 控制台 -列印機-預設列印機-設定首選項-橫向列印來做的)

直接列印不彈出設定框的方法

function   myprint(){

   setPageSetup();

    wb.execwb(6,2);  //直接列印,前提是有真正的列印機,虛拟的話好像不行,還是會彈出設定框的

}

關于WebBrowser  的其他方法

 wb.execwb(8,1); // 列印頁面設定

  wb.execwb(7,1);// 列印頁面預覽

下面這些方法還未嘗試,暫時整理一下。

WebBrowser.ExecWB(1,1) 打開 WebBrowser.ExecWB(2,1) 關閉現在所有的IE視窗,并打開一個新視窗 WebBrowser.ExecWB(4,1) 儲存網頁 WebBrowser.ExecWB(6,1) 列印 WebBrowser.ExecWB(7,1) 列印預覽 WebBrowser.ExecWB(8,1) 列印頁面設定 WebBrowser.ExecWB(10,1) 檢視頁面屬性 WebBrowser.ExecWB(15,1) 好像是撤銷,有待确認 WebBrowser.ExecWB(17,1) 全選 WebBrowser.ExecWB(22,1) 重新整理 WebBrowser.ExecWB(45,1) 關閉窗體無提示