(公享代码)Web打印,简单实现

原创 2004年10月13日 14:35:00

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

//也许有些地方大家不太明白我解释一下其实很简单
。。。。。。。。。。。。。。。。。。
<!--media=print只有在打印中  有效-->
<style media=print>

<!--display:none 隐藏加上,上面的 media=print 就是在打印时隐藏-->
.Noprint{display:none;}

<!--分页-->
.PageNext{page-break-after: always;}

</style>

.......
<!--网页中分页-->
<div class="PageNext"></div>
。。。。。。。。。。。。。。。。。。

Web打印,简单实现

(公享代码)Web打印,简单实现(一)近日看到论坛中有好多人提到,Web 方式打印报表 的问题 都感觉很辣手。本人有点小技巧愿意拿处来和大家分享。本方法不分语言(ASP,ASP.NET,JSP,PHP...
  • aspnet2002web
  • aspnet2002web
  • 2008年01月01日 17:12
  • 804

ASP开发必备:WEB打印代码大全

   ASP开发必备:WEB打印代码大全这篇文章主要介绍了如何使用ASP控制Web的各种打印效果,它能够控制纵打、横打和页面边距等。  1、控制"纵打"、 "横打"和"页面的边距"。    (1)  ...
  • colayungnew
  • colayungnew
  • 2004年11月27日 13:38
  • 1039

【js设计模式笔记---享元模式】

享元模式 享元(flyweight)模式。它最适合于解决因创建大量类似对象而累及性能的问题。这种模式在javascript中尤其有用,因为复杂的javascript代码可能很快就会用光浏览的甩有可用内...
  • pigpigpig4587
  • pigpigpig4587
  • 2014年05月21日 17:22
  • 1438

web打印实现几种方法

在工作中出现web打印的情况是非常多的,其实这也是一个比较烦人的问题,这篇博客整理一下关于Web打印的一些方法或者方式。 1. window.print()这个方法是用来打印网页的,页面上的其他的元素...
  • lfsf802
  • lfsf802
  • 2014年11月30日 12:42
  • 29924

Web页面实现打印功能

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

Web页面分页打印小结-简单实现

最近开发单位内部系统中的档案管理时,档案管理员提出需求,希望在打印档案盒中卷内目录,分页打印,因为目前的打印针对超过一页的档案记录,在第二页中无法显 示表头,还会出现表格断开不连续如图: ...
  • gukehui2012
  • gukehui2012
  • 2016年11月30日 14:42
  • 785

WEB打印系列教程之三--简单的WEB打印分页设置

在讲述如何分页打印之前,我们有必要先了解一下css中不为人知的一些用法。css里media的使用我们在网页里引用外部的css文件时,通常是用如下的代码:   实际上,上面的link对象里,我们是省略了...
  • Magister_Feng
  • Magister_Feng
  • 2010年12月06日 15:53
  • 4247

WEB打印代码大全

1、控制"纵打"、 "横打"和"页面的边距"。  程序代码:    function SetPrintSettings() {    // -- advanced features    factor...
  • qpl007
  • qpl007
  • 2004年12月07日 13:50
  • 601

web打印,巧妙实现隐藏不想打印的页面元素,以及页眉和页脚

web打印去掉页眉页脚,以及不想打印出的页面元素function printpr()   //预览函数{document.all("qingkongyema").click();//打印之前去掉页眉,...
  • enjsky
  • enjsky
  • 2005年04月28日 14:05
  • 2191

web打印POS小票机代码

找了好久的WEB打印插件,都是要收费的!我发现借用LODOP插件,自己写代码即可解决此问题!...
  • qiaowei361
  • qiaowei361
  • 2017年11月09日 09:13
  • 715
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:(公享代码)Web打印,简单实现
举报原因:
原因补充:

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