1.使用window.print()方法

优点:支持多浏览器
缺点:取消打印,隐藏打印不必要的信息后再显示比较麻烦
如下实现,可以打印当前页面
<input name ="Button"  value="火狐谷歌打印" type="button" onclick="window.print()" />
2.使用第三方插件的功能进行打印,eg:ireport报表插件
优点:支持多浏览器
缺点:实现起来比较麻烦

3.调用ie内置打印控件IEWebBrowser实现打印功能
优点:针对ie功能强大
缺点:只支持ie


<%@ page language ="java" import="java.util.*" pageEncoding="utf-8" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://" +request.getServerName()+":"+request.getServerPort()+path+ "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href =" <%=basePath%> ">
<title> My JSP 'print.jsp' starting page</title >
<meta http-equiv ="pragma" content="no-cache" >
<meta http-equiv ="cache-control" content="no-cache" >
<meta http-equiv ="expires" content="0" >
<meta http-equiv ="keywords" content="keyword1,keyword2,keyword3" >
<meta http-equiv ="description" content="This is my page" >
<!-- 打印时下列方法生效 -->
<style media ="print" >
<!--
. Noprint{display: none;}
.PageN ext{pag e-break-after:always;}
-->
</style>
<style type ="text/css" >
<!--
.STYLE1 {font-size : 12px }
-->
</style>
</head> <body>
<br>
<table border ='8' width="500" height="500" >
<tr> <td>haha</td><td>haha</td><td>haha</td><td>haha</td></tr>
<tr><td></ td><td></ td><td></ td><td></ td></tr>
<tr><td></ td><td></ td><td></ td><td></ td></tr>
</table>
<p class ="dis" align="center" >
<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) class="Noprint" type=button value=打开 />
<input name =Button onClick=document.all.WebBrowser.ExecWB(2,1) class="Noprint" type=button value=关闭所有 >
<input name =Button onClick=document.all.WebBrowser.ExecWB(4,1) class="Noprint" type=button value=另存为 >
<input name =Button onClick=document.all.WebBrowser.ExecWB(6,1) class="Noprint" type=button value=打印 >
<input name =Button onClick=document.all.WebBrowser.ExecWB(6,6) class="Noprint" type=button value=直接打印 >
<input name =Button onClick=document.all.WebBrowser.ExecWB(7,1) class="Noprint" type=button value=打印预览 >
<input name =Button onClick=document.all.WebBrowser.ExecWB(8,1) class="Noprint" type=button value=页面设置 >
<input name =Button onClick=document.all.WebBrowser.ExecWB(10,1) class="Noprint" type=button value=属性 >
<input name =Button onClick=document.all.WebBrowser.ExecWB(17,1) class="Noprint" type=button value=全选 >
<input name =Button onClick=document.all.WebBrowser.ExecWB(22,1) class="Noprint" type=button value=刷新 >
<input name =Button onClick=document.all.WebBrowser.ExecWB(45,1) class="Noprint" type=button value=关闭 >
</p>
</body>
</html>

html或jsp实现打印三种方法的更多相关文章

  1. struts2中的jsp值传到后台action接收的三种方法

    struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: <form action="login" method="pos ...

  2. 打印web页面指定区域的三种方法

    本文和大家分享一下web页面实现指定区域打印功能的三种方法,一起来看下吧. 第一种方法:使用CSS 定义一 个.noprint的class,将不打印的内容放入这个class内. 代码如下: <s ...

  3. jsp值传到后台Struts2中的action三种方法

    Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: <form action="login" method="post" n ...

  4. Tomcat部署发布JSP应用程序的三种方法 (转)

    Tomcat部署发布JSP应用程序的三种方法     1.直接放到Webapps目录下      Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应 ...

  5. Java/JSP获得客户端网卡MAC地址的三种方法解析

    java/jsp获得客户端(IE)网卡MAC地址的方法大概有三种. 1.通过命令方式,在客户端执行Ipconfig 等等.(java/jsp) 2.通过ActiveX的方法.(jsp) 3.通过向13 ...

  6. JAVA之线程同步的三种方法

    最近接触到一个图片加载的项目,其中有声明到的线程池等资源需要在系统中线程共享,所以就去研究了一下线程同步的知识,总结了三种常用的线程同步的方法,特来与大家分享一下.这三种方法分别是:synchroni ...

  7. Java中获取键盘输入值的三种方法

    Java中获取键盘输入值的三种方法     Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值 ...

  8. 利用Objective-C运行时hook函数的三种方法

    版权声明:转载请注明出处:http://blog.csdn.net/hursing 方法一,hook已有公开头文件的类: 首先写一个Utility函数: #import <objc/runtim ...

  9. struts2 Action 接收参数的三种方法

    刚学Struts2 时 大家可能遇到过很多问题,这里我讲一下Action 接收参数的三种方法,我曾经在这上面摔过一回.所以要警醒一下自己..... 第一种:Action里声明属性,样例:account ...

随机推荐

  1. Codeforces 549C The Game Of Parity(博弈)

    The Game Of Parity Solution: 这个题只需要分类讨论就可以解决. 先分别统计奇数和偶数的个数. 然后判断谁走最后一步,如果走最后一步时候同时有偶数和奇数,那么走最后一步的赢. ...

  2. hdu 1788 Chinese remainder theorem again(最小公倍数)

    Problem Description 我知道部分同学最近在看中国剩余定理,就这个定理本身,还是比较简单的: 假设m1,m2,-,mk两两互素,则下面同余方程组: x≡a1(mod m1) x≡a2( ...

  3. winform程序开机自动启动代码

    几天前头儿要我实现程序能开机自动启动,搞好了,整理起来写下来. private void checkBox1_CheckedChanged(object sender, EventArgs e) { ...

  4. mysql的查询缓存模式介绍

    mysql的查询缓存 查询是数据库技术中最常用的操作.查询操作的过程比较简单,首先从客户端发出查询的SQL语句,数据库服务端在接收到由客户端发来的 SQL语句后, 执行这条SQL语句,然后将查询到的结 ...

  5. Apache 支持PHP

    ①加载PHP模块到Apache中: LoadModule php5_module "d:\php5\php5apache2_2.dll"   ②加入识别扩展名为.php文件(也可以 ...

  6. CSS2简写代码(优化)

    [1]如果CSS属性值为0,那么你不必为其添加单位(如:px/em): 下面是你可能的写法: padding: 10px 5px 0px 0px; 但是你可能这样写: padding: 10px 5p ...

  7. C对字符串的部分操作

    字符串分割(C++)   经常碰到字符串分割的问题,这里总结下,也方便我以后使用. 一.用strtok函数进行字符串分割 原型: char *strtok(char *str, const char ...

  8. gcc/g++命令认识

    gcc & g++是gnu中最主要和最流行的c & c++编译器 . g++用来针对c++的处理命令,以.cpp为后缀,对于c语言后缀名一般为.c.这时候命令换做gcc即可. 下面以T ...

  9. C#小数点位数处理方法

    //方法一: //保留小数位数,并能四舍五入 DecimalFormat de = new DecimalFormat("0.00"); System.out.println(de ...

  10. Opencv实现的简易绘图工具

    第一次写博,还是个菜鸟.最近开始学习Opencv,试着写了个简易的绘图工具(目前只写了画线和橡皮擦部分,画其它图形还有待往里添加),也算是记录自己的学习之路. #include "stdaf ...