Web下打印的实现

原创 2004年10月28日 00:06:00
标题   Web下打印的实现     选择自 littlehb 的 Blog
关键字   Web下打印的实现
出处  

先给一个简单实用的方式(可以打印多页,控制分页,隐藏非打印项目)
<!--语言无关 保存成 .HTML 看看-->
<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>
</body>
</html>


简单懂得 HTML CSS 即可。
下面样式只在打印时有用 <style media=print>
<style media=print>
.Noprint{display:none;}
.PageNext{page-break-after: always;}
</style>

WebBrowser 控件对象。只要是 win98 以上版本都有。
其实配合“分页样式表”,和 HTML表格 一般的打印都可以实现的。

如果想对 非Windows平台用户使用。
请去掉下面这些:
<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>

 

也谈WEB打印(二):简单的分析一下IE的打印原理并实现简单的打印和预览

来源: 博客园 http://www.cnblogs.com/Yahong111/archive/2007/10/08/917176.html在《也谈WEB打印(-):目前的几种方式及我们的任务》中,...
  • tongdoudpj
  • tongdoudpj
  • 2007年10月13日 22:07
  • 1614

Web打印的实现方法

目前,在做B/S结构程序开发的时候,最棘手和最令人头疼的问题之一就是Web打印。往往打印出来的效果和自己预期的效果相差甚远,那么怎样才能打印出自己想要的效果呢?本文阐述的方法将解决这一问题,从而使得W...
  • xwchen
  • xwchen
  • 2007年05月31日 16:35
  • 4069

Web页面实现打印功能

核心的代码:window.print()具体的实现如下:
  • SunMoonJP
  • SunMoonJP
  • 2017年03月14日 14:42
  • 647

Web下打印的实现

先给一个简单实用的方式(可以打印多页,控制分页,隐藏非打印项目)http://schemas.microsoft.com/intellisense/ie5">看看.Noprint{display:no...
  • littlehb
  • littlehb
  • 2004年10月25日 13:58
  • 630

使用Web Datawindow ActiveX实现Web页面的打印功能

    想起以前说过要把Web Datawindow ActiveX使用经验整理后发出来,由于项目实在是太忙,又想偷懒一直没搞。 转眼间2006快过去了,今年的事情还是把它做了吧。     其实,使...
  • daixf_csdn
  • daixf_csdn
  • 2006年12月30日 20:25
  • 4249

java web实现打印功能

直接在网上上进行打印,目前我知道有三种,好吧我承认其实就一种。 1直接右键打印,不好的地方就是如果你有iframe在里面的话其他iframe会一起打印出来。 2用js函数window.print进...
  • cdxiaodai
  • cdxiaodai
  • 2013年07月16日 15:43
  • 2037

用Delphi编写web打印插件

做web最不好弄的就是打印了,用IE自带的打印功能不太完美,功能也不强,所以我就将fastreport 4.3报表集成到web中,实现的方法:delphi7的activex+fastreport,下面...
  • chenhuizhouhb
  • chenhuizhouhb
  • 2013年01月04日 09:59
  • 1470

WEB打印控件---无限制完全免费版

以往,很多WEB项目需要WEB打印控制或者页面设置控制都采用ScriptX,但是ScriptX价格极为高昂,PAZU就是ScriptX的最好替代产品,而且PAZU是完全免费没有限制的。   PAZU...
  • itdragons
  • itdragons
  • 2017年05月09日 23:45
  • 4928

推荐一个免费的web打印插件

最近发现一个好的WEB打印控件。供大家学习分享。 IE直接打印一直是小项目中的打印解决方案,可是对IE不能进行过多的控制,也有许多不便之处,我在做手头的项目中就遇到了问题,客户端打印一直用B5的纸打...
  • yujinkai911120
  • yujinkai911120
  • 2015年10月29日 11:09
  • 252

javascript打印web页面并设置打印机的实现

 javscript函数查找DIV控件ID,DIV内存放要打印的内容。function printme()...{  document.body.innerHTML=document.getEleme...
  • khkly
  • khkly
  • 2008年02月28日 14:01
  • 1252
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Web下打印的实现
举报原因:
原因补充:

(最多只允许输入30个字)