WEB 打印實(shí)例教程
做 Web 開(kāi)發(fā)的人員一定都會(huì)面臨一個(gè)共同的難題,那就是打印。的確,相對(duì)于 Windows 桌面應(yīng)用程序來(lái)講,Web 應(yīng)用程序 的打印有種種限制,技術(shù)人員在項(xiàng)目開(kāi)發(fā)過(guò)程中經(jīng)常會(huì)遇到用戶(hù)這樣或那樣的需求. 做過(guò)桌面應(yīng)用開(kāi)發(fā)的人都會(huì)非常熟悉水 晶報(bào)表、Active Report 之類(lèi)的報(bào)表控件,它們不僅有簡(jiǎn)單靈活的設(shè)計(jì)界面,更具有非常強(qiáng)大的報(bào)表功能,能滿(mǎn)足各種報(bào)表 的打印需求。而 Web 應(yīng)用則因?yàn)槠涮厥獾某尸F(xiàn)方式,只能尋求其他的解決方案,F(xiàn)在我們來(lái)分析一下目前已經(jīng)成形的 Web 打 印方案:
現(xiàn)有的 Web 打印控制技術(shù)分成幾種方案: 一.自定義控件完成打印
利用 IE 自帶的 WebBrowser 控件實(shí)現(xiàn)打印
利用第三方控件實(shí)現(xiàn)打印
1、自定義控件方式
自定義控件方式就是利用 VB 或 VC 等工具生成 COM 組件,用定義好的打印格式來(lái)分析打印源文件從而實(shí)現(xiàn)打印。只有 將生成的組件下載并注冊(cè)到客戶(hù)機(jī)上,才能實(shí)現(xiàn)在客戶(hù)端的
打印。
難點(diǎn)主要是定義打印格式、如何來(lái)分析打印源文件。現(xiàn)有的比較好的方法是利用 XML 技術(shù)來(lái)全面的解決問(wèn)題,利用 XML 可 以非常容易地定義打印目標(biāo)的文本、表格等內(nèi)容的格式。
但對(duì)程序員的開(kāi)發(fā)要求高,難度比較大。
2、利用 WebBrowser 實(shí)現(xiàn) Web 打印
WebBrowser 是 IE 內(nèi)置的瀏覽器控件,無(wú)需用戶(hù)下載。本文檔所討論的是有關(guān) IE6.0 版本 的 WebBrowser 控件技術(shù)內(nèi)容。 與其相關(guān)的技術(shù)要求有:打印文檔的生成、頁(yè)面設(shè)置、打印操作的實(shí)現(xiàn)等幾個(gè)環(huán)節(jié)。
(一)、打印文檔的生成
1、客戶(hù)端腳本方式
客戶(hù)端腳本分為 VBScript、JavaScript、JScript 幾種腳本語(yǔ)言。在 IE 下開(kāi)發(fā)應(yīng)用使用的語(yǔ)法為 JScript 的語(yǔ)法,由 于它和 JavaScript 幾乎沒(méi)有什么區(qū)別,所以也可以稱(chēng)其為 JavaScript(下面簡(jiǎn)寫(xiě)為 JS)。一般情況下,主要使用 JS 來(lái)實(shí)
現(xiàn) DOM 文檔的分析,DOM 為微軟提出的一種 Web 文檔模型,主要用來(lái)實(shí)現(xiàn) Web 腳本編程。
利用 JS 可以分析源頁(yè)面的內(nèi)容,將欲打印的頁(yè)面元素提取出來(lái),實(shí)現(xiàn)打印。通過(guò)分析源文檔的內(nèi)容,可以生成打印目 標(biāo)文檔。
優(yōu)點(diǎn):客戶(hù)端獨(dú)立完成打印目標(biāo)文檔的生成,減輕服務(wù)器負(fù)荷;缺點(diǎn):源文檔的分析操作復(fù)雜,并且源文檔中的打印內(nèi)容要有約定;
2、服務(wù)器端程序方式 服務(wù)器端程序方式,主要是利用后臺(tái)代碼從數(shù)據(jù)庫(kù)中讀取打印源,生成打印目標(biāo)文檔。當(dāng)?shù)捻?yè)面生成時(shí),還應(yīng)適當(dāng)考慮
使用 CSS 來(lái)實(shí)現(xiàn)強(qiáng)制分頁(yè)控制。
優(yōu)點(diǎn):可以生成內(nèi)容非常的豐富的打印目標(biāo)文檔,目標(biāo)文檔的內(nèi)容的可控性強(qiáng)。由于打印內(nèi)容是從數(shù)據(jù)庫(kù)中獲取的,所 以生成操作相對(duì)簡(jiǎn)單;
缺點(diǎn):服務(wù)器端負(fù)載比較大;
(二)、頁(yè)面設(shè)置 頁(yè)面設(shè)置主要是指設(shè)置打印文檔的頁(yè)邊距、頁(yè)眉、頁(yè)腳、紙張等內(nèi)容。頁(yè)面設(shè)置將直接影響到打印文檔版面的生成效果,
所以它和打印文檔的生成有著密切的關(guān)系。比如:表格的 行數(shù)、大小、位置、字體的大小等。
現(xiàn)有的技術(shù)是利用 IE6.0 內(nèi)置的打印模板方式來(lái)控制頁(yè)面設(shè)置,其可以對(duì)打印目標(biāo)文檔產(chǎn)生非常大的影響。打印模板可以控制頁(yè)邊距、頁(yè)眉、頁(yè)腳、奇偶頁(yè)等內(nèi)容,并可以將用戶(hù)的設(shè)置取得,還可以將設(shè)置發(fā)送到服務(wù)器端。
打印模板技術(shù)可以自定預(yù)覽窗口和打印格式,最大限度地影響目標(biāo)文檔和打印效果。
(三)、打印操作的實(shí)現(xiàn)
此功能的實(shí)現(xiàn)主要是利用 WebBrowser 控件的函數(shù)接口來(lái)實(shí)現(xiàn)打印、打印預(yù)覽(默認(rèn)的)、頁(yè)面設(shè)置(默認(rèn)的)。
2015職稱(chēng)計(jì)算機(jī)考試書(shū)PowerPoint2007中 .. 定價(jià):¥45 優(yōu)惠價(jià):¥42 更多書(shū)籍 | |
2015年全國(guó)職稱(chēng)計(jì)算機(jī)考試教材(2007模 .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書(shū)籍 |