to be a guide ,to be an elegant programmer

做一个优雅的码农!

博客园 首页 新随笔 联系 订阅 管理
网页打印界面至少具备以下几点要求
    1、打印按钮工具条 包括 打印、页面设置、打印预览 等
    2、打印页面内容
打印工具条我们可以采用IE的一款未公开的控件进行打印控制。
控件 CLSID:8856F961-340A-11D0-A96B-00C04FD705A2
网页打印本来就是很尴尬的解决方案,所以,我们的浏览器兼容性也就不考虑了,通通IE6以上,相信这个要求也不是很苛刻。
打印页面的内容理所当然使用css控制了,对于一些不想让打印机打印的,则使用css 的设备标签 @media print{}
例如:
1@media print{
2.noprint {
3display:none;
4}

5}
对于不想打印的段落,层,表格,我们设定其noprint样式即可。
打印控制代码如下:
 1 <SCRIPT   language="javascript">   
 2function   Print()   
 3if(confirm("确认要打印吗?")) 
 4{ document.all.wb.execwb(6,6); }  
 5}
   
 6function   PrintView()   
 7    document.all.wb.execwb(7,1);    
 8 }

 9function   PrintSetUp()   { document.all.wb.execwb(8,1);  
10 }
       
11function   CloseWindow()   { document.all.wb.execwb(45,1); 
12window.close();   }
  
13
</SCRIPT>
14<!--控件加载-->
15 <script type="text/javascript">
16AC_AX_RunContent( 'id','wb','height','2','width','3','classid','CLSID:8856F961-340A-11D0-A96B-00C04FD705A2','name','wb','viewastext','VIEWASTEXT' ); //end AC code
17
</script><noscript><OBJECT   id="wb"   height="2"   width="3"   classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" name="wb"   VIEWASTEXT> </OBJECT></noscript>
18

关于 AC_AX_RunContent()函数的说明,该函数是DW的内置库,用于兼容浏览器的,该库文件我在附件中贴出。
打印ToolBox HTML代码如下:

1<div id="printToolbox" class="noprint">
2<input   name="btnPageSet"   id="btnPageSet"   type="button"   class="btn2"   value="页面设置"   onclick="PrintSetUp()"  />
3<input   name="btnPreview"   id="btnPreview"   type="button"   class="btn2"   value="预览"   onclick="PrintView()"   />
4<input   name="btnPrint"   id="btnPrint"   type="button"   value="打印"   class="btn2"   onclick="Print()"   />
5<input   name="btnClose"   id="btnClose"   type="button"   class="btn2"   value="关闭"   onclick="CloseWindow();"   />
6</div>
7

综合以上几步,我们即可以生成打印界面。
附件:AC_AX_RunContent() 需要引用两个js文件
1、AC_RunActiveContent.js
2、AC_ActiveX.js

philips
posted on 2008-06-02 09:21  老苏  阅读(1542)  评论(1编辑  收藏  举报