前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WEB页面打印方法,包括如何设置打印分页(转)

WEB页面打印方法,包括如何设置打印分页(转)

作者头像
山河木马
发布2019-03-05 16:44:22
3.3K0
发布2019-03-05 16:44:22
举报
文章被收录于专栏:山河木马山河木马

说明: 首先是创建一个打印对象

代码语言:javascript
复制
 <OBJECT  id=WebBrowser  classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2  height=0  width=0></OBJECT>

创建好后就可以使用该对象的各种方法进行打印操作:

代码语言:javascript
复制
 <input  type=button  value=打印          onclick=document.all.WebBrowser.ExecWB(6,1)>
 <input  type=button  value=直接打印  onclick=document.all.WebBrowser.ExecWB(6,6)>
 <input  type=button  value=页面设置  onclick=document.all.WebBrowser.ExecWB(8,1)>

最常用的就这3个方法了,写在按钮控件的ONCLICK事件里,当按钮CLICK的时候就会除法打印的事件了

以上的步骤就可以实现页面的打印了,但是如何设置打印区域和打印分页呢? 最重要的地方就是这里了:

代码语言:javascript
复制
 <style media=print>
 .Noprint{display:none;}
 .PageNext{page-break-after: always;}
 </style>

@media print{    } 自定义两个CLASS类样式,注意,style的media属性是print,也就是说这个style块中的样式是为打印设置的,Noprint类:在打印事不显示,CLASS属性设置为Noprint类样式的控件打印的时候不会显示;PageNext类设置的是分页,CLASS属性设置为PageNext类样式的控件将被作为打印分页点,并属于上一页。 Noprint和PageNext 这两个都是自己定义的,名字当然可以自己改,同样也可以将这两个样式类定义写在CSS文件里

以上的说明就是页面控制打印的几个重要的地方,以下是完整代码。可以直接复制到HTM/HTML文档里看看效果。

代码语言:javascript
复制
<html>
 <head>
 <meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
 <title>看看</title>
 <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
 <!--media=print 这个属性可以在打印时有效-->
 <style media=print>
 .Noprint{display:none;}
 .PageNext{page-break-after: always;}
 </style>
<style>
 .tdp
 {
     border-bottom: 1 solid #000000;
     border-left:  1 solid #000000;
     border-right:  0 solid #ffffff;
     border-top: 0 solid #ffffff;
 }
 .tabp
 {
     border-color: #000000 #000000 #000000 #000000;
     border-style: solid;
     border-top-width: 2px;
     border-right-width: 2px;
     border-bottom-width: 1px;
     border-left-width: 1px;
 }
 .NOPRINT {
  font-family: "宋体";
  font-size: 9pt;
 }
</style>
</head>
<body >
 <center class="Noprint" >
   <p>
   <OBJECT  id=WebBrowser  classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2  height=0  width=0>
   </OBJECT>
   <input  type=button  value=打印          onclick=document.all.WebBrowser.ExecWB(6,1)>
   <input  type=button  value=直接打印  onclick=document.all.WebBrowser.ExecWB(6,6)>
   <input  type=button  value=页面设置  onclick=document.all.WebBrowser.ExecWB(8,1)>
 </p>
   <p>    <input  type=button  value=打印预览  onclick=document.all.WebBrowser.ExecWB(7,1)>
     <br/>
     </p>
   <hr align="center" width="90%" size="1" noshade>
 </center>
<table width="90%" border="0" align="center" cellpadding="2" cellspacing="0"  class="tabp">
  <tr>
   <td colspan="3" class="tdp">第1页</td>
     </tr>
  <tr>
    <td width="29%" class="tdp">&nbsp;</td>
    <td width="28%" class="tdp">&nbsp;</td>
       <td width="43%" class="tdp">&nbsp;</td>
   </tr>
  <tr>
    <td colspan="3" class="tdp">&nbsp;</td>
   </tr>
  <tr>
    <td colspan="3" class="tdp"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
         <tr>
           <td width="50%" class="tdp"><p>这样的报表</p>
           <p>对一般的要求就够了。</p></td>
           <td>&nbsp;</td>
         </tr>
       </table></td>
   </tr>
 </table>
 <hr align="center" width="90%" size="1" noshade class="NOPRINT" >
 <!--分页-->
 <div class="PageNext"></div>
 <table width="90%" border="0" align="center" cellpadding="2" cellspacing="0"  class="tabp">
   <tr>
     <td class="tdp">第2页</td>
   </tr>
   <tr>
     <td class="tdp">看到分页了吧</td>
   </tr>
   <tr>
     <td class="tdp">&nbsp;</td>
   </tr>
   <tr>
     <td class="tdp">&nbsp;</td>
   </tr>
   <tr>
     <td class="tdp"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
         <tr>
           <td width="50%" class="tdp"><p>这样的报表</p>
               <p>对一般的要求就够了。</p></td>
           <td>&nbsp;</td>
         </tr>
     </table></td>
   </tr>
 </table>
 <hr align="center" width="90%" size="1" noshade class="NOPRINT" >
 <div class="PageNext"></div>
 <table width="90%" border="0" align="center" cellpadding="2" cellspacing="0"  class="tabp">
   <tr>
     <td class="tdp">第3页</td>
   </tr>
   <tr>
     <td class="tdp">看到分页了吧</td>
   </tr>
   <tr>
     <td class="tdp">&nbsp;</td>
   </tr>
   <tr>
     <td class="tdp">&nbsp;</td>
   </tr>
   <tr>
     <td class="tdp"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
         <tr>
           <td width="50%" class="tdp"><p>这样的报表</p>
               <p>对一般的要求就够了。</p></td>
           <td>&nbsp;</td>
         </tr>
     </table></td>
   </tr>
 </table>
 <div style="page-break-after:always"></div>
 这是第4页
 </body>
 </html>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017/03/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档