JavaScript 網頁打印處理

JavaScript 網頁打印處理
1、控制"纵打"、 横打”和“页面的边距。
(1)<script defer>
function SetPrintSettings() {

 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"
 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="&#106avascript">
  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 &#118alue="打印"
 &#111nclick="&#106avascript:printit()">
<input type=button name=button_setup &#118alue="打印页面设置"
#111nclick="&#106avascript:printsetup();">
<input type=button name=button_show &#118alue="打印预览"

 


&#111nclick="&#106avascript:printpreview();">
<input type=button name=button_fh &#118alue="关闭"

&#111nclick="&#106avascript: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" &#118alue="清空页码" &#111nclick=pagesetup_null()> <input type="button" &#118alue="恢复页吗" &#111nclick=pagesetup_default()><br/>

</p>
</BODY>
</HTML>
4、浮动帧打印
<SCRIPT LANGUAGE=&#106avascript>
function button1_&#111nclick() {
  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_&#111nclick //打印函数
dim label
label=document.printinfo.label.&#118alue //获得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" &#118alue="打印>>" id=print name=print > //调用打印函数
<INPUT type=hidden id=text1 name=label &#118alue=<%=………%>> //保存服务器端传来的数据
………
</HTML>

 

 


JS函数小集锦

javascript函数一共可分为五类:
   ·常规函数
   ·数组函数
   ·日期函数
   ·数学函数
   ·字符串函数
   1.常规函数
   javascript常规函数包括以下9个函数:
   (1)alert函数:显示一个警告对话框,包括一个OK按钮。
   (2)confirm函数:显示一个确认对话框,包括OK、Cancel按钮。
   (3)escape函数:将字符转换成Unicode码。
   (4)eval函数:计算表达式的结果。
   (5)isNaN函数:测试是(true)否(false)不是一个数字。
   (6)parseFloat函数:将字符串转换成符点数字形式。
   (7)parseInt函数:将符串转换成整数数字形式(可指定几进制)。
   (8)prompt函数:显示一个输入对话框,提示等待用户输入。例如:
   <script language="javascript">
   <!--
   alert("输入错误");
   prompt("请输入您的姓名","姓名");
   confirm("确定否!");
   //-->
   </script>
   (9)unescape函数:解码由escape函数编码的字符。
   2.数组函数
   javascript数组函数包括以下4个函数:
   (1)join函数:转换并连接数组中的所有元素为一个字符串。例:
     function JoinDemo()
     {
      var a, b;
      a = new Array(0,1,2,3,4);
      b = a.join("-");//分隔符
      return(b);//返回的b=="0-1-2-3-4"
     }
   (2)langth函数:返回数组的长度。例:
     function LengthDemo()
     {
      var a, l;
      a = new Array(0,1,2,3,4);
      l = a.length;
      return(l);//l==5
     }
   (3)reverse函数:将数组元素顺序颠倒。例:
    function ReverseDemo()
    {
     var a, l;
     a = new Array(0,1,2,3,4);
     l = a.reverse();
     return(l);
    }
   (4)sort函数:将数组元素重新排序。例:
     function SortDemo()
     {
      var a, l;
      a = new Array("X" ,"y" ,"d", "Z", "v","m","r");
      l = a.sort();
      return(l);
     }
   3.日期函数
   javascript日期函数包括以下20个函数:
   (1)getDate函数:返回日期的“日”部分,值为1~31。例:
    function DateDemo()
    {
     var d, s = "Today's date is: ";
     d = new Date();
     s += (d.getMonth() + 1) + "/";
     s += d.getDate() + "/";
     s += d.getYear();
     return(s);
    }
   (2)getDay函数:返回星期几,值为0~6,其中0表示星期日,1表示星期一,...,6表示星期六。例:
    function DateDemo()
    {
     var d, day, x, s = "Today is: ";
     var x = new Array("Sunday", "Monday", "Tuesday");
     var x = x.concat("Wednesday","Thursday", "Friday");
     var x = x.concat("Saturday");
     d = new Date();
     day = d.getDay();
     return(s += x[day]);
    }
   (3)getHouse函数:返回日期的“小时”部分,值为0~23。例。
    function TimeDemo()
    {
     var d, s = "The current local time is: ";
     var c = ":";
     d = new Date();
     s += d.getHours() + c;
     s += d.getMinutes() + c;
     s += d.getSeconds() + c;
     s += d.getMilliseconds();
     return(s);
    }
   (4)getMinutes函数:返回日期的“分钟”部分,值为0~59。见上例。
   (5)getMonth函数:返回日期的“月”部分,值为0~11。其中0表示1月,2表示3月,...,11表示12月。见前面的例子。
   (6)getSeconds函数:返回日期的“秒”部分,值为0~59。见前面的例子。
   (7)getTime函数:返回系统时间。
    function GetTimeTest()
    {
     var d, s, t;
     var MinMilli = 1000 * 60;
     var HrMilli = MinMilli * 60;
     var DyMilli = HrMilli * 24;
     d = new Date();
     t = d.getTime();
     s = "It's been "
     s += Math.round(t / DyMilli) + " days since 1/1/70";
     return(s);
    }
   (8)getTimezoneOffset函数:返回此地区的时差(当地时间与GMT格林威治标准时间的地区时差),单位为分钟。
    function TZDemo()
    {
     var d, tz, s = "The current local time is ";
     d = new Date();
     tz = d.getTimezoneOffset();
     if (tz < 0)
     s += tz / 60 + " hours before GMT";
     else if (tz == 0)
     s += "GMT";
     else
     s += tz / 60 + " hours after GMT";
     return(s);
    }
   (9)getYear函数:返回日期的“年”部分。返回值以1900年为基数,例如1999年为99。前面有例子。
   (10)parse函数:返回从1970年1月1日零时整算起的毫秒数(当地时间)。
    function GetTimeTest(testdate)
    {
     var d, s, t;
     var MinMilli = 1000 * 60;
     var HrMilli = MinMilli * 60;
     var DyMilli = HrMilli * 24;
     d = new Date();
     t = Date.parse(testdate);
     s = "There are "
     s += Math.round(Math.abs(t / DyMilli)) + " days "
     s += "between " + testdate + " and 1/1/70";
     return(s);
    }
   (11)setDate函数:设定日期的“日”部分,值为0~31。
   (12)setHours函数:设定日期的“小时”部分,值为0~23。
   (13)setMinutes函数:设定日期的“分钟”部分,值为0~59。
   (14)setMonth函数:设定日期的“月”部分,值为0~11。其中0表示1月,...,11表示12月。
   (15)setSeconds函数:设定日期的“秒”部分,值为0~59。
   (16)setTime函数:设定时间。时间数值为1970年1月1日零时整算起的毫秒数。
   (17)setYear函数:设定日期的“年”部分。
   (18)toGMTString函数:转换日期成为字符串,为GMT格林威治标准时间。
   (19)setLocaleString函数:转换日期成为字符串,为当地时间。
   (20)UTC函数:返回从1970年1月1日零时整算起的毫秒数,以GMT格林威治标准时间计算。
   4.数学函数
   javascript数学函数其实就是Math对象,它包括属性和函数(或称方法)两部分。其中,属性主要有下列内容。
   Math.e:e(自然对数)、Math.LN2(2的自然对数)、Math.LN10(10的自然对数)、Math.LOG2E(e的对数,底数为2)、Math.LOG10E(e的对数,底数为10)、Math.PI(π)、Math.SQRT1_2(1/2的平方根值)、Math.SQRT2(2的平方根值)。
   函数有以下18个:
   (1)abs函数:即Math.abs(以下同),返回一个数字的绝对值。
   (2)acos函数:返回一个数字的反余弦值,结果为0~π弧度(radians)。
   (3)asin函数:返回一个数字的反正弦值,结果为-π/2~π/2弧度。
   (4)atan函数:返回一个数字的反正切值,结果为-π/2~π/2弧度。
   (5)atan2函数:返回一个坐标的极坐标角度值。
   (6)ceil函数:返回一个数字的最小整数值(大于或等于)。
   (7)cos函数:返回一个数字的余弦值,结果为-1~1。
   (8)exp函数:返回e(自然对数)的乘方值。
   (9)floor函数:返回一个数字的最大整数值(小于或等于)。
   (10)log函数:自然对数函数,返回一个数字的自然对数(e)值。
   (11)max函数:返回两个数的最大值。
   (12)min函数:返回两个数的最小值。
   (13)pow函数:返回一个数字的乘方值。
   (14)random函数:返回一个0~1的随机数值。
   (15)round函数:返回一个数字的四舍五入值,类型是整数。
   (16)sin函数:返回一个数字的正弦值,结果为-1~1。
   (17)sqrt函数:返回一个数字的平方根值。
   (18)tan函数:返回一个数字的正切值。
   5.字符串函数
   javascript字符串函数完成对字符串的字体大小、颜色、长度和查找等文明作,共包括以下20个函数:
   (1)anchor函数:产生一个链接点(anchor)以作超级链接用。anchor函数设定<A NAME...>的链接点的名称,另一个函数link设定<A HREF=...>的URL地址。
   (2)big函数:将字体加到一号,与<BIG>...</BIG>标签结果相同。
   (3)blink函数:使字符串闪烁,与<BLINK>...</BLINK>标签结果相同。
   (4)bold函数:使字体加粗,与<B>...</B>标签结果相同。
   (5)charAt函数:返回字符串中指定的某个字符。
   (6)fixed函数:将字体设定为固定宽度字体,与<TT>...</TT>标签结果相同。
   (7)fontcolor函数:设定字体颜色,与<FONT COLOR=color>标签结果相同。
   (8)fontsize函数:设定字体大小,与<FONT SIZE=n>标签结果相同。
   (9)indexOf函数:返回字符串中第一个查找到的下标index,从左边开始查找。
   (10)italics函数:使字体成为斜体字,与<I>...</I>标签结果相同。
   (11)lastIndexOf函数:返回字符串中第一个查找到的下标index,从右边开始查找。
   (12)length函数:返回字符串的长度。(不用带括号)
   (13)link函数:产生一个超级链接,相当于设定<A HREF=...>的URL地址。
   (14)small函数:将字体减小一号,与<SMALL>...</SMALL>标签结果相同。
   (15)strike函数:在文本的中间加一条横线,与<STRIKE>...</STRIKE>标签结果相同。
   (16)sub函数:显示字符串为下标字(subscript)。
   (17)substring函数:返回字符串中指定的几个字符。
   (18)sup函数:显示字符串为上标字(superscript)。
   (19)toLowerCase函数:将字符串转换为小写。
   (20)toUpperCase函数:将字符串转换为大写。
用在PHP里的JS打印函数
 
auto=1立即PRINT,否则timeOut毫秒后PRINT,如printPage(0,5000);


function printPage($auto=1,$timeOut=10000) {
if ($auto == 1) {
echo "
< SCRIPT LANGUAGE="JavaScript" >
< !-- Begin
if (window.print) {
window.print();
}
else {
alert(''No printer driver in your PC'');
}
// End -- >
< /script >
n";
}
else {
echo "
< SCRIPT LANGUAGE="JavaScript" >

< !-- Begin
if (window.print) {
setTimeout(''printCheck()'',''$timeOut'');
}
else {
alert(''No printer driver in your PC'');
}
function printCheck() {
agree = confirm(''OK to print now?'');
if (agree) window.print();
}
// End -- >
< /script >
n";
}
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值