0
this私は必要なものを私に与えてくれましたが、DIVセクションを印刷中に分割しないようにしています。私のページには、取得している1つのDIV内に約5つのDIV要素があります。メインの中の各DIVはXの長さで、その中に複数のDIVを持つことができます(コードブロックの 'class = "SomeHistory"'を参照)。そのため、印刷中に分割される可能性があります。JSPページの一部の印刷は成功しましたが、DIVセクションが分割されました
新しいページが作成されていないので、その中にすべてのスタイルが含まれている必要があります。そのため、何ができるかわかりません。
注:以下にさらにこれは、リンク、変更は何もなく、「getElementByIdを」から使用される実際のjavascriptのある実際の
<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>
..です
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;
}