Я нашел this сайт, который дал мне именно то, что мне нужно, однако я пытаюсь получить раздел DIV, чтобы не разделиться во время печати. Моя страница имеет около 5 элементов DIV в пределах одного DIV, который я извлекаю. Каждый DIV в пределах основного может быть X длиной и может иметь несколько единиц внутри него (см. Блок кода с «class =« SomeHistory »), поэтому любой из них может быть разделен во время печати.Печатать часть страницы JSP успешно, но раздел DIV получает раскол
Он не создает новую страницу, поэтому он должен содержать весь стиль внутри него, поэтому я не уверен, что можно сделать или нет.
Примечание: ниже фактический
<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 используется из ссылки, ничего не изменилось, но «getElementById» ..
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;
}