js分块打印

问题描述

本人现在正在写一个打印的功能,基本的功能已经实现,但是现在还有一个问题是因为我们在打印的时候是按需求打印的,不同的需求打印出来的内容也有差别,现在想请大家帮忙解决一下这个问题,我应该怎么判断。补充条件:打印不同的地方就是页面的中间部分,当为001时显示一种数据,为002时显示另一种,或者001和002都显示。

解决方案

解决方案二:
帮顶!
解决方案三:
1:将次脚本加到页面中functionprintCheck(){varbodyHtml;varprintHtml;varprintStart;varprintEnd;bodyHtml=window.document.body.innerHTML;printStart="<!--startPrint-->";printEnd="<!--endPrint-->";printHtml=bodyHtml.substring(bodyHtml.indexOf(printStart)+17);printHtml=printHtml.substring(0,printHtml.indexOf(printEnd));window.document.body.innerHTML=printHtml;window.print();window.document.body.innerHTML=bodyHtml;}2:将<!--startPrint-->放到要打印的开始位置3:将<!--endPrint-->放到要打印的结束位置4:加上打印连接<ahref="#"><imgsrc="${pageContext.request.contextPath}/images/print1.jpg"alt="打印"onclick="returnprintCheck();"width="35"height="15"border="0"></a>5:如果有按钮包含在打印范围内,而不想打印出来:a>:可用<spanid="printImg"></span>将按钮包含起来.b>:在printCheck()方法的最前面加上printImg.style.display='none';c>:在printCheck()方法的最后面加上printImg.style.display='';
解决方案四:
写函数调用
解决方案五:
引用2楼lixiaoyan3的回复:

1:将次脚本加到页面中functionprintCheck(){varbodyHtml;varprintHtml;varprintStart;varprintEnd;bodyHtml=window.document.body.innerHTML;printStart = "<!--startPrint-->";printEnd  = "<!--endPrint-->";printHtml = bodyHtml.substring(bodyHtml.indexOf(printStart)+17);printHtml = printHtml.substring(0,printHtml.indexOf(printEnd));window.document.body.innerHTML=printHtml;window.print();window.document.body.innerHTML=bodyHtml;}2:将<!--startPrint-->放到要打印的开始位置3:将<!--endPrint-->放到要打印的结束位置4:加上打印连接 <ahref="#"><imgsrc="${pageContext.request.contextPath}/images/print1.jpg"alt="打印"onclick="returnprintCheck();"width="35"height="15"border="0"> </a>5:如果有按钮包含在打印范围内,而不想打印出来:a>:可用<spanid="printImg"></span>将按钮包含起来.b>:在printCheck()方法的最前面加上printImg.style.display='none';c>:在printCheck()方法的最后面加上printImg.style.display='';

不太明白,我没有什么次脚本啊。您能说的明白一些吗?我只是想写一个函数做判断,然后调用不打印的样式。本人新手上路,请大家多多指教。
解决方案六:
什么意思不太清楚页面到底什么样?在后台取的页面上的值根据页面上是001还是002查询数据库数据这样?
解决方案七:
弹出一个新窗口window.open();在新窗口显示你要打印的内容(当为001时显示一种数据,为002时显示另一种,或者001和002都显示)。然后调用js:window.print();window.close();
解决方案八:
引用5楼zl3450341的回复:

什么意思不太清楚页面到底什么样?在后台取的页面上的值根据页面上是001还是002查询数据库数据这样?

数据是一次性都查出来的,而001和002就是一个字段的两个状态。所有的东西都在一个页面上。
解决方案九:
2:将<!--startPrint-->放到要打印的开始位置3:将<!--endPrint-->放到要打印的结束位置你要打印哪里就把那里括起来,开始处加上<!--startPrint-->,结束处加上<!--endPrint-->。要根据不同条件打印,可以判断下,比如<c:iftest="${flag=='001'}"><!--startPrint-->打印的内容<!--endPrint-->非打印的内容</c:if><c:iftest="${flag=='002'}"><!--startPrint-->打印的内容<!--endPrint-->非打印的内容</c:if>这里情况多了你用<c:when>...
解决方案十:
引用6楼jdk150的回复:

弹出一个新窗口window.open();在新窗口显示你要打印的内容(当为001时显示一种数据,为002时显示另一种,或者001和002都显示)。然后调用js:window.print();window.close();

新窗口是不行的,要求我就用一个页面来完成。
解决方案十一:
引用7楼lovepanpanlove的回复:

引用5楼zl3450341的回复:什么意思不太清楚页面到底什么样?在后台取的页面上的值根据页面上是001还是002查询数据库数据这样?数据是一次性都查出来的,而001和002就是一个字段的两个状态。所有的东西都在一个页面上。

那就做一个下拉框么选择是打印001还是打印002的根据选择的状态查询出数据看看这样可以么
解决方案十二:
引用8楼lixiaoyan3的回复:

2:将<!--startPrint-->放到要打印的开始位置3:将<!--endPrint-->放到要打印的结束位置你要打印哪里就把那里括起来,开始处加上<!--startPrint-->,结束处加上<!--endPrint-->。要根据不同条件打印,可以判断下,比如<c:iftest="${flag=='001'}"><!--startPrint-->打印的内容<!--endPrint-->非打印的内容</c:if><c:iftest="${flag=='002'}"><!--startPrint-->打印的内容<!--endPrint-->非打印的内容</c:if>这里情况多了你用<c:when>...

可是我非打印的内容也可能是打印的内容啊。
解决方案十三:
引用9楼lovepanpanlove的回复:

引用6楼jdk150的回复:弹出一个新窗口window.open();在新窗口显示你要打印的内容(当为001时显示一种数据,为002时显示另一种,或者001和002都显示)。然后调用js:window.print();window.close();新窗口是不行的,要求我就用一个页面来完成。

我是说在新窗口调用window.print();window.close();打印完之后自动关闭了,谁知道你是不是一个页面
解决方案十四:
引用10楼zl3450341的回复:

引用7楼lovepanpanlove的回复:引用5楼zl3450341的回复:什么意思不太清楚页面到底什么样?在后台取的页面上的值根据页面上是001还是002查询数据库数据这样?数据是一次性都查出来的,而001和002就是一个字段的两个状态。所有的东西都在一个页面上。那就做一个下拉框么 选择是打印001还是打印002的根据选择的状态查询出数据看看这样可以么

这样也不行,我那个页面上的内容非常多,而且不允许显示与他们所要数据无关的任何数据。
解决方案十五:
我给你说的你试过了吗?我们项目有这样用的,你再仔细看看吧
解决方案:
引用13楼lovepanpanlove的回复:

引用10楼zl3450341的回复:引用7楼lovepanpanlove的回复:引用5楼zl3450341的回复:什么意思不太清楚页面到底什么样?在后台取的页面上的值根据页面上是001还是002查询数据库数据这样?数据是一次性都查出来的,而001和002就是一个字段的两个状态。所有的东西都在一个页面上。那就做一个下拉框么 选择是打印001还是打印002的根据选择的状态查询出数据看看这样可以么这样也不行,我那个页面上的内容非常多,而且不允许显示与他们所要数据无关的任何数据。

恩,我有在试,但是好像不行。
解决方案:
怎么做都要有一个页面显示要打印的东西2楼的方法和open一个新的页面原理都是一样的只是打印的时候有一个页面信息变更的过程
解决方案:
引用16楼a276202460的回复:

怎么做都要有一个页面显示要打印的东西2楼的方法和open一个新的页面原理都是一样的只是打印的时候有一个页面信息变更的过程

我还是不明白,可以请大家说得更清楚一些吗?本人比较菜。我不能重新打开页面或者窗口,也不能写太多的重复代码,这样就算实现了,也会被打回来的。请大家多帮帮忙了!

时间: 2024-11-13 09:07:51

js分块打印的相关文章

javascript-请问如何用js来打印消费时用的小票?

问题描述 请问如何用js来打印消费时用的小票? 帮朋友写了个会员刷卡的小程序,正好学到了servlet和jsp,就随手写了一个,但不知道如何来简单快捷的打印那种显示卡的余额和消费金额的小票,听说js比较简单,求解答,谢谢~!! 解决方案 最好还是使用C/C++吧,速度比较快 解决方案二: 你可以在网上查找关于购物车的源码,差不多.

js print打印网页指定区域内容的简单实例_javascript技巧

实例如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Co

JS实现打印两方法

要实现点击"打印"按钮以后就将页面打印出来JS中一般有两种方法. 1.用Object实现打印 添加对象<object ID='WebBrowser1' WIDTH="0" HEIGHT="0" CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object> 添加如下JS函数: <script type="text/javascript"

js print打印网页指定区域内容

比较简单的办法 使用CSS,定义一个.noprint的class,将不打印的内容放入这个class内. 细如下:  代码如下 复制代码 <style media=print type="text/css">   .noprint{visibility:hidden}  </style>  要打印的内容.哈哈!  代码如下 复制代码 <p class="noprint">将不打印的代码放在这里.</p> <a hr

js如何打印object对象_javascript技巧

js调试中经常会碰到输出的内容是对象而无法打印的时候,光靠alert只能打印出object标示,却不能打印出来里面的内容,甚是不方便,于是各方面整理总结了如下一个函数,能够将数组或者对象这类的结果一一打印出来,具体代码如下: function writeObj(obj){ var description = ""; for(var i in obj){ var property=obj[i]; description+=i+" = "+property+"

jquery.printarea.js 局部打印通过代码怎么实现去掉页眉页脚

问题描述 如题,请教高手,怎么才能通过js代码的方式去掉页眉和页脚?在网上查了半天也没解决.如果有别的打印方法也可以,要亲测可以用的.网上的那种方法别贴了,测试用不成. 解决方案 解决方案二:我也想知道?你去掉了解没,怎么去的解决方案三:jquery.PrintArea.js解决方案四:好心人用jquery.PrintArea.js这样怎么去页眉页脚解决方案五:我也想知道..解决方案六:我也想知道帮忙顶解决方案七:我也想知道顶解决方案八:IE文件菜单-->页面设置,里边将页眉页脚设置为空就OK.

JS调用打印方法设置页眉页脚

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <

JS调用打印方法设置页眉页脚的实例_javascript技巧

客户名称 电话 联系人 联系人电话 E-mail 所在地区 辉集团 0432-65412** 高经理 137562112** caihongssss@***.com 吉林市 吉林省明日科技有限公司 0431-84972266 赛经理 137563185** mingrisoft@mingrisoft.com 长春市 鑫***有限公司 0431-65412*** 王经理 13756211*** qqqqq027@*****.com 长春市 东西南北***通讯公司 0434-56167** 李经理

js 实现打印网页中定义的部分内容的代码_javascript技巧

1.在页面的代码头部处加入 JavaScript: 复制代码 代码如下: <script language=javascript> function doPrint() { bdhtml=window.document.body.innerHTML; sprnstr="<!--startprint-->"; eprnstr="<!--endprint-->"; prnhtml=bdhtml.substr(bdhtml.indexO