LODOP設置超文本不自動分頁的方法


在LODOP中,超文本超過打印項高度會自動分頁,自動分頁有兩種情況:超過設置的打印項高度,超過紙張。
這里是指高度,超過紙張寬度的超文本不會顯示,會隱藏掉。

如果你不了解什么是LODOP中的超文本打印項,什么是LODOP中的純文本打印項,可查看本博客相關介紹博文:

因為超文本超打印項高度或紙張高度,會自動分頁,這個是是無法去掉的,所以以下三種方法只是變通實現。
如何只打印一頁:
1.縮放,整頁縮放或高度溢出縮放。
2.如果沒有表格項,把內容放到ADD_PRINT_TABLE的一個單元格中。
3.后面的都不打印,不預覽的情況下,設置只打印第一頁。(這種情況是自動分頁了,但是因為是不預覽,所以打印出來只有第一頁),如果預覽,那么會是整個任務,不只是第一頁。

這三個方法前面對應都有博文介紹:
1.整頁縮放和高度溢出縮放
LODOP整頁縮放,寬度、高度溢出縮放

2.放入一個ADD_PRINT_TABLE的一個單元格TD中
LODOP中ADD_PRINT_TABLE、HTM、HTML表格自動分頁測試

3.設置代言該任務的第一頁
Lodop打印控件指定打印任務某幾頁

如上述三個博文的介紹,第二個放入一個ADD_PRINT_TABLE的一個單元格TD中,上面那個博文可以看出,ADD_PRINT_TABLE不斷行,這里輸出一頁的方法,就是如果內容沒有table表格等,只是普通的超文本,可以把超文本內容放到一個table標簽里,這個table只有一個單元格,上述第二個博文是兩個單元格,所以分頁了,第二頁是第二個單元格,如果沒有第二個單元格,那么第一頁的那個表格超過紙張高度的部分,就會隱藏,沒有第二頁。

例如,如下的例子,正常情況下該超文本超過紙張會自動分頁,但是放入一個table的td中,並用ADD_PRINT_TABLE輸出,就不會超過紙張分頁,原理就是利用ADD_PRINT_TABLE不切行的特征。

代碼:(由於超文本代碼太長,用省略號省略中間部分)

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
<a href="javascript:prn1_preview()">打印預覽</a><br>
<a href="javascript:prn2_preview()">打印預覽2</a><br>
<script language="javascript" type="text/javascript">   
        var LODOP; //聲明為全局變量 
    function prn1_preview() {
        LODOP=getLodop(); 
        LODOP.PRINT_INIT("");
        LODOP.ADD_PRINT_TABLE(0,0,"100%","100%","省略超文本");
        //LODOP.PRINT_DESIGN();
        LODOP.PREVIEW();    
    };
function prn2_preview() {
        LODOP=getLodop(); 
        LODOP.PRINT_INIT("");
        LODOP.ADD_PRINT_HTM(0,0,"100%","100%","省略超文本");
        //LODOP.PRINT_DESIGN();
        LODOP.PREVIEW();    
    };
</script> 
</body>

圖示:


如圖,同樣的超文本,超過了紙張的高度,ADD_PRINT_HTM會自動分頁,而把該超文本放入ADD_PRINT_TABLE的一個td中,就會發現超過紙張高度的超文本內容沒有輸出。

默認超文本超過打印項高度,和紙張高度,是會自動分頁的。上述三個方法,只是變通實現超過紙張隱藏后面的超文本。

這種需求應該很少吧,畢竟如果只打一頁,超出的部分不打,那么數據就打不全了,如果縮放,那么又會變形,估計很少用到,但是既然有人有這個需求,還是試驗了幾個方法。


免責聲明!

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



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