2016-06-24 1 views
0

Я нашел 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"> 
&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> 

Это фактическая 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; 
} 

ответ

0

Мое решение было изменить следующие:

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

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

Мне пришлось корректировать некоторые из других страниц разрыва, но теперь работать s, чтобы объединить разделы DIV во время печати.

Смежные вопросы