1. 程式人生 > >Lodop控制元件NewPage();測試輸出空白頁

Lodop控制元件NewPage();測試輸出空白頁

LODOP.NewPage();和LODOP.NewPageA();是強制分頁語句,兩者的區別可檢視本部落格的相關博文:Lodop強制分頁LODOP.NewPage()和LODOP.NewPageA()
可在列印項之間強制分頁,手動分頁,如果一個任務在不新增列印項的情況下一開始就分頁,結果會怎樣?如果強制分頁之間沒有任何列印項又會怎樣?該文就是測試這兩個的。
如果按照想法,一開始沒列印項就強制分頁,那麼第一頁應該是空白頁,分頁語句之間沒有列印項,應該也會是空白頁,實際測試發現不是這樣的。

一開始沒列印項就強制分頁,在第一個列印項之前,不管多少次分頁,都不會有空白頁。
有列印項之後,該列印項會作為第一頁,往後如果強制分頁之間沒有列印項,會顯示成空白頁。

由於多頁預覽截圖較麻煩,因此把紙張設定小,然後用xps虛擬印表機打印出檔案,一塊用xps檢視器檢視,一起截圖。(列印開發避免浪費紙張,虛擬印表機測試是很有必要的)
效果如圖所示:

測試中JS程式碼:

<script language="javascript" type="text/javascript">   
        var LODOP; //宣告為全域性變數 
    function prn1_preview() {    //單個任務迴圈
      LODOP=getLodop();  
      LODOP.PRINT_INIT("");//初始化在迴圈中
      LODOP.SET_PRINT_PAGESIZE(
1,300,500,""); //不會有空白頁 LODOP.NewPage(); //不會有空白頁 LODOP.NewPage(); //不會有空白頁 LODOP.NewPage(); LODOP.ADD_PRINT_TEXT(75,6,100,20,"文字");//該任務首個列印項 LODOP.NewPage(); //空白頁 LODOP.NewPage(); //空白頁 LODOP.NewPage(); LODOP.ADD_PRINT_TEXT(75,6,100,20,"文字2"
);//該任務第二個列印項 LODOP.PREVIEW(); // LODOP.PRINT_DESIGN(); }; </script>

效果:

這裡沒測試如果NewPage();在最後,也就是最後一個列印項後多次加強制分頁語句,後來測了一下,效果和在初始化後列印項之前加一樣,都不會強制分出空白頁。這裡沒測試如果NewPage();在最後,也就是最後一個列印項後多次加強制分頁語句,後來測了一下,效果和在初始化後列印項之前加一樣,都不會強制分出空白頁。