包装印刷js调用包装打印机知识管理_第1页
包装印刷js调用包装打印机知识管理_第2页
包装印刷js调用包装打印机知识管理_第3页
包装印刷js调用包装打印机知识管理_第4页
包装印刷js调用包装打印机知识管理_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 网页打印实例 HYPERLINK file:/C:UsersAdministratorDesktop网页调用打印机.pdf 网页打印按钮的源代码:javascript:window.print();可以用css控制media printt.a dissplay:blockk.b dissplay:hiddeen好像是这样。把把你不想打印印的部分cllass设为为b首先在网页中添添加:然后就可以依次次加入功能按按钮了: &nnbsp;将这两块东西放放到就不会会打印这些按按钮了。当然然要定义nooprintt了:.Nopriint DISPLLAY: nnone 只要要把不想打印印的东西的ccs

2、s设置成成nopriint就可以以了。现在就实现了基基本的webb打印,需要要注意的情况况如下:1. 必须将iie的interrnet选项项的安全设置置中对于没有有标记为安全全的ActiiveX控件件进行设置成提示示或者启用,否否则会报错,导导致不可用。2. 如果在t编辑环境下下编辑该页面面,它经常自自动的给obbject添添加多余的参参数,有了这这些东西,打打印就会出错错,所以要记记得最后保存存的时候删除除它们。为了简便并且达达到最好的效效果,我们可可以在一个页页面实现编辑辑和打印,这这时候会需要要很多的teextboxx,我们把它它的css设置成成.editttext overfloow-

3、y:vvisiblle;width: 100%;border-top: none;border-rightt: nonne;border-bottoom: noone;border-left: nonee;就可以实现在在打印的时候候不显示边框框和multtilinee的textbbox不显示示滚动条了。还有一些小经验验就是在设置置标格宽度的的时候,对于于A4纸张,横横打用9200,竖打用6440,效果最最好。相信用B/S方方式做过应用用的人都可能能会遇到这样样一个问题,如如何方便、美美观地实现报报表打印。如如果使用浏览览器的打印菜菜单打印的话话,将把网页页上的一些无无用的东西打打到报表上,比比

4、如应用菜单单等。因为选选择打印菜单单打印网页将将会把网页中中的所有内容容全部打印出出来,如果你你的应用有分分帧则打印内内容将包括各各帧中的内容容,而你实际际要的内容只只是其中一部部分。所以有有很多应用就就只能把打印印功能放到后后台完成了。 针对这种情况,我们该怎么办?其实可以有多种方法实现网页打印功能。一种方法就就是使用专业业的打印工具具,如Cryystal Reporrts(水晶晶报表)。用过Vissual SStudioo 5.0的的朋友肯定记记得这个工具具,不过那时时的版本只有有4.几。现在在的最新版本本已达9了,近几个个版本的水晶晶报表都支持持WEB打印。最最简单的方法法是先用水晶晶报

5、表制作好好模板,然后后使用ASPP带参数调用用制作好的模模板即可。水水晶报表在网网页上生成报报表后,可以以直接打印,也也可以转存为为其它的比较较通过的文件件如Exceel文件。使使用水晶报表表可以制作出出非常漂亮的的样式,关键键在你对水晶晶报表的开发发能力上,但但由于水晶报报表价格较高高,只有当项项目很赚钱时时才买得起。第二种方法法是购买第三三方的网上打打印控件,费费用同水晶报报表相比便宜宜,但效果性性能到底如何何则仁者见仁仁了。第三种方法法是利用样式式表及JavvaScriipt自定义义函数实现。通通过样式表及及JavaSScriptt,实现网页页打印,效果果也还可以。在在此有一个实实例请大

6、家看看看。下面是是打印函数实实现详解: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即为为你在打印的的区域/ 这里根据据你要打印的的哪些内容,从从原显示页面面中用/ 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,具体你想想打印出什么么样的格式全全看你自己/ 了,但要要注意:如果果此处有什么么同网页中不不一致的,可可能打印/ 出来的页页面

8、同网页格格式、字体可可能会有所不不同/ *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;/ */ 在此处重重新设置的打打印格式,根根据你的打印印要求,将原原显示的/ 网页的DDIV内容重重新组合,可可以根据你原原来的表格内内容,去掉/ 不要打印印的,你也可可以能下面定定义的nopprint忽

9、忽略掉你不想想打/ 印的东西西,只调用你你要打印的内内容,但这样样被忽略掉的的地方将/ 打印出空空,不是很美美观。表格宽宽度要同打印印的纸张宽度度匹配。/ *documennt.boddy.innnerHTMML = centeer + ccss + body + /centter;/ */ 重设doocumennt.boddy,打印文文档准备就绪绪/ *window.printt();window.histoory.goo(0);/ */ 调用打印印命令,打印印当前窗口内内容。当你打打印时其实是是一张新/ 的网页了了,但网页文文件还是原先先的。紧接着着调用/ winddow.hiistory

10、y.go(00),再回到到打印前的页页面,效果相相当不差/ *-/scripptstylemedia printt .noprinnt diisplayy:nonee/stylee!-/.nopriint 定义义了noprrint,在在以下不需要要打印的地方方加入claass=nnoprinnt后,用用windoow.priint()打打印就会忽略略-好了,一切切就绪了,现现在要做的就就是调用DPP函数,如果果你将实现调调用的按钮设设计在同一张张网页上,则则直接调用即即可;如果你你用了分帧方方法,实现调调用的按钮是是在另一张网网页上,则在在DP函数的第第一行加入wwindoww.focuus(

11、)命令令,否则打印印的只是有按按钮的网页。第四种方法法,实现是一一种取巧的方方法。一样还还是通过调用用windoow.priint()实实现,只是将将你要打印的的内容专门生生成一张网页页,而打印按按钮在另一帧帧上。假设报报表网页在mmainFrrame上,按按钮在toppFramee上,按钮调调用PrinntRepoorts()函数,PriintRepports()函数如下下即可实现打打印工作。functioon PriintRepports() /ttopFraame网页中中的函数try/ */ 错误处理理,如果在mmainFrrame中的的网页没有DDP函数则不不打印/ *window.p

12、arennt.fraames(mainFFrame).DP();catch(ee)alert(no obbject to prrint!); functioon DP() / mainFFrame网网页中函数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) 关于这个组件还还有其他的用用法,列举如如下:WebBrowwser.EExecWBB(1,1) 打开Web.ExeecWB(22,1) 关关闭现在所有有的IE窗口,并并打开一个新新窗口Web.ExeecWB(44,1) 保保存网页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) 关闭窗体无无提示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 /设置网页页打印的页眉眉页脚为空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 /设置网页页打印的页眉眉页脚为默认认值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、用组件实现现WEB应用中中的本地特定定打印 functioon priint_onnclickk /打印印函数dim labbel label=ddocumeent.prrintinnfo.laabel.vvalue /获得HTMLL页面的数据据set objjfs=CrreateOObjectt(Scrriptinng.) /创建组件对象象的实例set objjprintter=obbjfs.CCreateeTe

21、xtFFile (LPT11:,trrue) /建立与打打印机的连接接objprinnter.WWritelline(_) /输输出打印的内内容objprinnter.WWritelline(| |) objprinnter.WWritelline(| 您打印印的数据是:&labbel& |”) objprinnter.WWritelline(| |) objprinnter.WWritelline(|_|) objprinnter.cclose /断开与与打印机的连连接set objjprintter=noothingg set objjfs=noothingg / 关关闭组件对象象end

22、funnctionn 服务器端脚本: /与数据据库进行交互互HTML页面编编码: id=prrint nname=pprint /调调用打印函数数INPUT type=hiddeen id=text11 namee=labeel vallue= /保存存服务器端传传来的数据可以控制打印区区域打印代码码先写入以下代码码: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的区域域来控制打印印区域的大小小.打印按钮:【打印】WebBrowwser是IE内置的浏浏览器控件,无无需用户下载载。本文档所所讨论的是有有关IE6.0版本的WebbBrowsser控件技技术内容。其其他版本的IIE应该也支支持。与其相相关的技术要要求有:打印印文档的生成成、页面设置置、打印操作作的实现等几几个环节。本本文以aspp为例,但是是他可以容易易的移植到其其他web技术中中。一、WebbBrowsser控件二、Web

26、bBrowdder控件的的方法/打印WebBrowwser1.ExecWWB(6,11);/打印设置WebBrowwser1.ExecWWB(8,11);/打印预览WebBrowwser1.ExecWWB(7,11);三、实现打打印的设置,打打印数据的生生成,打印的的预览,和打打印。实现打印的的设置,打印印数据的生成成,打印的预预览,和打印印我一般这样样做,假如查查询结果在aa.asp中中,那么在aa.asp中中放置打印设设置、打印预预览、打印三三个按钮。单击打印设设置按钮则在在js中执行WebbBrowsser1.EExecWBB(8,1),以打开打打印设置窗口口。单击打印预预览按钮则打打开

27、一个b.asp,在在b.aspp中重新生成成打印数据,然然后在b.aasp中自动动执行WebbBrowsser1.EExecWBB(7,1),以打开用用户预览界面面。单击打印按按钮则也打开开b.aspp,在b.assp中重新生生成打印数据据,然后在bb.asp中中自动执行WWebBroowser11.ExeccWB(6,1),以自自动打印数据据。四、代码a.aspp调用数据的的程序就不给给出了。只给给出几个按钮钮的代码: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我们们将要执行的的是打印还是是打印预览。另另外,还要将将查询字符串串传递过去。当当然web高手可可以尝试其他他方法,以避避免反复重服服务器调数据据,当然初学学者只能通过过多次查询,以以牺牲性能来

29、来解决打印了了。假设本例中a.asp通过过传递一个查查询串打开了了b.aspp,则在b.aasp中将重重新载入数据据。在这里载载入数据后将将数据显示在在网页上需要要知道每个页页要显示多少少条(PaggeSizee)。显示的的时候弹出打印窗口,去去掉网址显示示.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 /设置网页页打印的页眉眉页脚为空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、设置网页页打印的页眉眉页脚为默认认值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网页打印实例例第三种方法是利利用样式表及及JavaScrript自定义函数实现现。通过样式式表及JavvaScriipt,实现现网页打印,效果也也还可以。在在此有一个实实例请大家看看看。下面是是打印函数实实现详解: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即为你在打打印的区域/ 这里根据据你要打印的的哪些内容,从从原显示页面面中用/ 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,具体你想想打印出什么么样的格式全全看你自己/ 了,但要要注意:如果果此处有什么么同网页中不不一致的,可可能打印/ 出来的页页面同网页格格式、字体可可能会有所不不同/ * 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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论