PhantomJS PDF разрыв страницы
Я создаю отчет в формате PDF с заголовком, автоматически сгенерированным phantomjs. В отчете у меня есть длинный div, который содержит текст, пустые строки, простые таблицы данных и т. Д. Поскольку я считаю, что phantomjs может иметь проблемы с разрывом страницы, я вычисляю разрыв страницы вручную, разбиваю длинный div на несколько div с разрывом страницы. в конце каждого дел.
Вот мой расчет в jQuery(документ).ready()
//pagination the Notes pages
if (encData.pnotes && encData.pnotes.length > 0) {
pageCnt++;
var $notes = jQuery('<div id="pageNotes" class="notes" style="width:100%;margin-top:100px;border:1px solid red">' +
pNotesString + '</div>');
$body.append($notes);
var height = 0;
var children = $notes.children();
var p = children.slice(0);
var pages = [];
var counter = 0;
for (var i = 0; i < children.length; i++) {
if (height + children[i].offsetHeight < 1350)
height += children[i].offsetHeight;
else {
pages.push([counter, i]);
height = 0;
counter = i;
}
}
pages.push([counter, children.length]);
for (var i = 0; i < pages.length; i++) {
//first notes page
if (i == 0) {
$notes.children().slice(pages[i][1]).remove();
$notes.after('<div style="border:1px solid black;height:1px"></div><div id="pageNotesBreak" style="page-break-after:always"> </div>');
}
else {
pageCnt++;
var $new = jQuery('<div id="page' + pageCnt + '" class="notes" style="width:100%;margin-top:100px;border:1px solid blue"></div>');
$new.append(p.slice(pages[i][0], pages[i][1]));
$body.append($new);
$body.append('<div style="border:1px solid black;height:1px"></div><div id="pageBreak' + pageCnt + '" style="page-break-after:always"> </div>');
}
}
"<div style='border:1px solid black;height:1px'>"
просто глупый маркер, чтобы найти, где мои разрывы страниц в PDF.
1350px в предполагаемой высоте объектов, где должен быть создан разрыв страницы, когда я пересекаю всех потомков длинного div.
В Chrome я вижу, что у меня всего 5 страниц. Но когда он отображается в PDF, количество страниц увеличивается до 6 или 7 в зависимости от размера шрифта, высоты строки и т. Д.
Вот изображение страниц
Кто-нибудь знает причину проблемы? И как это решить вообще.