<HTML>
<HEAD>
<TITLE>JavaScript利用IE内置打印控件IEWebBrowser进行打印/打印页面设置/打印预览/控制分页打印</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gbk" />
<SCRIPT type="text/javascript">
var hkey_root,hkey_path,hkey_key;
hkey_root="HKEY_CURRENT_USER";
<!--地址的写法很严格的用双斜杠-->
hkey_path="/Software/Microsoft/Internet Explorer/PageSetup";
//设置网页打印的页眉页脚为空
function pagesetup_null(){
try{
var RegWsh = new ActiveXObject("WScript.Shell");
hkey_key="/header";
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"");
hkey_key="/footer";
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"");
}catch(e){}
}
//设置网页打印的页眉页脚为默认值
function pagesetup_default(){
try{
var RegWsh = new ActiveXObject("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");
}catch(e){}
}
function printsetup(){ 
 wb.execwb(8,1); // 打印页面设置
}
function printpreview(){ 
 wb.execwb(7,1);// 打印页面预览
}
function printit() {
 if (confirm('确定打印吗?')) {
  wb.execwb(6,1);
 }
}
</SCRIPT>
<!--media=print 这个属性说明可以在打印时有效-->
<!--希望打印时不显示的内容设置class="Noprint"样式-->
<!--希望人为设置分页的位置设置class="PageNext"样式-->
<style media="print">
<!--
.Noprint{display:none;}
.PageNext{page-break-after:always;}
-->
</style>
<style type="text/css">
<!--
.STYLE1 {font-size: 12px}
-->
</style>
</HEAD>
<BODY>
<!--IE内置打印控件IEWebBrowser-->
<OBJECT id=wb height=0 width=0 classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 name=wb></OBJECT>
<form>
<table width="600" border="1" align="center" cellpadding="0" cellspacing="0" class="STYLE1">
  <tr>
    <td height="17" colspan="3" bgcolor="#0099CC">&gt;&gt;监控信息&gt;&gt;</td>
  </tr>
  <tr>
    <td height="27" align="center" bgcolor="#C6C4DF">序号</td>
    <td align="center" bgcolor="#C6C4DF">学校代码</td>
    <td align="center" bgcolor="#C6C4DF">设备状态</td>
  </tr>
    <tr>
    <td height="17" align="center">1</td>
    <td height="17" align="center">1001</td>
    <td height="17" align="center">正常</td>
  </tr>
  <tr class="PageNext"><!--希望人为设置分页的位置设置class="PageNext"样式-->
    <td height="17" align="center">2</td>
    <td height="17" align="center">1002</td>
    <td height="17" align="center">正常</td>
  </tr>
  <tr>
    <td height="17" align="center">3</td>
    <td height="17" align="center">1003</td>
    <td height="17" align="center">正常</td>
  </tr>
</table>
<DIV align=center>
<!--希望打印时不显示的内容设置class="Noprint"样式-->
<INPUT οnclick=javascript:printit() type=button value=打印 name=button_print class="Noprint"/>
<INPUT οnclick=javascript:printsetup(); type=button value=打印页面设置 name=button_setup class="Noprint" />
<INPUT οnclick=javascript:printpreview(); type=button value=打印预览 name=button_show class="Noprint" />
<input type="button" value="清空页码" οnclick=javascript:pagesetup_null() class="Noprint">
<input type="button" value="恢复页码" οnclick=javascript:pagesetup_default() class="Noprint">
</DIV>
</form>
</BODY>
</HTML>

该Object "wb" 其实就是IE内置打印控件IEWebBrowser,设定 Width 和 Height 为0,在界面上就不显示控件的形状。关于这个组件还有其它用法,列举如下:
WebBrowser.ExecWB(1,1) 打开
Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
Web.ExecWB(4,1) 保存网页
Web.ExecWB(6,1) 打印
Web.ExecWB(6,6) 直接打印
Web.ExecWB(7,1) 打印预览
Web.ExecWB(8,1) 打印页面设置
Web.ExecWB(10,1) 查看页面属性 
Web.ExecWB(17,1) 全选
Web.ExecWB(22,1) 刷新
Web.ExecWB(45,1) 关闭窗体无提示

代码示例:2

<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></OBJECT>
<input name=Button onClick=document.all.WebBrowser.ExecWB(1,1) type=button value=打开>
<input name=Button onClick=document.all.WebBrowser.ExecWB(2,1) type=button value=关闭所有>
<input name=Button onClick=document.all.WebBrowser.ExecWB(4,1) type=button value=另存为>
<input name=Button onClick=document.all.WebBrowser.ExecWB(6,1) type=button value=打印>
<input name=Button onClick=document.all.WebBrowser.ExecWB(6,6) type=button value=直接打印>
<input name=Button onClick=document.all.WebBrowser.ExecWB(7,1) type=button value=打印预览>
<input name=Button onClick=document.all.WebBrowser.ExecWB(8,1) type=button value=页面设置>
<input name=Button onClick=document.all.WebBrowser.ExecWB(10,1) type=button value=属性>
<input name=Button onClick=document.all.WebBrowser.ExecWB(17,1) type=button value=全选>
<input name=Button onClick=document.all.WebBrowser.ExecWB(22,1) type=button value=刷新>
<input name=Button onClick=document.all.WebBrowser.ExecWB(45,1) type=button value=关闭>
<xmp>
关键字 IEWebBrowser﹑execWB﹑打印
IEWebBrowser这个组件的execWB方法整理
1. <object id="WebBrowser" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>
2. 调用方法。
WebBrowser.ExecWB nCmdID, nCmdExecOpt, [pvaIn], [pvaOut]
3. 参数说明。
(a).nCmdID
OLECMDID_OPEN = 1,
OLECMDID_NEW = 2,
OLECMDID_SAVE = 3,
OLECMDID_SAVEAS = 4,
OLECMDID_SAVECOPYAS = 5,
OLECMDID_PRINT = 6,
OLECMDID_PRINTPREVIEW = 7,
OLECMDID_PAGESETUP = 8,
OLECMDID_SPELL = 9,
OLECMDID_PROPERTIES = 10,
OLECMDID_CUT = 11,
OLECMDID_COPY = 12,
OLECMDID_PASTE = 13,
OLECMDID_PASTESPECIAL = 14,
OLECMDID_UNDO = 15,
OLECMDID_REDO = 16,
OLECMDID_SELECTALL = 17,
OLECMDID_CLEARSELECTION = 18,
OLECMDID_ZOOM = 19,
OLECMDID_GETZOOMRANGE = 20
OLECMDID_UPDATECOMMANDS = 21
OLECMDID_REFRESH = 22
OLECMDID_STOP = 23
OLECMDID_HIDETOOLBARS = 24
OLECMDID_SETPROGRESSMAX = 25
OLECMDID_SETPROGRESSPOS = 26
OLECMDID_SETPROGRESSTEXT = 27
OLECMDID_SETTITLE = 28
OLECMDID_SETDOWNLOADSTATE = 29
OLECMDID_STOPDOWNLOAD = 30
上面的关键词都可以在浏览器的菜单里面找到对应的选项﹐大家一看就明白的﹗
(b).nCmdExecOpt
OLECMDEXECOPT_DODEFAULT = 0,
OLECMDEXECOPT_PROMPTUSER = 1,
LECMDEXECOPT_DONTPROMPTUSER = 2,
OLECMDEXECOPT_SHOWHELP = 3
对于这个参数﹐一般来说﹐选1就可以了。
这是调用IE的”另存为”功能的示例﹕
<object id="WebBrowser" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>
<A href="javascript:WebBrowser.ExecWB(4,1);">Save-存储</A>
</xmp>

javascript打印相关推荐

  1. JavaScript 打印结果时多出一个undefined/出现undefined

    JavaScript 打印结果时多出一个undefined/出现undefined 1.检查是否变量未初始化. 如下图,未初始化值就拿来使用,结果会出现undefined. var newStr; 修 ...

  2. 【JavaScript打印100,1000,10000 ......内的素数】自动打印素数

    JavaScript打印100,1000,10000 -内的素数: 在上期中我们判断用户输入的数是否为素数,现在我们不用用户输入,自己直接打印素数,可以实现吗? 很明显是可以的,我们可以用一个for循 ...

  3. javascript打印发票

    几个月前,公司的某一个项目需要连接到打印机打印订单发票,利用javascript的window.print()调用打印页面进行打印.随着时间的推移,客户那边每次打印发票都需要手动进行切割.一个订单的发 ...

  4. 进来看很有趣,用JavaScript打印乘法口诀表 用JavaScript打印加法口诀表 用JavaScript打印菱形 用JavaScript判断是否为回文 用JavaScript解决百只鸡的问题

    每次浪漫主义 [4K超清]五月天<后来的我们>线上版 Mayday Fly TO 2021 希望大家能好好珍惜你身边的那个她,别等失去了才后悔莫及. JavaScript 用JavaScr ...

  5. 前端JavaScript 打印三角形

    1.前端JavaScript 打印三角形 1.前端JavaScript 打印三角形 <!DOCTYPE html> <html lang="en"> < ...

  6. 案例:JavaScript 打印100~1000之间的水仙花数

    JavaScript打印100~1000之间的水仙花数: 一.设计思路: Created with Raphaël 2.2.0开始i=100i<=1000?bai= i / 100shi=(i ...

  7. JavaScript打印三角形

    利用JavaScript打印三角形! 1.直角三角形 ⭐ ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ // i 控制行数for(var i = 0 ; i < 5 ; i++) {// 打印星星,星星的 ...

  8. JavaScript打印水仙花数

    JavaScript打印水仙花数: <!DOCTYPE html> <html lang="en"> <head><meta charse ...

  9. JavaScript打印和预览等

    JavaScript打印和预览等 1.JavaScript局部打印 <input id="btnPrint" type="button" value=&q ...

  10. JavaScript打印杨辉三角

    1.什么是杨辉三角? 1  1 1  1 2 1  1 3 3 1  1 4 6 4 1 上面就是一个简单的杨辉三角的例子 观察一下, 第n行有n个元素, 第n行的第一个元素和第n个元素为1, 其他元 ...

最新文章

  1. 名词解释CPC、CPM、CPA.......[来源于网络]
  2. ping 超时时间_华为交换机ping命令详解
  3. javaweb学习总结(二十四):jsp传统标签开发
  4. java调用julia脚本,Julia请求脚本中的用户输入
  5. Windows 11 任务管理器重磅升级!界面迎来全新设计,十年来首次大改!
  6. 工作215:点击按钮报错
  7. 论文翻译——FingerSound:Recognizing unistroke thumb gestures using a ring
  8. 信息学奥赛一本通(1162:字符串逆序)
  9. 细说JDK动态代理的实现原理
  10. 华软java_广州大学华软软件学院《Java程序设计》期末复习
  11. sqlserver的文件导入到mysql_SQLServer数据导入到MySQL方法介绍
  12. 多导睡眠图(PSG)数据的睡眠阶段分类
  13. ArcGIS数据编码
  14. “不仅仅是土豆”精神
  15. 苹果手机解绑微信支付教程
  16. 文章被推荐到首页,在哪里可以看到?
  17. .NET(C#):await返回Task的async方法
  18. ffmpeg C++推流
  19. 计算机休眠按钮是哪个,电源按钮设置成睡眠好还是休眠好?
  20. TIA博途软件中程序编辑区标题上的收藏快捷指令取消了,如何恢复显示?

热门文章

  1. C#通过Array.Clear部分清除数组的代码
  2. linux中Daemon守护进程编程
  3. 移动前端开发经验小结
  4. PostgreSQL的那点事儿
  5. gcc 5.2.0 编译安装笔记-20151110
  6. Listview点击事件
  7. Flask与Ajax
  8. 证明并推导汉诺塔(河内之塔)问题公式
  9. 项目范围和项目范围管理
  10. 『一本通』差分约束系统