包裝印刷js調(diào)用包裝打印機知識管理_第1頁
包裝印刷js調(diào)用包裝打印機知識管理_第2頁
包裝印刷js調(diào)用包裝打印機知識管理_第3頁
包裝印刷js調(diào)用包裝打印機知識管理_第4頁
包裝印刷js調(diào)用包裝打印機知識管理_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 網(wǎng)頁打印實例 HYPERLINK file:/C:UsersAdministratorDesktop網(wǎng)頁調(diào)用打印機.pdf 網(wǎng)頁打印按鈕的源代碼:javascript:window.print();可以用css控制media printt.a dissplay:blockk.b dissplay:hiddeen好像是這樣。把把你不想打印印的部分cllass設為為b首先在網(wǎng)頁中添添加:然后就可以依次次加入功能按按鈕了: &nnbsp;將這兩塊東西放放到就不會會打印這些按按鈕了。當然然要定義nooprintt了:.Nopriint DISPLLAY: nnone 只要要把不想打印印的東西的ccs

2、s設置成成nopriint就可以以了。現(xiàn)在就實現(xiàn)了基基本的webb打印,需要要注意的情況況如下:1. 必須將iie的interrnet選項項的安全設置置中對于沒有有標記為安全全的ActiiveX控件件進行設置成提示示或者啟用,否否則會報錯,導導致不可用。2. 如果在t編輯環(huán)境下下編輯該頁面面,它經(jīng)常自自動的給obbject添添加多余的參參數(shù),有了這這些東西,打打印就會出錯錯,所以要記記得最后保存存的時候刪除除它們。為了簡便并且達達到最好的效效果,我們可可以在一個頁頁面實現(xiàn)編輯輯和打印,這這時候會需要要很多的teextboxx,我們把它它的css設置成成.editttext overfloow-

3、y:vvisiblle;width: 100%;border-top: none;border-rightt: nonne;border-bottoom: noone;border-left: nonee;就可以實現(xiàn)在在打印的時候候不顯示邊框框和multtilinee的textbbox不顯示示滾動條了。還有一些小經(jīng)驗驗就是在設置置標格寬度的的時候,對于于A4紙張,橫橫打用9200,豎打用6440,效果最最好。相信用B/S方方式做過應用用的人都可能能會遇到這樣樣一個問題,如如何方便、美美觀地實現(xiàn)報報表打印。如如果使用瀏覽覽器的打印菜菜單打印的話話,將把網(wǎng)頁頁上的一些無無用的東西打打到報表上,比比

4、如應用菜單單等。因為選選擇打印菜單單打印網(wǎng)頁將將會把網(wǎng)頁中中的所有內(nèi)容容全部打印出出來,如果你你的應用有分分幀則打印內(nèi)內(nèi)容將包括各各幀中的內(nèi)容容,而你實際際要的內(nèi)容只只是其中一部部分。所以有有很多應用就就只能把打印印功能放到后后臺完成了。 針對這種情況,我們該怎么辦?其實可以有多種方法實現(xiàn)網(wǎng)頁打印功能。一種方法就就是使用專業(yè)業(yè)的打印工具具,如Cryystal Reporrts(水晶晶報表)。用過Vissual SStudioo 5.0的的朋友肯定記記得這個工具具,不過那時時的版本只有有4.幾?,F(xiàn)在在的最新版本本已達9了,近幾個個版本的水晶晶報表都支持持WEB打印。最最簡單的方法法是先用水晶晶報

5、表制作好好模板,然后后使用ASPP帶參數(shù)調(diào)用用制作好的模模板即可。水水晶報表在網(wǎng)網(wǎng)頁上生成報報表后,可以以直接打印,也也可以轉(zhuǎn)存為為其它的比較較通過的文件件如Exceel文件。使使用水晶報表表可以制作出出非常漂亮的的樣式,關(guān)鍵鍵在你對水晶晶報表的開發(fā)發(fā)能力上,但但由于水晶報報表價格較高高,只有當項項目很賺錢時時才買得起。第二種方法法是購買第三三方的網(wǎng)上打打印控件,費費用同水晶報報表相比便宜宜,但效果性性能到底如何何則仁者見仁仁了。第三種方法法是利用樣式式表及JavvaScriipt自定義義函數(shù)實現(xiàn)。通通過樣式表及及JavaSScriptt,實現(xiàn)網(wǎng)頁頁打印,效果果也還可以。在在此有一個實實例請大

6、家看看看。下面是是打印函數(shù)實實現(xiàn)詳解:scriptt langguage=JavaaScrippt tyype=ttext/JJavaSccript!-functioon DP() if (winndow.pprint) var Divv1 = ddocumeent.alll.Divv1.innnerHTMML;var Divv2 = ddocumeent.alll.Divv2.innnerHTMML; / */ Div11、Div2即為為你在打印的的區(qū)域/ 這里根據(jù)據(jù)你要打印的的哪些內(nèi)容,從從原顯示頁面面中用/ divv id=DDiv1Div1/divdiv iid=Divv2Div2/d

7、iv/ 等標示出出來,要打印多少少項目就標示示多少/ * var ccss = stylee typee=texxt/csss meddia=alll +p liine-heeight: 120% +.ftitlle lline-hheightt: 1200%; foont-siize: 118px; colorr: #0000000 +td ffont-ssize: 10px; coloor: #00000000 +/stylle ;/ */ 定義打印印用的CSSS,具體你想想打印出什么么樣的格式全全看你自己/ 了,但要要注意:如果果此處有什么么同網(wǎng)頁中不不一致的,可可能打印/ 出來的頁頁面

8、同網(wǎng)頁格格式、字體可可能會有所不不同/ *var boddy =tablee widtth=6440 boorder=0 ccellsppacingg=0 cellppaddinng=5 + tr + td cclass=fboddy + div alignn=cennter classs=ftittle + DDiv1 + /div + DDiv2 + /td + /tr +/tablle;/ */ 在此處重重新設置的打打印格式,根根據(jù)你的打印印要求,將原原顯示的/ 網(wǎng)頁的DDIV內(nèi)容重重新組合,可可以根據(jù)你原原來的表格內(nèi)內(nèi)容,去掉/ 不要打印印的,你也可可以能下面定定義的nopprint忽

9、忽略掉你不想想打/ 印的東西西,只調(diào)用你你要打印的內(nèi)內(nèi)容,但這樣樣被忽略掉的的地方將/ 打印出空空,不是很美美觀。表格寬寬度要同打印印的紙張寬度度匹配。/ *documennt.boddy.innnerHTMML = centeer + ccss + body + /centter;/ */ 重設doocumennt.boddy,打印文文檔準備就緒緒/ *window.printt();window.histoory.goo(0);/ */ 調(diào)用打印印命令,打印印當前窗口內(nèi)內(nèi)容。當你打打印時其實是是一張新/ 的網(wǎng)頁了了,但網(wǎng)頁文文件還是原先先的。緊接著著調(diào)用/ winddow.hiistory

10、y.go(00),再回到到打印前的頁頁面,效果相相當不差/ *-/scripptstylemedia printt .noprinnt diisplayy:nonee/stylee!-/.nopriint 定義義了noprrint,在在以下不需要要打印的地方方加入claass=nnoprinnt后,用用windoow.priint()打打印就會忽略略-好了,一切切就緒了,現(xiàn)現(xiàn)在要做的就就是調(diào)用DPP函數(shù),如果果你將實現(xiàn)調(diào)調(diào)用的按鈕設設計在同一張張網(wǎng)頁上,則則直接調(diào)用即即可;如果你你用了分幀方方法,實現(xiàn)調(diào)調(diào)用的按鈕是是在另一張網(wǎng)網(wǎng)頁上,則在在DP函數(shù)的第第一行加入wwindoww.focuus(

11、)命令令,否則打印印的只是有按按鈕的網(wǎng)頁。第四種方法法,實現(xiàn)是一一種取巧的方方法。一樣還還是通過調(diào)用用windoow.priint()實實現(xiàn),只是將將你要打印的的內(nèi)容專門生生成一張網(wǎng)頁頁,而打印按按鈕在另一幀幀上。假設報報表網(wǎng)頁在mmainFrrame上,按按鈕在toppFramee上,按鈕調(diào)調(diào)用PrinntRepoorts()函數(shù),PriintRepports()函數(shù)如下下即可實現(xiàn)打打印工作。functioon PriintRepports() /ttopFraame網(wǎng)頁中中的函數(shù)try/ */ 錯誤處理理,如果在mmainFrrame中的的網(wǎng)頁沒有DDP函數(shù)則不不打印/ *window.p

12、arennt.fraames(mainFFrame).DP();catch(ee)alert(no obbject to prrint!); functioon DP() / mainFFrame網(wǎng)網(wǎng)頁中函數(shù)window.focuss();if (winndow.pprint)window.printt();1、控制縱打打、 橫打”和“頁面的邊距距。(1) functioon SettPrinttSettiings() / - advannced ffeaturres factorry.priintingg.SetMMarginnMeasuure(2) / mmeasurre marrgins

13、 in innches factorry.SettPageRRange(falsee, 1, 3) / needd pagees froom 1 tto 3 factorry.priintingg.prinnter = HP DeskJJet 8770C factorry.priintingg.copiies = 2 factorry.priintingg.colllate = truee factorry.priintingg.papeerSizee = AA4 factorry.priintingg.papeerSourrce = Manuual feeed/ - basicc featt

14、ures factorry.priintingg.headder = Thiss is MMeadCoo factorry.priintingg.footter = Advaanced Printting bby ScrriptX factorry.priintingg.porttrait = fallse factorry.priintingg.lefttMargiin = 11.0 factorry.priintingg.topMMarginn = 1.0 factorry.priintingg.righhtMarggin = 1.0 factorry.priintingg.botttom

15、Marrgin = 1.0 (2) functtion pprintssetup() / 打印印頁面設置wb.exxecwb(8,1); functtion pprintpprevieew() / 打印印頁面預覽wb.exxecwb(7,1); functtion pprintiit() if (cconfirrm(確定定打印嗎?) wb.exxecwb(6,6) 關(guān)于這個組件還還有其他的用用法,列舉如如下:WebBrowwser.EExecWBB(1,1) 打開Web.ExeecWB(22,1) 關(guān)關(guān)閉現(xiàn)在所有有的IE窗口,并并打開一個新新窗口Web.ExeecWB(44,1) 保保存網(wǎng)頁W

16、eb.ExeecWB(66,1) 打打印Web.ExeecWB(77,1) 打打印預覽Web.ExeecWB(88,1) 打打印頁面設置置Web.ExeecWB(110,1) 查看頁面屬屬性Web.ExeecWB(115,1) 好像是撤銷銷,有待確認認Web.ExeecWB(117,1) 全選Web.ExeecWB(222,1) 刷新Web.ExeecWB(445,1) 關(guān)閉窗體無無提示2、分頁打印 P paage-brreak-aafter: alwaays 3、ASP頁面面打印時如何何去掉頁面底底部的路徑和和頂端的頁碼碼編號(1)ie的文文件-頁面設置置-講里面的的頁眉和頁腳腳里面的東西西

17、都去掉,打打印就不出來來了。(2) New Documment dim hkeey_rooot,hkeey_patth,hkeey_keyy hkey_rooot=HHKEY_CCURRENNT_USEER hkey_paath=/Softwware/MMicrossoft/IInternnet Exxploreer/PaggeSetuup /設置網(wǎng)頁頁打印的頁眉眉頁腳為空functioon paggesetuup_nulll() on errror rresumee nextt Set RRegWshh = CrreateOObjectt(WSccript.Shelll) hkey_key=

18、/headderRegWssh.ReggWritee hkeyy_roott+hkeyy_pathh+hkeyy_key, hkey_key=/footter RegWssh.ReggWritee hkeyy_roott+hkeyy_pathh+hkeyy_key, end funnctionn /設置網(wǎng)頁頁打印的頁眉眉頁腳為默認認值functioon paggesetuup_deffault() on errror rresumee nextt Set RRegWshh = CrreateOObjectt(WSccript.Shelll) hkey_key=/headderRegWssh.R

19、eggWritee hkeyy_roott+hkeyy_pathh+hkeyy_key,&w&bb頁碼,&p/&P hkey_key=/footter RegWssh.ReggWritee hkeyy_roott+hkeyy_pathh+hkeyy_key,&u&bb&d end funnctionn 4、浮動幀打印印 functioon buttton1_oncliick() var oodoc=wwindoww.ifraame1.ddocumeent; var rr=odocc.bodyy.creaateTexxtRangge(); var sstxt=rr.htmllText; aler

20、tt(stxtt) var ppwin=wwindoww.openn(,printt); pwin.documment.wwrite(stxt); pwin.printt(); 4、用組件實現(xiàn)現(xiàn)WEB應用中中的本地特定定打印 functioon priint_onnclickk /打印印函數(shù)dim labbel label=ddocumeent.prrintinnfo.laabel.vvalue /獲得HTMLL頁面的數(shù)據(jù)據(jù)set objjfs=CrreateOObjectt(Scrriptinng.) /創(chuàng)建組件對象象的實例set objjprintter=obbjfs.CCreateeTe

21、xtFFile (LPT11:,trrue) /建立與打打印機的連接接objprinnter.WWritelline(_) /輸輸出打印的內(nèi)內(nèi)容objprinnter.WWritelline(| |) objprinnter.WWritelline(| 您打印印的數(shù)據(jù)是:&labbel& |”) objprinnter.WWritelline(| |) objprinnter.WWritelline(|_|) objprinnter.cclose /斷開與與打印機的連連接set objjprintter=noothingg set objjfs=noothingg / 關(guān)關(guān)閉組件對象象end

22、funnctionn 服務器端腳本: /與數(shù)據(jù)據(jù)庫進行交互互HTML頁面編編碼: id=prrint nname=pprint /調(diào)調(diào)用打印函數(shù)數(shù)INPUT type=hiddeen id=text11 namee=labeel vallue= /保存存服務器端傳傳來的數(shù)據(jù)可以控制打印區(qū)區(qū)域打印代碼碼先寫入以下代碼碼:functioon doPPrint()var strr=;var artticle;var csss;var strrAdBeggin=;var strrAdEndd=;var strrFontSSize=【大 中 小】var strrdoPriint=ddoPrinnt();

23、var strrTmp;css=+bodyfont-familly:宋體+td,.ff12foont-siize:122px+.f24 fontt-sizee:24pxx;+.f14 fontt-sizee:14pxx;+.titlle14 font-size:14px;line-heighht:1300%+.l17 linee-heigght:1770%;+;str += css;str += ;str += +documment.ttitle+;str += ;str += 新新浪首頁 &ggt; 新聞中中心 ; &nbssp;正文返返回打印;str += ;articlee=docuum

24、ent.getEllementtById(artiicle).inneerHTMLL;if(artiicle.iindexOOf(strrAdBeggin)!=-1)str +=aarticlle.subbstr(00,artiicle.iindexOOf(strrAdBeggin);strTmp=articcle.suubstr(articcle.inndexOff(strAAdEnd)+strAAdEnd.lengtth, arrticlee.lenggth);elsestrTmp=articclestr +=sstrTmppstr += windoow.loccationn.hreffs

25、tr += ;str += ;documennt.wriite(sttr);documennt.cloose();利用文章章正文 實實際是通過設設置id為articcle的區(qū)域域來控制打印印區(qū)域的大小小.打印按鈕:【打印】WebBrowwser是IE內(nèi)置的瀏瀏覽器控件,無無需用戶下載載。本文檔所所討論的是有有關(guān)IE6.0版本的WebbBrowsser控件技技術(shù)內(nèi)容。其其他版本的IIE應該也支支持。與其相相關(guān)的技術(shù)要要求有:打印印文檔的生成成、頁面設置置、打印操作作的實現(xiàn)等幾幾個環(huán)節(jié)。本本文以aspp為例,但是是他可以容易易的移植到其其他web技術(shù)中中。一、WebbBrowsser控件二、Web

26、bBrowdder控件的的方法/打印WebBrowwser1.ExecWWB(6,11);/打印設置WebBrowwser1.ExecWWB(8,11);/打印預覽WebBrowwser1.ExecWWB(7,11);三、實現(xiàn)打打印的設置,打打印數(shù)據(jù)的生生成,打印的的預覽,和打打印。實現(xiàn)打印的的設置,打印印數(shù)據(jù)的生成成,打印的預預覽,和打印印我一般這樣樣做,假如查查詢結(jié)果在aa.asp中中,那么在aa.asp中中放置打印設設置、打印預預覽、打印三三個按鈕。單擊打印設設置按鈕則在在js中執(zhí)行WebbBrowsser1.EExecWBB(8,1),以打開打打印設置窗口口。單擊打印預預覽按鈕則打打開

27、一個b.asp,在在b.aspp中重新生成成打印數(shù)據(jù),然然后在b.aasp中自動動執(zhí)行WebbBrowsser1.EExecWBB(7,1),以打開用用戶預覽界面面。單擊打印按按鈕則也打開開b.aspp,在b.assp中重新生生成打印數(shù)據(jù)據(jù),然后在bb.asp中中自動執(zhí)行WWebBroowser11.ExeccWB(6,1),以自自動打印數(shù)據(jù)據(jù)。四、代碼a.aspp調(diào)用數(shù)據(jù)的的程序就不給給出了。只給給出幾個按鈕鈕的代碼:functioon exeePrintt()liu= wiindow.open(b.assp?do=1,_blankk,leeft=20000,toop=20000,fulll

28、screeen=3);functioon exeePreviiew()window.open(b.assp?do=2,_blankk,leeft=20000,toop=20000,fulllscreeen=3);functioon exeeSettiing()WebBrowwser.EExecWBB(8,1);代碼中打印設置置的代碼很簡簡單,大家很很容易理解。打打印預覽和打打印的按鈕需需要告訴b.asp我們們將要執(zhí)行的的是打印還是是打印預覽。另另外,還要將將查詢字符串串傳遞過去。當當然web高手可可以嘗試其他他方法,以避避免反復重服服務器調(diào)數(shù)據(jù)據(jù),當然初學學者只能通過過多次查詢,以以犧牲性能來

29、來解決打印了了。假設本例中a.asp通過過傳遞一個查查詢串打開了了b.aspp,則在b.aasp中將重重新載入數(shù)據(jù)據(jù)。在這里載載入數(shù)據(jù)后將將數(shù)據(jù)顯示在在網(wǎng)頁上需要要知道每個頁頁要顯示多少少條(PaggeSizee)。顯示的的時候彈出打印窗口,去去掉網(wǎng)址顯示示.functioon winndow.oonloadd() factoryy.prinnting.headeer = -factoryy.prinnting.footeer = -factoryy.prinnting.Printt(truee)factoryy.prinnting.leftMMarginn = 0.2factoryy.pri

30、nnting.topMaargin = 0.55factoryy.prinnting.righttMargiin = 00.2factoryy.prinnting.bottoomMarggin = 1.5WEB打印,去去頁眉和頁腳腳作者: 未知日期:1. IE瀏覽覽器. 文件-頁面設置置.把頁腳去掉就行行了.2.用代碼./有提示的. New Documment dim hkeey_rooot,hkeey_patth,hkeey_keyy hkey_rooot=HHKEY_CCURRENNT_USEER hkey_paath=/Softwware/MMicrossoft/IInternnet E

31、xxploreer/PaggeSetuup /設置網(wǎng)頁頁打印的頁眉眉頁腳為空functioon paggesetuup_nulll() on erroor ressume nnext Set ReggWsh = CreaateObjject(WScriipt.Shhell) hkey_keey=/hheaderr RegWsh.RegWrrite hhkey_rroot+hhkey_ppath+hhkey_kkey, hkey_keey=/ffooterr RegWsh.RegWrrite hhkey_rroot+hhkey_ppath+hhkey_kkey, end funnctionn /

32、設置網(wǎng)頁頁打印的頁眉眉頁腳為默認認值functioon paggesetuup_deffault() on erroor ressume nnext Set ReggWsh = CreaateObjject(WScriipt.Shhell) hkey_keey=/hheaderr RegWsh.RegWrrite hhkey_rroot+hhkey_ppath+hhkey_kkey,&w&b頁碼碼,&p/&P hkey_keey=/ffooterr RegWsh.RegWrrite hhkey_rroot+hhkey_ppath+hhkey_kkey,&u&b&dd end funnction

33、n 2網(wǎng)頁打印實例例第三種方法是利利用樣式表及及JavaScrript自定義函數(shù)實現(xiàn)現(xiàn)。通過樣式式表及JavvaScriipt,實現(xiàn)現(xiàn)網(wǎng)頁打印,效果也也還可以。在在此有一個實實例請大家看看看。下面是是打印函數(shù)實實現(xiàn)詳解:scriptt langguage=JavaaScrippt tyype=ttext/JJavaSccript!- functioon DP() if (winndow.pprint) var Divv1 = ddocumeent.alll.Divv1.innnerHTMML; var Divv2 = ddocumeent.alll.Divv2.innnerHTMML; / *

34、 / Div11、Div22即為你在打打印的區(qū)域/ 這里根據(jù)據(jù)你要打印的的哪些內(nèi)容,從從原顯示頁面面中用/ div idd=Div11Div11/divdiv id=Diiv2Diiv2/divv/ 等標示出出來,要打印印多少項目就就標示多少/ * Var csss = stylee typee=texxt/csss meddia=alll + p linee-heigght: 1120% + .ftitlle lline-hheightt: 1200%; foont-siize: 118px; colorr: #0000000 + td font-size: 10pxx; collor: #0000000 + /sstyle / * / 定義打印印用的CSSS,具體你想想打印出什么么樣的格式全全看你自己/ 了,但要要注意:如果果此處有什么么同網(wǎng)頁中不不一致的,可可能打印/ 出來的頁頁面同網(wǎng)頁格格式、字體可可能會有所不不同/ * var boddy =tablee widtth=6440 bordeer=0 cellsspacinng=0 cellppaddinng=5 + trr + tdd classs=fbbody + divv aliggn=ceenter classs=ftiitle + Diiv1 + /diiv + Div22 + /tdd + /ttr + /tt

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論