2016-06-24 21 views
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"> 
&nbsp; 
</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; 
} 

答えて

0

私のソリューションを変更することでした以下:

<c:forEach items="${simpleList}" var="rez"> 
<jsp:useBean scope="request" id="rez" class="SomeHistory"/> 

<div class="detail" style="page-break-inside: avoid"> 

私はページブレークの他のいくつかを調整しなければならなかったが、今は動作する印刷中にDIVセクションをまとめて保持することができます。

関連する問題