Web打印大全

1、控制"纵打"、 横打"和"页面的边距。
(1)

<script defer>
function SetPrintSettings() {
 
// -- 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)

<script language="javascript">
  
function printsetup() {
  
// 打印页面设置
  wb.execwb(8,1);
  }

  
function printpreview() {
  
// 打印页面预览
    
  wb.execwb(
7,1);
     
    
  }


  
function printit()
  
{
  
if (confirm('确定打印吗?')) {
  wb.execwb(6,6)

  }

  }

  
</script>
</head>
<body>
<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=0></OBJECT>
<input type=button name=button_print value="打印" onclick="javascript:printit()">
<input type=button name=button_setup value="打印页面设置" onclick="javascript:printsetup();">
<input type=button name=button_show value="打印预览" onclick="javascript:printpreview();">
<input type=button name=button_fh value="关闭" 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>
<% while not rs.eof%>
<P><%=rs(0)%></P>
<% rs.movenext%>
<%wend%>
</BODY>
</HTML>


3、ASP页面打印时如何去掉页面底部的路径和顶端的页码编号
(1)ie的文件-〉页面设置-〉讲里面的页眉和页脚里面的东西都去掉,打印就不出来了。
(2)

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="YC">
<script language="VBScript">
dim hkey_root,hkey_path,hkey_key
hkey_root
="HKEY_CURRENT_USER"
hkey_path
="\Software\Microsoft\Internet Explorer\PageSetup"
'//设置网页打印的页眉页脚为空
function pagesetup_null()
  
on error resume next
  
Set RegWsh = 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
'//设置网页打印的页眉页脚为默认值
function pagesetup_default()
  
on error resume next
  
Set RegWsh = 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/><p align=center>
<input type="button" value="清空页码" onclick=pagesetup_null()> <input type="button" value="恢复页吗" onclick=pagesetup_default()><br/>

</p>
</BODY>
</HTML>



4、浮动帧打印

<SCRIPT LANGUAGE=javascript>
function button1_onclick() {
  
var odoc=window.iframe1.document;
  
var r=odoc.body.createTextRange();
  
var stxt=r.htmlText;
  alert(stxt)
  
var pwin=window.open("","print");
  pwin.document.write(stxt);
  pwin.print();
}
</SCRIPT>


4、用FileSystem组件实现WEB应用中的本地特定打印

<script Language=VBScript>
function print_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
>




来自:http://www.pcsky.cn/article/list.asp?id=797

posted @ 2007-04-26 13:38  小Dan  阅读(246)  评论(0编辑  收藏  举报