java web 在实现批量打印时出现了打印不全的问题

实现思路如下:构造了一个适合打印的页面,并将要打印的页面放入到div中,每个页面用分页符隔开,为什么打印只能打印第一个div里面的页面,其余的页面在打印界面上可以看到,但是不能打印

<!-- media="print"表示改样式只在打印预览或打印的时候才生效 -->
<style media="print" type="text/css">  
.NOPRINT{display:none;}  
.PageNext{page-break-after: always;}  
.none{}
</style>

</head>

<body onload="printOnload()">
<!-- 根据urlList,生成<div> <iframe><iframe/></div> 这样格式的页面-->
<s:iterator value="uriList" status="status1" id="uri">
<div style="<s:if test='#status1.count != uriList.size()'>page-break-after: always;</s:if>" id="page${status1.count}">
<iframe src="<%=request.getContextPath() %>${uri }"></iframe>
</div>
</s:iterator>
</body>
</html>

首先得构造一个适合打印的页面,然后直接用浏览器的打印功能就可以 :

1、后台request保存了一个List<URLObj>,uri属性表示请求地址

2、该打印demo页面,根据List<URLObj>,用struts2标签在body上构建<div><iframe></iframe></div>,iframe打开的是每一个需要批量打印的页面

3、页面加载完成后,调用printOnLoad函数,把iframe里面的html挪到div上追问

其实我已经把需要打印的页面全部放到一个打印页面中,并且在浏览器的打印页面中可以看到这些数据,而且我的每个要打印的页面也是通过分页符隔开的。现在问题是用浏览器的打印功能打印只能打印第一个页面,后面的页面都无法打印。

温馨提示:答案为网友推荐,仅供参考
相似回答