`

JS打印的几种实现方法

阅读更多
1、使用IE自带的WebBrowser控件进行打印,用户无需下载该控件,但缺点是需要设置IE浏览器的安全设置才能使用,“Internet选项”-->“安全”-->“自定义级别”-->“对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本”改为“启用”或者是“提示”,有些时候不同的系统、不同的浏览器版本可能设置的安全级别不一样,具体设置哪个立竿见影暂时没弄明白,刚才说的设置仅作参考我这么设置时好使过,可能换一台电脑也许又不会管用了
<%@ page contentType="text/html;charset=utf-8" language="java"%>
<%
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 'MyJsp.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">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	<link href="/print.css" rel="stylesheet" />
	<link href="/print.css" rel="stylesheet" media="print" />
	<style type="text/css" media=print>
		.noprint{display : none }
	</style>
	<script language="javascript">
		// 打印页面设置 
	  function printsetup() {
		  wb.execwb(8,1);
	  }
		// 打印页面预览
	  function printpreview() {
		  wb.execwb(7,1); 
	  } 
	  function printit() {
		  if (confirm('确定打印吗?')) { 
		  		wb.execwb(6,6) 
		  }
	  }
		
		var HKEY_Root,HKEY_Path,HKEY_Key;
		HKEY_Root="HKEY_CURRENT_USER";
		HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
		//设置网页打印的页眉页脚为空
		function PageSetup_Null() {
			try {
				var Wsh=new ActiveXObject("WScript.Shell");
				HKEY_Key="header";
				Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
				HKEY_Key="footer";
				Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
			}catch(e){
			
			}
		}

		//设置网页打印的页眉页脚为默认值
		function  PageSetup_Default() {
			try {
				var Wsh=new ActiveXObject("WScript.Shell");
				HKEY_Key="header";
				Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&w&b页码,&p/&P");
				HKEY_Key="footer";
				Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d");
			}catch(e){
			
			}
		}
	</script>
  </head>
  
  <body>
	<DIV align=center>
	<OBJECT id="wb" height="0" width="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" name="wb"></OBJECT>
	<input name="button_print" onclick="javascript:printit()" type="button" value="打印"  class="noprint"/>
	<input name="button_setup" onclick="javascript:printsetup();" type="button" value="打印页面设置" class="noprint"/> 
	<input name="button_show" onclick="javascript:printpreview();" type="button" value="打印预览" class="noprint" />
	<input type="button" value="清空页码"  onclick="PageSetup_Null()" class="noprint"/>
	<input type="button" value="恢复页码"  onclick="PageSetup_Default()" class="noprint"/>
	</DIV>
           这些文字就是要打印的内容!
  </body>
</html>


2、区域打印
<%@ page contentType="text/html;charset=utf-8" language="java"%>
<%
	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></head>
	<script language="javascript">
		function preview() {
			bdhtml = window.document.body.innerHTML;
			sprnstr = "<!--startprint-->";
			eprnstr = "<!--endprint-->";
			prnhtml = bdhtml.substr(bdhtml.indexOf(sprnstr) + 17);
			prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr));
			window.document.body.innerHTML = prnhtml;
			window.print();
		}
	</script>
	<body>
		<form id="WebForm1" method="post">
			<center>
				本部分内容不被打印
			</center>
			<!--startprint-->
			<div align="center">
				<table>
					<tr>
						<td>
							打印打印打印打印打印打印打印打印
						</td>
					</tr>
				</table>
			</div>
			<!--endprint-->
			<center>
				本部分内容不被打印
			</center>
			<div align="center">
				<input type="button" name="print" value="预览并打印" onclick="preview()">
			</div>
		</form>
	</body>
</html>


3、通过jQuery实现打印
<%@ page contentType="text/html;charset=utf-8" language="java"%>
<%@ page import="com.trht.session.SessionMng"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

	SessionMng sessionmng = (SessionMng) request.getSession().getAttribute("sessionmng");
	String ctxpath = request.getContextPath();
	if("/".equals(ctxpath)){
		ctxpath = "";
	}
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title></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">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	<script language="JavaScript" type="text/javascript" src="<%=ctxpath%>/javascript/jquery/uploadify/jquery-1.4.2.min.js" ></script>
	<script language="JavaScript" type="text/javascript" src="<%=ctxpath%>/javascript/jquery/uploadify/jquery.PrintArea.js" ></script>
	<script>
		$(document).ready(function(){
			$("input#biuuu_button").click(function(){
				$("div#myPrintArea").printArea();
			});
		});
	</script>
  </head>
  
  <body>
    <div id="noPrintArea">这部分内容不打印</div>
	<div id="myPrintArea">只打印这部分内容</div>
	<input id="biuuu_button" type="button" value="打印"></input> 
  </body>
</html>
分享到:
评论
1 楼 F_Clover 2013-09-26  
不错不错

相关推荐

    用ja<x>vasc<x>ript实现页面打印的三种方法

    资源名称:用javascript实现页面打印的三种方法资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    JS实现的打印、打印预览功能

    JS实现的打印、直接打印、打印预览功能,非常简单实用

    js直接调用word文档打印word

    但是,有几种方法可以间接实现这一目标: 1. **在线编辑器集成**:你可以使用如Microsoft Office Online或Google Docs等在线服务的API,通过JavaScript来实现对Word文档的预览和打印。例如,使用Microsoft Graph ...

    JS打印报表控件

    "JS打印报表控件"是专门为JavaScript设计的一种工具,它允许开发者在Web应用中实现报表的打印功能,包括分页打印和打印预览,从而提供更丰富的用户体验。 在Web开发中,打印功能通常是必不可少的,尤其是对于那些...

    javascript实现打印报表功能

    通过`window.print()`方法,JavaScript可以直接触发浏览器的打印对话框,让用户选择打印当前页面或设置打印选项。 为了实现更高级的打印功能,例如打印Excel表格,我们需要借助一些库或者API。例如,可以使用`js-...

    JS实现在线打印

    JS实现在线打印主要涉及以下几个关键知识点: 1. **Window对象的print()方法**: JavaScript中的`window.print()`是触发浏览器打印功能的核心方法。当你调用这个方法时,浏览器会弹出一个打印对话框,允许用户选择...

    JavaScript_打印方法_基于浏览器_详细代码示例

    本文将深入探讨几种常见的JavaScript打印方法,并通过具体代码示例进行说明。 #### 一、基本打印方法:`window.print()` 最简单也是最常见的打印方法是直接调用`window.print()`函数,该函数会触发浏览器的打印...

    asp.net调用JavaScript打印

    通过调用`WebBrowser`对象的方法来实现打印功能,主要包括以下几种: - **直接打印**:`printit()` 函数用于直接打印当前页面。 - 代码示例: ```javascript function printit(){ if(confirm('确定要打印吗?'))...

    js打印,截取打印

    根据给定文件的信息,本文将围绕“JavaScript打印特定部分”的主题进行深入探讨,重点解析如何在Web页面中实现对特定内容的打印,并介绍几种常见的实现方法。 ### JavaScript 打印功能概述 在Web开发中,有时我们...

    js调用控件标签打印.rar

    3. **JavaScript打印接口**:在JavaScript中,没有直接的打印接口,但可以通过模拟点击打印按钮或使用window.print()方法实现。对于ActiveX控件,可能需要通过特定的API来发送打印指令。 4. **跨浏览器兼容性**:...

    js打印Web页面

    ### js打印Web页面知识点详解 #### 一、概述 ...以上介绍了使用 JavaScript 实现 Web 页面打印的几种常见方法及其应用场景。通过灵活运用这些技术,开发者可以根据项目需求选择最适合的打印解决方案。

    ASP.NET的3种方法打印方法

    根据不同的需求,ASP.NET 提供了多种打印方法,本文将详细介绍三种常见的 ASP.NET 打印方法。 一、直接使用 Ctrl+P 打印 这是最简单的打印方法,用户只需在浏览器中按下 Ctrl+P 键,浏览器就会弹出打印对话框,...

    js实现网页特定部分截屏或打印.zip

    在JavaScript中实现网页特定部分截屏,通常涉及到以下几个关键知识点: 1. **HTML5 Canvas**:Canvas是HTML5的一个重要元素,它提供了一个画布,我们可以通过JavaScript来绘制图形、文字,甚至可以渲染整个网页的...

    js打印当前网页

    在给定的代码片段中,我们看到了一种实现选择性打印的方法: 1. **获取页面内容**:首先,代码通过`window.document.body.innerHTML`获取整个网页的HTML内容。 2. **定义打印范围**:使用注释`&lt;!--startprint--&gt;`...

    电子印章js实现实例.zip

    这个"电子印章js实现实例.zip"压缩包显然包含了使用JavaScript实现电子印章功能的相关代码和资源。JavaScript(简称js)是Web开发中的常用脚本语言,常用于客户端的交互逻辑,此处用于创建电子印章功能,意味着用户...

    js自定义区域打印

    JavaScript(简称JS)是一种轻量级的脚本语言,广泛应用于网页和网络应用开发,包括交互式用户界面、数据验证以及我们今天要讨论的主题——自定义区域打印。自定义区域打印允许用户仅打印网页中特定的部分,而不是...

    调用IE自带打印功能实现在线打印

    尽管通过上述方法可以实现在线打印,但在实际应用中还需注意以下几点: - **兼容性问题**:随着现代浏览器的普及,IE的使用率逐渐下降,因此这种方法可能不适用于所有用户。 - **安全性限制**:在某些安全策略严格...

    js打印条码(tscactiveXdll)

    总结来说,"js打印条码(tscactiveXdll)"是一个利用JavaScript和TSC的ActiveX控件实现条码打印的技术方案,适用于需要在网页上直接控制TSC条码打印机的场景。通过理解和应用这个技术,开发者可以为他们的Web应用...

    js调用iframe实现打印页面内容的方法

    JavaScript调用IFrame实现打印页面内容的方法是一种常见且实用的技术,尤其在网页中需要特定区域打印或者保持原页面不被改变的情况下。以下是该方法的详细解释: ### 1. 程序说明 1. **选择性打印**:此方法允许...

Global site tag (gtag.js) - Google Analytics