|
B/S結構導致了Web應用程序中打印的特殊性。
• 程序運行在瀏覽器中,打印機在本地,而文件確可能在服務器上,導致了打印控制不是很靈活。
• 格式如何控制和定制等,是我們開發中可能會面對的問題。
打印文檔的生成
• 1、客戶端腳本方式
一般情況下,主要使用JS 可以分析源頁面的內容,將欲打印的頁面元素提取出來,實現打印。通過分析源文檔的內容,可以生成打印目標文檔。
優點:客戶端獨立完成打印目標文檔的生成,減輕服務器負荷;
缺點:源文檔的分析操作復雜,并且源文檔中的打印內容要有約定。
• 2、服務器端程序方式
利用后臺代碼從數據庫中讀取打印源,生成打印目標文檔。當的頁面生成時,還應適當考慮使用CSS 來實現強制分頁控制。
優點:可以生成內容非常豐富的打印目標文檔,目標文檔的內容的可控性強。由于打印內容是從數據庫中獲取的,所以生成操作相對簡單;
缺點:服務器端負載比較大;
頁面設置
• 頁面設置主要是指設置打印文檔的頁邊距、頁眉、頁腳、紙張等內容。頁面設置將直接影響到打印文檔版面的生成效果,所以它和打印文檔的生成有著密切的關系。比如:表格的行數、大小、位置、字體的大小等。
現有的技術是利用IE6.0 內置的打印模板方式來控制頁面設置,其可以對打印目標文檔產生非常大的影響。打印模板可以控制頁邊距、頁眉、頁腳、奇偶頁等內容,并可以將用戶的設置取得,還可以將設置發送到服務器端。打印模板技術可以自定預覽窗口和打印格式,最大限度地影響目標文檔和打印效果。
IE直接打印
• 即直接調用window.print或者webrower控件的ExecWB方法來打印。
• 優點:方便快捷,客戶端無需任何設置即可。
• 缺點:打印控制不是很靈活。如果直接調用
window.print來打印頁面,頁面上別的元素也會被打印處理,頁頭頁尾的格式也不好控制。
• 常用方法:大部分情況會把查詢的結果綁定到DataGrid上來,然后打印DataGrid。這種情況的打印一般來說格式比較固定簡單,確定后基本不會再作更改。所以可以采用IE直接打印。
【實例代碼】
注:①這是客戶端通過window.print打印指定內容。這里定義sprnstr和eprnstr來指定內容
執行代碼:
<input type="button" name="print" value="預覽并打印" onclick="preview()">NET技術:關于ASP.NET頁面打印技術的總結,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。