国产高清在线免费观看-国产高清在线免费无码-国产高清在线男人的天堂-国产高清在线视频-国产高清在线视频精品视频-国产高清在线视频伊甸园

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員
ajava.org書(shū)城訂單明細(xì)   [br][br]     [br][br]     [br][br]         [br][br]         [br][br]         [br][br]         [br][br]         [br][br]       [br][br]   [br][br]      [br][br]       [br][br]       [br][br]       [br][br]       [br][br]       [br][br]      [br][br]      [br][br]     

WEB打印的幾種方案

admin
2010年7月9日 23:9 本文熱度 6432
js代碼 [url=#][img]/images/icon_copy.gif[/img][/url]        pagesetup([color=#0000ff]'header'[/color],[color=#0000ff]'ajava.org'[/color]);    pagesetup([color=#0000ff]'footer'[/color],[color=#0000ff]'ajava.orgweb打印系列教程'[/color]);             pagesetup('header','ajava.org');    pagesetup('footer','ajava.orgweb打印系列教程');      [p][br][br] -------------------------------------------一 基于web的打印方案比較分析-------------------------------- [br][br]  基于web的套打,難度在于要將瀏覽器中呈現(xiàn)的html,精確地打印到票據(jù)中,而且能夠?qū)崿F(xiàn)對(duì)分頁(yè)位置的控制。下面就ie瀏覽器所能采用的套打解決方案,來(lái)個(gè)匯總分析,希望對(duì)大家有所幫助。 [br][br]  [b]一、瀏覽器的打印功能菜單[/b] [br][br]  這種方案的優(yōu)勢(shì)是不需要對(duì)瀏覽器作任何擴(kuò)充,是最簡(jiǎn)單的辦法,但問(wèn)題也最多,如: [br][br]  不能精確分頁(yè)。瀏覽器一般是根據(jù)用戶設(shè)置的頁(yè)面大小,web頁(yè)面的內(nèi)容多少,來(lái)自行決定分頁(yè)位置,程序員很難控制。會(huì)有頁(yè)腳頁(yè)眉干擾。 [br][br]  不能準(zhǔn)確對(duì)齊邊邊距及打印文字。 [br][br]  不能解決連續(xù)打印。比如,不是僅打印一張票據(jù),而是連續(xù)一次打印若干個(gè)票據(jù)。 [br][br]  [b]二、使用webbrowser控件+ javascript[/b] [br][br]  這實(shí)際上,是瀏覽器打印功能菜單的一種程序調(diào)用,與打印功能菜單沒(méi)什么兩樣。分頁(yè)的問(wèn)題仍然存在,只不過(guò),可以讓用戶不用去點(diǎn)菜單,直接在網(wǎng)頁(yè)中的一個(gè)按鈕,或一個(gè)鏈接里面調(diào)用罷了。 [br][br]  [b]三 、使用print css[/b] [br][br]  這是一種最理想的實(shí)現(xiàn)web套打的方法。這種方法通過(guò)在html文檔中,嵌入打印相關(guān)的css樣式,來(lái)實(shí)現(xiàn)對(duì)html文檔輸出打印的控制,比如設(shè)置紙張大小,紙張縱橫方向,打印邊距,分頁(yè)等。顯而易見(jiàn),這種方式成本小,不需要下載任何插件,而且跨平臺(tái)性非常好。print css推出已經(jīng)有些時(shí)日,但遺憾的是,至今沒(méi)有一個(gè)廠商的瀏覽器很好地實(shí)現(xiàn)了這些標(biāo)準(zhǔn),這使得程序員目前還不能利用print css進(jìn)行實(shí)際的開(kāi)發(fā)。關(guān)于打印css,參見(jiàn)http://css-discuss.incutio.com/?page=printstylesheets [br][br]  [b]四 、使用pdf文件[/b] [br][br]  用這種方式,就是從服務(wù)器端下載一個(gè)pdf文件流,在ie中用adobe插件打開(kāi),然后用adobe的打印菜單進(jìn)行打印,雖然這種方案,也能實(shí)現(xiàn)精確套打,但需要下載adobe插件。這是國(guó)外報(bào)表工具經(jīng)常推薦的一種打印方法,但在pdf不那么普及的中國(guó),這種方案不是最好選擇。 [br][br]  [b]五 、采用純activex[/b] [br][br]  這種方案就是下載一個(gè)控件,票據(jù)的數(shù)據(jù)不再以html方式呈現(xiàn),而是呈現(xiàn)在activex中。這種方案的優(yōu)點(diǎn)是打印的精確度高,分頁(yè)的可控性好,但缺點(diǎn)也是很明顯的,嵌入activex控件破壞了web應(yīng)用的整體html風(fēng)格,且這樣的控件比較大(一般超過(guò)1m),下載頗費(fèi)時(shí)間)。市場(chǎng)上的非java類(lèi)報(bào)表產(chǎn)品,一般都采用這種方案。 [br][br]  [b]六 、采用applet方式[/b] [br][br]  采用applet方式,分頁(yè)或精確打印,都可以做到完美,但缺點(diǎn)也很明顯,表現(xiàn)在: [br][br]  安裝applet成本巨大。需要下載十幾m的文件。 [br][br]  打印報(bào)表時(shí),需要重新向服務(wù)器檢索數(shù)據(jù),效率低。因?yàn)閍pplet方案,一般采用html方式呈現(xiàn)數(shù)據(jù),打印時(shí)applet必須向服務(wù)器檢索同一張票據(jù)的數(shù)據(jù),看上去,是打印了當(dāng)前頁(yè)的票據(jù),實(shí)際上,applet根本不會(huì)用當(dāng)前html頁(yè)的數(shù)據(jù)來(lái)打印,而是向服務(wù)器下載數(shù)據(jù)到applet中來(lái)打印。也就是說(shuō),打印的話,必須兩次請(qǐng)求,一次html呈現(xiàn),一次用來(lái)打印。 [br][br]  不能解決連續(xù)打印。比如,不是僅打印一張票據(jù),而是連續(xù)一次打印若干個(gè)票據(jù)。 [br][br]  不能解決打印機(jī)設(shè)置問(wèn)題,如存在多臺(tái)打印機(jī)時(shí),總是需要手工選擇,打印到哪一臺(tái)打印機(jī)。 [br][br]  市場(chǎng)上java類(lèi)的報(bào)表工具,一般推薦applet方式來(lái)實(shí)現(xiàn)打印。 [br][br]  [color=red][b]七 、輕量級(jí)的activex打印方式[/b][/color] [br]-----scriptx----- [br] scriptx的免費(fèi)版本好點(diǎn),已經(jīng)能滿足大部分的需求. [br]meadco's scriptx控件有兩種使用方式,一種是做為免費(fèi)版本使用,一種是做為收費(fèi)版本使用,免費(fèi)版本支持的功能要少些,不過(guò)最重要也是最常用的頁(yè)面設(shè)置,它還是提供的,因此使用免費(fèi)版本即可。不過(guò)這兩個(gè)版本用的都是同一個(gè)cab文件,只不過(guò)在代碼設(shè)置中有一些不同。 [br][br]-----pazu (四方)----- [br] pazu 個(gè)人或者商業(yè)使用均真正免費(fèi)授權(quán),無(wú)ip或者域名限制。 [br][br] pazu自2009年6月起采用免費(fèi)的許可,申請(qǐng)時(shí),您必須有確定的ip地址或者域名(主機(jī)名),pazu是綁定ip或者域名的,ip或域名尚未確定的我們不能頒發(fā)授權(quán),另外,授權(quán)一經(jīng)頒發(fā)就不能修改綁定。 綁定的ip和域名必須是最終用戶的,所以,最終用戶的應(yīng)用網(wǎng)站必須和4fang網(wǎng)站做好鏈接,否則 pazu會(huì)因?yàn)闊o(wú)法驗(yàn)證授權(quán)的合法性而不能正常工作(內(nèi)網(wǎng)應(yīng)用除外)。 [br][br]企業(yè)可以購(gòu)買(mǎi)開(kāi)發(fā)集成版(適合項(xiàng)目集成或者產(chǎn)品開(kāi)發(fā)公司,提供keygen工具,自己生成許可授權(quán),不限制發(fā)行) [br][br][br]-----jatoolsprinter(杰表.打印控件)----- [br] 免費(fèi)版本只能在192.168.*** 網(wǎng)段使用,2.0之前的版本有免費(fèi)版本,2.0之后是收費(fèi)的。目前最新版本是4.2.他們可以通過(guò)web腳本來(lái)選擇輸出打印機(jī),紙張大小,打印方向等,不必每次手工設(shè)定。 [br][br]價(jià)格請(qǐng)看:http://jatools.com/print/howtobuy.htm [br][br][br] [br]  對(duì)于簡(jiǎn)單的打印,我們用ie的功能就可以了,對(duì)于需要復(fù)雜的設(shè)置的,建議使用輕量級(jí)的activex打印方式。在接下來(lái)的系列教程里,我們會(huì)一一介紹。 [br][br][br][br]---------------------------------------二 使用ie的打印功能進(jìn)行一般的網(wǎng)頁(yè)打印----------------------------- [br][br]在我們進(jìn)行web開(kāi)發(fā)的時(shí)候,通常會(huì)需要用到打印,然而,由于web技術(shù)的限制及考慮到安全的問(wèn)題,一直以來(lái),web打印的功能都是非常弱的,對(duì)此,我們也只能接受。也許你在開(kāi)發(fā)過(guò)程中經(jīng)常會(huì)遇見(jiàn)客戶對(duì)你說(shuō),“你們系統(tǒng)的打印太差了,你看看excel的打印多好啊,”,面對(duì)這樣的用戶,我們除了苦笑,還能說(shuō)什么呢?如果你對(duì)著他們?nèi)ソ忉屖裁词莃s架構(gòu),什么是cs架構(gòu),不但不能夠解決問(wèn)題,反而會(huì)招致用戶的反感。 [br][br]  那么,我們是不是就什么都不能做了呢?答案當(dāng)然是否定的。利用現(xiàn)有的web技術(shù),再加上針對(duì)求的靈活實(shí)現(xiàn),我們也可以做出漂亮的打印出來(lái)。 [br][br]  在接下來(lái)的幾篇文章里,我將分別介紹幾種打印的方法或技術(shù)。這些方法有的很簡(jiǎn)單,有的稍微復(fù)雜一點(diǎn)。我們還是從基礎(chǔ)做起,先了解最簡(jiǎn)單的打印技術(shù),然后再一步一步提高,這樣也有利于消化技術(shù)。 [br][br]  本篇內(nèi)容講述利用ie提供的簡(jiǎn)單的打印功能,進(jìn)行打印的設(shè)置以及打印。 [br][br]  在ie里打印,我們可以通過(guò)javascript來(lái)調(diào)用window.print()函數(shù)實(shí)現(xiàn)。下面是一個(gè)簡(jiǎn)單的代碼示例。[/p] [p] [/p] java代碼 [url=#][img]/images/icon_copy.gif[/img][/url]     [p] 點(diǎn)擊“打印”后,即可彈出打印窗口,如下圖 [br][br][img]http://dl.javaeye.com/upload/attachment/269213/9991e273-7cd0-3894-a367-5521d62ab6d6.bmp[/img][br] [/p] [p]通過(guò)這個(gè)函數(shù),可以實(shí)現(xiàn)最簡(jiǎn)單的打印功能。如果我們要對(duì)紙張,頁(yè)邊距進(jìn)行設(shè)置,那該怎么做呢? 我們知道,我們可以方便地通過(guò) internet explorer 用戶界面更改頁(yè)邊距、頁(yè)眉和頁(yè)腳設(shè)置和默認(rèn) internet explorer 打印機(jī),ie也提供了一個(gè)叫webbrowser 控件來(lái)供我們調(diào)用,通過(guò)調(diào)用,可以在頁(yè)面上調(diào)出打印的設(shè)置窗口,在設(shè)置窗口里,用戶可以更改頁(yè)邊距、頁(yè)眉和頁(yè)腳設(shè)置等。(但是,在 internet explorer 或 webbrowser 控件下沒(méi)有以編程方式更改這些設(shè)置的方法。在本系列教程的第三篇,我將介紹如何在頁(yè)面上通過(guò)編程的方式來(lái)更改設(shè)置。)我們可以在頁(yè)面上輸入如下代碼來(lái)調(diào)用webbrowser 控件。[/p] java代碼 [url=#][img]/images/icon_copy.gif[/img][/url]                       [p] [/p] [p]上例中的object就是ie提供的打印控件,叫webbrowser,我們?cè)诰W(wǎng)頁(yè)中可以用我們?cè)O(shè)置的id或name來(lái)引用它。 [br][br]  這個(gè)對(duì)象有很用法,其中涉及到打印的有下面三項(xiàng)。 [br][br]  wb.execwb(6,1) 打印 [br][br]  wb.execwb(7,1) 打印預(yù)覽 [br][br]  wb.execwb(8,1) 打印頁(yè)面設(shè)置 [br][br]  點(diǎn)擊“打印”按鈕,即可彈出和window.print()函數(shù)一樣的窗口。 點(diǎn)擊打印預(yù)覽,即可預(yù)覽當(dāng)前頁(yè)面。[/p] [p] [/p] [p][br][img]http://dl.javaeye.com/upload/attachment/269215/6ef00446-139a-33ac-857e-e6fddd458e12.bmp[/img][br] [/p] [p]點(diǎn)擊“頁(yè)面設(shè)置”,即可彈出頁(yè)面設(shè)置窗口,在設(shè)置窗口里,可以對(duì)邊距,頁(yè)眉等進(jìn)行詳細(xì)設(shè)置。 [br][br][img]http://dl.javaeye.com/upload/attachment/269217/ba95de22-7d89-3640-84d6-c7406e38386a.bmp[/img][br] [/p] [p] [/p] [p]通過(guò)以上三個(gè)功能,我們就可以進(jìn)行簡(jiǎn)單的打印和設(shè)置了,對(duì)于一般的打印需求來(lái)說(shuō)基本足夠。 [br][br]  這里需要說(shuō)明的是,“頁(yè)面設(shè)置”中的各個(gè)值,是存儲(chǔ)在用戶的注冊(cè)表中。 [br][br]  下面是 microsoft internet explorer 訪問(wèn)打印設(shè)置的方式: [br][br]  對(duì)于頁(yè)邊距,microsoft internet explorer 首先嘗試從以下注冊(cè)表項(xiàng)中獲取值:[/p] java代碼 [url=#][img]/images/icon_copy.gif[/img][/url] hkey_current_usersoftwaremicrosoftinternet explorerpagesetup hkey_current_usersoftwaremicrosoftinternet explorerpagesetup [p] [/p] [p]如果沒(méi)有此項(xiàng),internet explorer 將通過(guò)從以下注冊(cè)表項(xiàng)中復(fù)制值來(lái)創(chuàng)建此項(xiàng):[/p] [p] [/p] java代碼 [url=#][img]/images/icon_copy.gif[/img][/url] hkey_local_machinesoftwaremicrosoftinternet explorerpagesetup hkey_local_machinesoftwaremicrosoftinternet explorerpagesetup [p] 如果沒(méi)有此項(xiàng),將提供默認(rèn)值。 [br][br]  對(duì)于頁(yè)眉和頁(yè)腳,將從以下項(xiàng)中獲取值:[/p] java代碼 [url=#][img]/images/icon_copy.gif[/img][/url] hkey_current_usersoftwaremicrosoftinternet explorerpagesetup hkey_current_usersoftwaremicrosoftinternet explorerpagesetup [p] 如果沒(méi)有此項(xiàng),將提供默認(rèn)值。 [br][br]  頁(yè)邊距的默認(rèn)值是 0.75, [br][br]  對(duì)于 internet explorer 默認(rèn)打印機(jī),默認(rèn)值將從以下項(xiàng)提供: [/p] [p] [/p] java代碼 [url=#][img]/images/icon_copy.gif[/img][/url] hkey_current_usersoftwaremicrosoftinternet explorerpagesetupprinter   hkey_current_usersoftwaremicrosoftinternet explorerpagesetupprinter   [p] [/p] [p]請(qǐng)注意,這些值作用于整個(gè)系統(tǒng),影響著當(dāng)前用戶的 webbrowser 控件和 internet explorer 的所有實(shí)例。因此,如果你設(shè)置了第一張網(wǎng)頁(yè)的頁(yè)眉是“ajava.org”,那么第二張網(wǎng)頁(yè)的頁(yè)眉也是它。 [br][br]  那么,有沒(méi)有一種辦法,能夠在程序里對(duì)這些選項(xiàng)進(jìn)行設(shè)置,而不需要用戶每次都手工來(lái)設(shè)置呢?請(qǐng)看下面. [br][br][br][br][br][br]------------------------------------三 使用wscript.shell通過(guò)編程方式進(jìn)行復(fù)雜的web打印設(shè)置----------------------------- [br][br]上篇文章介紹了如何進(jìn)行簡(jiǎn)單的打印和設(shè)置,適用與一般的打印要求,如互聯(lián)網(wǎng)上網(wǎng)站的打印。然而,在我們?yōu)檎蚱髽I(yè)開(kāi)發(fā)系統(tǒng)時(shí),打印需求較為復(fù)雜,一般的打印設(shè)置可能滿足不了用戶需求,特別是為了用戶良好的可操作性,不能要求用戶在打印時(shí)都手工進(jìn)行打印設(shè)置,這時(shí),就需要我們?cè)诔绦蚶飳?shí)現(xiàn)對(duì)打印的預(yù)設(shè)置,用戶只需要點(diǎn)擊打印就可以了。 [br][br]  那么如何實(shí)現(xiàn)可編程的打印設(shè)置呢?有很多種方法,本文將介紹wscript.shell來(lái)進(jìn)行打印設(shè)置。 [br][br]  使用wscript.shell,必須要求客戶ie允許 activex進(jìn)行交互。如果是你開(kāi)發(fā)的系統(tǒng)是針對(duì)于特定的用戶群,如一個(gè)政府單位,或一個(gè)企業(yè),那么建議你要求客戶將你的系統(tǒng)加入可信任站點(diǎn)。 [br][br]  從《[ajava原創(chuàng)]web打印系列教程之二--使用ie的打印功能進(jìn)行一般的網(wǎng)頁(yè)打印》一文中,我們知道,頁(yè)邊距,頁(yè)眉,頁(yè)腳是存儲(chǔ)在注冊(cè)表里的。因此,接下來(lái),我們主要是針對(duì)注冊(cè)表進(jìn)行可編程設(shè)置。 [br][br]  請(qǐng)看如下代碼。[/p] js代碼 [url=#][img]/images/icon_copy.gif[/img][/url] ajava.orgweb打印系列教程           [color=#008200]//定義注冊(cè)表位置    [/color] [b][color=#7f0055]var[/color][/b] hkey_path=[color=#0000ff]"hkey_current_user\software\microsoft\internet explorer\pagesetup\"[/color];        [color=#008200]//name的值可為header(頁(yè)眉),footer(頁(yè)腳),margin_bottom(下邊距),margin_left(左邊距),margin_right(右邊距),margin_top(上邊距)。    [/color] [color=#008200]//    [/color] [b][color=#7f0055]function[/color][/b] pagesetup(name,value) {     [b][color=#7f0055]try[/color][/b] {     [b][color=#7f0055]var[/color][/b] wsh=[b][color=#7f0055]new[/color][/b] activexobject([color=#0000ff]"wscript.shell"[/color]);     wsh.regwrite(hkey_path+name,value);     [color=#008200]//修改注冊(cè)表值    [/color] }     [b][color=#7f0055]catch[/color][/b](e){        alert([color=#0000ff]'需要運(yùn)行運(yùn)行activex才能進(jìn)行打印設(shè)置。'[/color]);    }     }         ajava.orgweb打印系列教程           //定義注冊(cè)表位置    var hkey_path="hkey_current_user\software\microsoft\internet explorer\pagesetup\";        //name的值可為header(頁(yè)眉),footer(頁(yè)腳),margin_bottom(下邊距),margin_left(左邊距),margin_right(右邊距),margin_top(上邊距)。    //    function pagesetup(name,value) {     try {     var wsh=new activexobject("wscript.shell");     wsh.regwrite(hkey_path+name,value);     //修改注冊(cè)表值    }     catch(e){        alert('需要運(yùn)行運(yùn)行activex才能進(jìn)行打印設(shè)置。');    }     }         [p] [/p] [p] [/p] [p]面的代碼是本道寫(xiě)的一個(gè)簡(jiǎn)單的函數(shù),它可以對(duì)header(頁(yè)眉),footer(頁(yè)腳),margin_bottom(下邊距),margin_left(左邊距),margin_right(右邊距),margin_top(上邊距)進(jìn)行設(shè)置。 [br][br]  如果你想對(duì)一個(gè)要打印的網(wǎng)頁(yè)通過(guò)編程方式進(jìn)行以上設(shè)置,只需要調(diào)用pagesetup即可。例如:[/p] [p]如果你沒(méi)有把站點(diǎn)加到可信任站點(diǎn),那么在執(zhí)行上面的代碼時(shí),可能會(huì)彈出一個(gè)對(duì)話框。如下。[/p] [p]  圖片1[/p] [p]  選擇“是”,程序即對(duì)打印進(jìn)行了設(shè)置。如果你打開(kāi)頁(yè)面設(shè)置窗口,你會(huì)發(fā)現(xiàn),頁(yè)眉,頁(yè)腳,已經(jīng)被修改了。[/p] [p]  圖片1[/p] [p]  對(duì)于頁(yè)邊距的值,你只需要根據(jù)你自己的版面要求進(jìn)行設(shè)置成相關(guān)的值就可以了。下面主要講一下頁(yè)眉頁(yè)腳的詳細(xì)值?!⊥ǔN覀儠?huì)在頁(yè)眉加上網(wǎng)頁(yè)的標(biāo)題,在頁(yè)腳加上頁(yè)面代碼,日期等等,我們?cè)撊绾卧O(shè)置呢?[/p] [p]  下面就是可供我們使用的一些項(xiàng)目及值。[/p] [p]  鍵入 要打印[/p] [p]  &w 窗口標(biāo)題[/p] [p]  &u 網(wǎng)頁(yè)地址 (url)[/p] [p]  &d 短日期格式(由“控制面板”中的“區(qū)域設(shè)置”指定)[/p] [p]  &d 長(zhǎng)日期格式(由“控制面板”中的“區(qū)域設(shè)置”指定)[/p] [p]  &t 由“控制面板”中的“區(qū)域設(shè)置”指定的時(shí)間格式[/p] [p]  &t 24 小時(shí)時(shí)間格式[/p] [p]  &p 當(dāng)前頁(yè)號(hào)[/p] [p]  &p 網(wǎng)頁(yè)總數(shù)[/p] [p]  && 單個(gè) & 號(hào) (&)[/p] [p]  &b 緊跟在這些字符之后的文本居中打印。[/p] [p]  &b&b 緊跟在第一個(gè) "&b" 之后的文本居中打印,跟在第二個(gè) "&b" 之后的文本按右對(duì)齊方式打印。[/p] [p]  光看這些說(shuō)明可能有些不直觀,我們還是來(lái)點(diǎn)例子吧。[/p]        [br][br]pagesetup('header','&b&w&b&d');    [br][br]pagesetup('footer','ajava.org網(wǎng)站出品&b&w&b第&p頁(yè),共&p頁(yè)');    [br][br]    [p]  運(yùn)行后頁(yè)眉如下圖。[/p] [p]圖片1[/p] [p]  頁(yè)腳如下圖。[/p] [p][url=http://img.ddvip.com/2009_03_24/1237876151_ddvip_2447.png]  圖片看不清楚?請(qǐng)點(diǎn)擊這里查看原圖(大圖)。[/url][/p] [p]  圖片1[/p] [p]  對(duì)于其他的參數(shù)都很好理解,這里我只解釋一下如何居左,居中,居右。[/p] [p]  要想居中,使用“&b”,緊跟在這些字符之后的文本居中打印。例如“&b教程”,那么“教程”就會(huì)居中。[/p] [p]  要想居右,就在居中的后面再加上“&b”。例如“&b教程&b打印系列”,那么“教程”就會(huì)居中,打印系列就會(huì)居右。[/p] [p]  如果你不想居中,只要居右,“&b&b打印系列”這樣就可以了。[/p] [p]  第一個(gè)“&b”前面的文字都是居左。[/p] [p]  通過(guò)wscript.shell的使用,我們已經(jīng)可以通過(guò)編程方式進(jìn)行打印設(shè)置了,應(yīng)該說(shuō),普通的打印需求都可以實(shí)現(xiàn)了。但是,在日常的打印里,還有一種特色的需求,那就是分頁(yè),對(duì)于分頁(yè)打印,我們?cè)撊绾螌?shí)現(xiàn)呢?請(qǐng)看《[ajava原創(chuàng)]web打印系列教程之四--簡(jiǎn)單的web打印分頁(yè)設(shè)置》[/p] [p]  在講述如何分頁(yè)打印之前,我們有必要先了解一下css中不為人知的一些用法。[/p] [p]  css里media的使用[/p] [p]  我們?cè)诰W(wǎng)頁(yè)里引用外部的css文件時(shí),通常是用如下的代碼:[/p]    [p][/p] [p]  實(shí)際上,上面的link對(duì)象里,我們是省略了一個(gè)叫“media”的屬性,這個(gè)屬性指定樣式表規(guī)則用于指定的設(shè)備類(lèi)型。它有如下值可用:[/p] [p]  all-- 用于所有設(shè)備類(lèi)型[/p] [p]  aural-- 用于語(yǔ)音和音樂(lè)合成器[/p] [p]  braille-- 用于觸覺(jué)反饋設(shè)備[/p] [p]  embossed-- 用于凸點(diǎn)字符(盲文)印刷設(shè)備[/p] [p]  handheld-- 用于小型或手提設(shè)備[/p] [p]  print-- 用于打印機(jī)[/p] [p]  projection-- 用于投影圖像,如幻燈片[/p] [p]  screen-- 用于計(jì)算機(jī)顯示器[/p] [p]  tty-- 用于使用固定間距字符格的設(shè)備。如電傳打字機(jī)和終端[/p] [p]  tv-- 用于電視類(lèi)設(shè)備[/p] [p]  這么多的值,并不是每個(gè)都可用,因?yàn)闉g覽器廠商并沒(méi)有全部實(shí)現(xiàn)它們。[/p] [p]  在ie里面,可用的值有all,print,screen三個(gè)。上面的代碼里,我們沒(méi)有使用“media”,實(shí)際上ie或其他瀏覽器是用了“all”這個(gè)值?!皊creen”,用于顯示器,也就是我們一般看到的效果?!皃rint”,用于打印的效果。[/p] [p]  也就是說(shuō),我們沒(méi)有指定“media”,那么我們看到的效果和打印的效果,它們用的都是同樣的css文件。如果我們指定了一個(gè)“screen”,又指定了一個(gè)“print”,那么在打印時(shí)就會(huì)用“print”指定的css來(lái)渲染網(wǎng)頁(yè)并打印。例如一個(gè)網(wǎng)頁(yè)里有如下代碼:[/p]      [br][br]    [p]  那就表示,我們通過(guò)ie看到的網(wǎng)頁(yè),用到的css文件是mycss.css,而通過(guò)ie打印時(shí)用到的css文件則是myprintcss.css。想到什么了嗎?對(duì),我們可以通過(guò)print的設(shè)置,來(lái)讓網(wǎng)頁(yè)上的一些不需要打印的內(nèi)容隱藏起來(lái),比如,打印按鈕。實(shí)際上,media還可以這樣使用:[/p]    [br][br]//這里定義你要打印時(shí)用到的css類(lèi)    [br][br]   [p]  或者這樣使用:[/p]    [p]  css里用于打印的屬性[/p] [p]  page-break-after : auto | always | avoid | left | right | null[/p] [p]  參數(shù):[/p] [p]  auto : 假如需要在對(duì)象之后插入頁(yè)分割符[/p] [p]  always :始終在對(duì)象之后插入頁(yè)分割符[/p] [p]  avoid : 避免在對(duì)象后面插入頁(yè)分割符[/p] [p]  left : 在對(duì)象后面插入頁(yè)分割符直到它到達(dá)一個(gè)空白的左頁(yè)邊[/p] [p]  right :在對(duì)象后面插入頁(yè)分割符直到它到達(dá)一個(gè)空白的右頁(yè)邊[/p] [p]  null : 空值。ie5用來(lái)取消頁(yè)分割符設(shè)置[/p] [p]  這個(gè)page-break-after,主要用來(lái)在打印時(shí)插入一個(gè)分頁(yè)符,分頁(yè)就靠它了。它還有個(gè)雙胞胎的兄弟,叫page-break-before,參數(shù)和它一樣,看名字即知道它是用來(lái)在對(duì)象之前插入分頁(yè)符。[/p] [p]示例[/p] [p]  在理解了以上兩個(gè)css用法后,下面通過(guò)一個(gè)示例來(lái)說(shuō)明如何分頁(yè)。[/p]    [br][br]    [br][br]   ajava.org書(shū)城訂單明細(xì)   [br][br]     [br][br]    [br][br]   [br][br]   [br][br] 
   [br][br]    [br][br]   [br][br]   [br][br]   [br][br]   [br][br]   [br][br]
   [br][br]    [br][br]
書(shū)名價(jià)格送貨地址送貨時(shí)間狀態(tài)
《java 編程思想》¥60.00伊拉克巴格達(dá)總統(tǒng)府9棟8單元7門(mén)654室2009-8-8已送達(dá)

該文章在 2010/7/9 23:09:22 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产av永久无码精品网站 | 亚洲欧美一区二区三区日产 | 精品国产乱码一区二区三区麻豆 | 日韩欧美一区二区三区 | 亚洲一区国产 | 95国产欧洲精华液 | 亚洲久热中文字幕在线 | 国产成人av免在线观看 | 无码国产在线视频一区二区三区 | 中国无码一二三区别免费 | 欧美片内射欧美美美妇 | 99热这里只有精品9 99热这里只有精品免费 | 精品日本一区二区三区在线观 | 亚洲av无码西西人体 | 久久久91精品国产一区二区三 | 992tv午夜视频免费观看 | 国产精品ⅴideossex国产高清 | 国产一级无码不卡视频 | 国产精品色欲AV亚洲三区软件 | 国产亚洲精品资源在线26u | 亚洲国产精品无码中文在线 | 日本理伦片午夜理伦片 | 激情A片久久久久久久 | 人妻亚洲中文字幕漫画免费视频久久gogogo高清在线观 | 被灌满了嗯不行NP | 99热最新在线 | 亚洲国产午夜福利在线视频 | 少妇被爽到高潮动态图 | 日韩欧美成人免费观看 | 亚洲911精品成人18 | 久久精品国产一区二区三区肥胖 | 人妻少妇精品无码专区二区 | 丝袜美腿国产综合久久 | 国产强奷在线播放免费不卡 | 久久伊人精品一区二区三区 | 亚洲精品无码AAAAAA片 | 亚洲精品久久午夜无码一区二区 | 妺妺窝人体色WWW网站 | 婷婷丁香中文在线综合一区 | 91精品丝袜网站 | 无套内谢孕妇 |