WEB打印大全(转)
privatevoidImageButton1_Click(objectsender, System.Web.UI.ImageClickEventArgs e)
{
Response.Clear();
Response.Buffer=true;
Response.AppendHeader("Content-Disposition","attachment;filename=Borrow.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("gb2312");
Response.ContentType="application/ms-excel";
this.EnableViewState=false;
System.Globalization.CultureInfo myCItrad=newSystem.Globalization.CultureInfo("ZH-CN",true);
System.IO.StringWriter oStringWriter=newSystem.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter=newSystem.Web.UI.HtmlTextWriter(oStringWriter);
Table3.RenderControl(oHtmlTextWriter);
Response.Charset="gb2312";
Response.Write(oStringWriter.ToString());
Response.End();
}
红色为导出文件名和要导出页面中的table
<OBJECTid="WebBrowser"height="0"width="0"classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"VIEWASTEXT></OBJECT>
然后就可以依次加入功能按钮了:
<inputonclick="document.all.WebBrowser.ExecWB(6,1)"type="button"value="打印"><inputonclick="document.all.WebBrowser.ExecWB(6,6)"type="button"value="直接打印"><inputonclick="document.all.WebBrowser.ExecWB(8,1)"type="button"value="页面设置"><inputonclick="document.all.WebBrowser.ExecWB(7,1)"type="button"value="打印预览"> <INPUTtype="button"value="关闭窗口"onclick="javascript:window.close()">
将这两块东西放到<centerclass=noprint></center>就不会打印这些按钮了。当然要定义noprint了:
<stylemedia="print">.Noprint{}{DISPLAY:none}</style>只要把不想打印的东西的css设置成noprint就可以了。
现在就实现了基本的web打印,需要注意的情况如下:
必须将ie的internet选项的安全设置中对于没有标记为安全的ActiveX控件进行设置成提示或者启用,否则会报错,导致不可用。
如果在vs.net编辑环境下编辑该页面,它经常自动的给object添加多余的参数,有了这些东西,打印就会出错,所以要记得最后保存的时候删除它们。
为了简便并且达到最好的效果,我们可以在一个页面实现编辑和打印,这时候会需要很多的textbox,我们把它的css设置成.edittext
{
overflow-y:visible;
width: 100%;
border-top: none;
border-right: none;
border-bottom: none;
border-left: none;
}就可以实现在打印的时候不显示边框和multiline的textbox不显示滚动条了。
还有一些小经验就是在设置标格宽度的时候,对于A4纸张,横打用920,竖打用640,效果最好。
(1)<scriptdefer>functionSetPrintSettings(){
//-- advanced features factory.printing.SetMarginMeasure(2)//measure margins in inches factory.SetPageRange(false,1,3)//need pages from 1 to 3 factory.printing.printer="HP DeskJet 870C" factory.printing.copies=2 factory.printing.collate=true factory.printing.paperSize="A4" factory.printing.paperSource="Manual feed"
//-- basic features factory.printing.header="This is MeadCo" factory.printing.footer="Advanced Printing by scriptX" factory.printing.portrait=false factory.printing.leftMargin=1.0 factory.printing.topMargin=1.0 factory.printing.rightMargin=1.0 factory.printing.bottomMargin=1.0}</script>
(2)
<scriptlanguage="javascript"> functionprintsetup(){
//打印页面设置 wb.execwb(8,1);
} functionprintpreview(){
//打印页面预览
wb.execwb(7,1);
}
functionprintit()
{
if(confirm(''确定打印吗?'')){
wb.execwb(6,6)
} } </script></head><body><OBJECTclassid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"
height=0id=wbname=wbwidth=0></OBJECT><inputtype=buttonname=button_printvalue="打印"
onclick="javascript:printit()"><inputtype=button name=button_setupvalue="打印页面设置"
onclick="javascript:printsetup();"><inputtype=button name=button_showvalue="打印预览"
onclick="javascript:printpreview();"><inputtype=buttonname=button_fhvalue="关闭"
onclick="javascript:window.close();">
------------------------------------------------
关于这个组件还有其他的用法,列举如下:
WebBrowser.ExecWB(1,1) 打开
Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
Web.ExecWB(4,1) 保存网页
Web.ExecWB(6,1) 打印
Web.ExecWB(7,1) 打印预览
Web.ExecWB(8,1) 打印页面设置
Web.ExecWB(10,1) 查看页面属性
Web.ExecWB(15,1) 好像是撤销,有待确认
Web.ExecWB(17,1) 全选
Web.ExecWB(22,1) 刷新
Web.ExecWB(45,1) 关闭窗体无提示
2、分页打印
<HTML><HEAD><STYLE>
P{}{page-break-after:always}</STYLE></HEAD><BODY><%whilenotrs.eof%><P><%=rs(0)%></P><%rs.movenext%><%wend%></BODY></HTML>
3、ASP页面打印时如何去掉页面底部的路径和顶端的页码编号
(1)ie的文件-〉页面设置-〉讲里面的页眉和页脚里面的东西都去掉,打印就不出来了。
(2)<HTML><HEAD><TITLE>New Document</TITLE><METANAME="Generator"CONTENT="EditPlus"><METANAME="Author"CONTENT="YC"><scriptlanguage="VBscript">dimhkey_root,hkey_path,hkey_key
hkey_root="HKEY_CURRENT_USER"hkey_path="\Software\Microsoft\Internet Explorer\PageSetup"''//设置网页打印的页眉页脚为空functionpagesetup_null()
onerrorresumenext SetRegWsh=CreateObject("Wscript.Shell")
hkey_key="\header"
RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"" hkey_key="\footer" RegWsh.RegWrite hkey_root+hkey_path+hkey_key,""end function''//设置网页打印的页眉页脚为默认值functionpagesetup_default()
onerrorresumenext SetRegWsh=CreateObject("Wscript.Shell")
hkey_key="\header"
RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&w&b页码,&p/&P" hkey_key="\footer" RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&u&b&d"end function</script></HEAD>
<BODY><br/><br/><br/><br/><br/><br/><palign=center><inputtype="button"value="清空页码"onclick=pagesetup_null()><inputtype="button"value="恢复页吗"onclick=pagesetup_default()><br/>
</p></BODY></HTML>4、浮动帧打印
<scriptLANGUAGE=javascript>functionbutton1_onclick(){
varodoc=window.iframe1.document;
varr=odoc.body.createTextRange();
varstxt=r.htmlText;
alert(stxt)
varpwin=window.open("","print");
pwin.document.write(stxt);
pwin.print();
}</script>4、用FileSystem组件实现WEB应用中的本地特定打印
<scriptLanguage=VBscript>functionprint_onclick//打印函数dim label
label=document.printinfo.label.value//获得HTML页面的数据set objfs=CreateObject("scripting.FileSystemObject")//创建FileSystem组件对象的实例set objprinter=objfs.CreateTextFile ("LPT1:",true)//建立与打印机的连接objprinter.Writeline("__________________________________")//输出打印的内容objprinter.Writeline("| |")
objprinter.Writeline("| 您打印的数据是:"&label&"|”)
objprinter.Writeline("||")
objprinter.Writeline("|_________________________________|")
objprinter.close //断开与打印机的连接
set objprinter=nothing
set objfs=nothing // 关闭FileSystem组件对象
end function
</script>
服务器端脚本:
<%………
set conn=server.CreateObject ("adodb.connection")
conn.Open"DSN=name;UID=XXXX;PWD=XXXX;"set rs=server.CreateObject("adodb.recordset")
rs.Open(“select ……”),conn,1,1
……….%> //与数据库进行交互
HTML页面编码:
<HTML>
………
<FORM ID=printinfo NAME="printinfo">
<INPUT type="button"value="打印>>"id=print name=print > //调用打印函数
<INPUT type=hidden id=text1 name=label value=<%=………%>> //保存服务器端传来的数据
………
</HTML>
<pstyle="page-break-after:always">page1</p><pstyle="page-break-after:always">page2</p>
//设置打印
<br/><objectid="factory"style="display:none"viewastext <br/> classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"<br/> codebase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360"<br/>></object><br/><inputtype=buttonvalue=页面设置onclick="factory.printing.PageSetup()"><br/><inputtype=buttonvalue=打印预览onclick="factory.printing.Preview()"><br/><br/><scriptlanguage=javascript><br/>functionwindow.onload()<br/>{<br/>//-- advanced features <br />factory.printing.SetMarginMeasure(2)//measure margins in inches <br />factory.printing.SetPageRange(false,1,3)//need pages from 1 to 3 <br />factory.printing.printer="HP DeskJet 870C"<br/> factory.printing.copies=2<br/> factory.printing.collate=true<br/> factory.printing.paperSize="A4"<br/> factory.printing.paperSource="Manual feed"<br/>//-- basic features <br />factory.printing.header="居左显示&b居中显示&b居右显示页码,第&p页/共&P页"<br/> factory.printing.footer="(自定义页脚)"<br/> factory.printing.portrait=false<br/> factory.printing.leftMargin=0.75<br/> factory.printing.topMargin=1.5<br/> factory.printing.rightMargin=0.75<br/> factory.printing.bottomMargin=1.5<br/>}<br/>functionPrint(frame){<br/> factory.printing.Print(true, frame)//print with prompt <br />}<br/></script><br/><inputtype=buttonvalue="打印本页"onclick="factory.printing.Print(false)"><br/><inputtype=buttonvalue="页面设置"onclick="factory.printing.PageSetup()"><br/><inputtype=buttonvalue="打印预览"onclick="factory.printing.Preview()"><br><br/><ahref="http://www.meadroid.com/scriptx/docs/printdoc.htm?static"target=_blank>具体使用手册,更多信息,点这里</a><br/> [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
//自带的打印预览
WebBrowser.ExecWB(1,1) 打开
Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
Web.ExecWB(4,1) 保存网页
Web.ExecWB(6,1) 打印
Web.ExecWB(7,1) 打印预览
Web.ExecWB(8,1) 打印页面设置
Web.ExecWB(10,1) 查看页面属性
Web.ExecWB(15,1) 好像是撤销,有待确认
Web.ExecWB(17,1) 全选
Web.ExecWB(22,1) 刷新
Web.ExecWB(45,1) 关闭窗体无提示
<stylemedia=print>.Noprint{}{display:none;}<!--用本样式在打印时隐藏非打印项目-->
.PageNext{}{page-break-after:always;}<!--控制分页-->
</style><objectid="WebBrowser"width=0height=0classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>
<centerclass="Noprint"><inputtype=buttonvalue=打印onclick=document.all.WebBrowser.ExecWB(6,1)><inputtype=buttonvalue=直接打印onclick=document.all.WebBrowser.ExecWB(6,6)><inputtype=buttonvalue=页面设置onclick=document.all.WebBrowser.ExecWB(8,1)></p><p><inputtype=buttonvalue=打印预览onclick=document.all.WebBrowser.ExecWB(7,1)></center>
//去掉打印时的页眉页脚
<br/><scriptlanguage="JavaScript"><br/>varHKEY_Root,HKEY_Path,HKEY_Key;<br/>HKEY_Root="HKEY_CURRENT_USER";<br/>HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";<br/>//设置网页打印的页眉页脚为空 <br />functionPageSetup_Null()<br/>{<br/>try<br/>{<br/>varWsh=newActiveXObject("WScript.Shell");<br/> HKEY_Key="header";<br/> Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");<br/> HKEY_Key="footer";<br/> Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");<br/> }<br/>catch(e){}<br/>}<br/>//设置网页打印的页眉页脚为默认值 <br />functionPageSetup_Default()<br/>{<br/>try<br/>{<br/>varWsh=newActiveXObject("WScript.Shell");<br/> HKEY_Key="header";<br/> Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&w&b页码,&p/&P");<br/> HKEY_Key="footer";<br/> Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d");<br/> }<br/>catch(e){}<br/>}<br/></script><br/><inputtype="button"value="清空页码"onclick=PageSetup_Null()><br/><inputtype="button"value="恢复页码"onclick=PageSetup_Default()><br/> [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
//无模式的提示框
function modelessAlert(Msg)
{
window.showModelessDialog("javascript:alert(\""+escape(Msg)+"\");window.close();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;");
}
转载于:https://www.cnblogs.com/ahjxxy/archive/2009/02/17/1392378.html
WEB打印大全(转)相关推荐
- 移动Web知识点大全
移动Web知识点大全 移动Web 1.字体图标 2.平面转换 3.渐变 4.空间转换 5.动画 6.移动端特点 7.百分比布局 8.Flex布局 9.移动适配 9.1 rem 9.2 less 9.3 ...
- web server大全之GoAhead移植(转载)
转自:http://linux.chinaunix.net/techdoc/develop/2009/06/19/1119124.shtml 注:最近在做goAhead web server和移植其到 ...
- WEB 打印的相关技术分析
文/谢康 做Web开发的人员一定都会面临一个共同的难题,那就是打印.的确,相对于Windows桌面应用程序来讲,Web应用程序的打印有种种限制,技术人员在项目开发过程中经常会遇到用户这样或那样的需求. ...
- java web 打印控件_web打印,web打印控件,dotnet web打印控件,java web打印控件,webprint...
webprint打印参数设置小插件,主要实现打印纸张,边距,打印机等的设置. 主要功能: 设置页眉页脚属性 设置打印页面左右上下边距 设置打印方向,打印份数,打印指定页 打印模版和指定纸型绑定 设置自 ...
- 提示“Web打印服务CLodop未安装启动”的各种原因和解决方法
提示"Web打印服务CLodop未安装启动"的各种原因和解决方法 参考文章: (1)提示"Web打印服务CLodop未安装启动"的各种原因和解决方法 (2)ht ...
- 免费Web打印控件测试
在WEB系统中,打印的确是个烦人的问题----特别是你的应用环境又有很多种类的打印机.如果自己开发打印控件,可能因为项目时间紧而来不及.前段时间有机会接触了一下WEB打印.在博客园.CSDN以及各个论 ...
- 利用WebBrowser实现Web打印的分析
利用WebBrowser实现Web打印的分析 原文:利用WebBrowser实现Web打印的分析 WebBrowser是IE内置的浏览器控件,无需用户下载.本文档所讨论的是有关IE6.0版本的WebB ...
- PAZU 是4Fang 为配合“四方在线”软件于2004年开发的WEB打印控件,适用于各种WEB软件项目的打印。...
PAZU 是4Fang 为配合"四方在线"软件于2004年开发的WEB打印控件,适用于各种WEB软件项目的打印. PAZU是客户端软件,使用于IE作为客户端的所有应用,与服务器端开 ...
- 一起谈.NET技术,在MVC2.0使用Lodop为WEB打印提出完美解决方案
通过好友CallHot介绍Lodopweb打印控件.由于是国人开发的,故这两天认真了研究下,打算在未来的项目中使用.现将学习成果与园友分享.如果存在不足的地方,希望您指出. 具体的实现步骤如下: 一. ...
最新文章
- python比较时间的最大值_时间戳的最大值
- 最佳约会策略及其证明
- Exchange2003的设定及安全管理
- Android 高斯模糊demo
- 大数据Hadoop学习记录(3)----基于JAVA语言的HDFS文件过滤与合并
- 大学里,数据系鄙视物理系,请问二位来自漫画系嘛?
- python3.9性能_谁说Python性能差的
- Mac用brew安装mysql
- Oracle数据库的下载安装教程
- JVM调优实践:记录初次JVM调优经历
- JavaScript删除DOM
- 安卓手机连接Mac电脑可用的管理工具:Android File Transfer
- 免费空间去广告(统计代码)方法:
- 想做IT行业项目管理,面向客户方向的,考ITIL和PMP哪个更好一些?
- 前端、数据库面试要点
- 揭秘三个霸道的引流方法 为你扫清没流量的烦恼
- 原生JavaScript实现连连看游戏
- matlab点符号怎么打出来的,在matlab中怎么输入特殊符号
- 纯C语言写计算器界面
- C/S软件架构设计模式
热门文章
- 【深度学习入门到精通系列】特别正经的合理调参介绍~❤️
- python【Matlibplot绘图库】画图种类(真の能看懂~!)
- python【数据结构与算法】对python抽象的再探索(看不懂你来打我)
- python【力扣LeetCode算法题库】5- 最长回文子串
- 常见OJ评判结果对照表
- mooc浙大数据结构PTA习题之一元多项式的乘法与加法运算
- java concurrency_Java Concurrency - Lock
- web项目导入变java项目_eclipse导入web项目变成java项目解决办法
- zabbix 监控项自动发现过滤_Zabbix监控之配置Linux自动发现与自动注册报警
- mysql库存先进先出_sql 先进先出 库存