js調用打印機自動分頁的功能(僅適用於IE瀏覽器)


做個功能需要打印的時候添加分頁,哪怕是內容不夠也需要分頁。

瀏覽器上顯示

打印預覽是這樣的:

模擬打印出來是這樣的

都是顯示的是5頁,方法很簡單。
在需要分頁的位置加上一行代碼:

<div class="PageNext"></div> 

  css樣式是這樣的:

.PageNext{page-break-after: always;} 

  以上就是實現的打印分頁的功能。

另外有幾個打印的常用方法記錄一下。

1、調用打印的方法:

wb.execwb(6,6) 

2、調用打印預覽的方法:

wb.execwb(7,1); 

3、調用打印設置的方法:

wb.execwb(8,1); 

注意:調用以上的方法時,需要在head部分加入一行代碼:

<object id="WebBrowser" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" style="display: none">
    </object>

 否則不能使用該方法。

4、其他的實現打印的方法:

// 調用打印
function callPrint() {
    var srcBody = '', startPrintMark = '', endPrintMark = '', printContent = '';
    srcBody = window.document.body.innerHTML;
    startPrintMark = "<!--startprint-->";
    endPrintMark = "<!--endprint-->";  
    printContent = srcBody.substring(srcBody.indexOf(startPrintMark) + startPrintMark.length); 
    printContent = printContent.substring(0, printContent.indexOf(endPrintMark));
    window.document.body.innerHTML = printContent;
    window.print();
    window.document.body.innerHTML = srcBody;
    window.location.reload();
}

 

<!--startprint-->加在需打印的部分的前面
<!--endprint-->加在需打印部分的后面
但是這樣的打印需要引入相同的css文件,否則樣式就會發生變化。這樣做的好處是,可以自定義打印頁面中的部分內容。
下面是一個簡單的demo,僅供參考。

 

<!doctype html>
<html>
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
  <script type="text/javascript">
  
// 調用打印
function callPrint() {
    var srcBody = '', startPrintMark = '', endPrintMark = '', printContent = '';
    srcBody = window.document.body.innerHTML;
    startPrintMark = "<!--startprint-->";
    endPrintMark = "<!--endprint-->";  
    printContent = srcBody.substring(srcBody.indexOf(startPrintMark) + startPrintMark.length); 
    printContent = printContent.substring(0, printContent.indexOf(endPrintMark));
    window.document.body.innerHTML = printContent;
    window.print();
    window.document.body.innerHTML = srcBody;
    window.location.reload();
}

  </script>
 </head>
 <body>
<div>
<input type="button" id="printButton" onclick="callPrint()" value="打印">
<hr>
<pre>
這里有很多內容,但是我不想打印出來。

現在的我總是心好煩
每天都是寂寞陪我作伴
心中的夢想更是難以實現
蘇州這座城市已沒有我的期盼

現在的鈔票比以前更是難賺
想討個老婆更是難上加難
買套公寓似乎說的那么簡單
實現起來更是比登天還難

誰能告訴我該怎么辦
工作的壓力,生活的難
誰願意把生活來消遣
若不是難過,誰願意抽煙

我的淚水誰為我擦干
我的愛情何時能出現
什么時候才能更有錢
什么時候才能做老板
我看到帥哥美女踏青游玩
心里覺得總是有點孤單
我站在路邊傻傻的期盼
幻想美麗的公主擁入我的心田

樹上的鳥兒歌唱愛很簡單
湖里的鴛鴦在戲水游玩
小朋友在揮手露出可愛笑臉
身邊的媽媽更是美麗的典范

誰能告訴我該怎么辦
工作的壓力,生活的難
誰願意把生活來消遣
若不是難過,誰願意抽煙

我的淚水誰為我擦干
我的愛情何時能出現
什么時候才能更有錢
什么時候才能做老板

誰能告訴我該怎么辦
工作的壓力,生活的難
誰願意把生活來消遣
若不是難過,誰願意抽煙

我的淚水誰為我擦干
我的愛情何時能出現
什么時候才能更有錢
什么時候才能做老板

</pre>

</div>
<hr>
<!--startprint-->
<div>
	這里是我想要打印的部分。<br>
<br>
<br>
<pre>
去大理
詞:郝雲
曲:郝雲
演唱:黃渤

是不是對生活不太滿意

很久沒有笑過又不知為何

既然不快樂又不喜歡這里

不如一路向西去大理

路程有點波折空氣有點稀薄

景色越遼闊 心里越寂寞

不知道誰在何處等待

不知道后來的后來

誰的頭頂上沒有灰塵

誰的肩上沒有過齒痕

也許愛情就在洱海邊等着

也許故事正在發生着

誰的頭頂上沒有灰塵

誰的肩上沒有過齒痕

也許愛情就在洱海邊等着
也許故事正在發生着
</pre>
</div>
<!--endprint-->
 </body>
</html>

  打印出的結果如下圖:

 


免責聲明!

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



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