Asp.net 網頁列印三

來源:互聯網
上載者:User

Asp.net 網頁列印一

Asp.net 網頁列印二

 

前段時間寫了兩篇不用第三方控制項,用純javascript解決asp.net頁面列印的問題。在使用測試中發現了一些問題:比如分頁後的效果不大友好,沒有設定每個頁面的也邊框;頁首頁尾處理不是很好;頁面邊界設定後列印出來不對等。經過這幾天的繼續研究,終於把這些問題全部解決了,可以說的完美的實現了頁面列印、資料分頁、紙張大小設定、頁面邊界設定、頁首頁尾設定(哈哈自己YY一下)。

         這裡分享一下主要解決的幾個問題,希望對大家有所協助

Question:

1.         添加頁面的也邊框,為每個分頁後的頁面最外層添加一個div框,這樣預覽效果更好;

2.         重新設定每個分頁的div嵌套組成;設定頁首、頁尾、頁面等;

3.         設定列印的時候紙張Size,頁面邊界等資訊;

Solution:

1.         為頁面添加一個邊框div,涉及到兩個問題,一個是根據分頁後的頁數,動態產生每個頁面的邊框;第二個是在列印的時候這個邊框不能列印出來應該去掉;那麼如何處理呢?——我的辦法是在頁面中設定一<div id="pageBorderDiv" class="noprint" style="position: absolute;"> </div>然後每次分頁之後動態添加該div的孩子也就是也邊框div層。這樣既解決了顯示邊框的問題,列印的時候這些div也不會被列印了。

2.   每個頁面div組成,如右所示。最外層div的size就是列印紙張的size;裡面第二個div的高度還是為紙張的高度,寬度為紙張size-左右頁面邊界的大小;然後高度又被分成3個部分,分別是被頁首、頁尾、頁面所瓜分。

                                                             

3.   設定列印的時候紙張Size,頁面邊界等資訊,這個是最重要的地方。因為前面我所做的一切都只是個顯示問題,而需要把這些按照所見在列印出來,更關鍵。之前我的列印在設定頁面邊界後之所以出現問題,就出在這裡,沒有設定到也面的大小。這裡我們可以使用css的@page來設定列印page的屬性。 @page

這裡size 就列印紙張的大小,margin就是頁面邊界,因為我們的頁面邊界都設定到了每個頁面的div裡面,所以這裡面的margin值我們設定為0px就行了。

 關於demo 現在還沒有整理出來,等空了整理出來分享。

最近看到大家在關注篇文章希望demo,我抽整理了一下,發在這裡,供大家參考。demo連結如下:

Asp.NetPrintDemo

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.