我找到了this网站,它确切地告诉了我我需要的东西,但是我试图让任何DIV部分在打印过程中不被分割。我的页面在我检索的一个DIV中有大约5个DIV元素。主要内容中的每个DIV都可以是X个长度,并且可以有多个DIV(参见代码块' class =" SomeHistory"'),因此它可以是任何一个那些在打印时分裂的东西。
它不会创建一个新页面,所以它应该包含其中的所有样式,所以我不确定可以做什么。
注意:下面是实际的
<div id="divToPrint" >
<div class="detail">
<table cellspacing="0" cellpadding="0" style="width:600;">
..
..
</table>
</div>
<div class="detail">
<table cellspacing="0" cellpadding="0" style="width:600;">
..
..
</table>
</div>
<div class="detail" style="page-break-after: auto">
<table cellspacing="0" cellpadding="0" style="width:600;">
..
..
</table>
</div>
<c:forEach items="${simpleList}" var="rez">
<jsp:useBean scope="request" id="rez" class="SomeHistory"/>
<div class="detail" style="page-break-after: avoid">
<table cellspacing="0" cellpadding="0" style="width:600;">
..
..
</table>
</div>
</c:forEach>
<div class="detail" style="page-break-after: auto">
</div>
<div class="detail" style="page-break-after: auto">
<table cellspacing="0" cellpadding="0" style="width:600;">
..
</table>
<table cellspacing="0" cellpadding="0" style="width:600;">
..
..
</div>
</div>
这是从链接中使用的实际javascript,没有任何改变,但是&#34; getElementById&#34; ..
function printDiv(divID) {
//Get the HTML of div
var divElements = document.getElementById("divToPrint").innerHTML;
//Get the HTML of whole page
var oldPage = document.body.innerHTML;
//Reset the page's HTML with div's HTML only
document.body.innerHTML =
"<html><head><title></title></head><body>" +
divElements + "</body>";
//Print Page
window.print();
//Restore orignal HTML
document.body.innerHTML = oldPage;
}
答案 0 :(得分:0)
我的解决方案是更改以下内容:
Select a, count(b) from A a join a.bs b group by a
我不得不调整分页符的其他部分内容,但现在可以在打印时将DIV部分保持在一起。