נניח שיש לנו אתר עם דף מידע שהמבקר באתר ירצה להדפיס. לפעמים התוצאה תהיה שטבלה אחת תהיה חתוכה לשניים בין שני דפים.
אנחנו לעומת זאת רוצים לחלק בצורה דינמית את הדף של האתר כדי שאלמנט של טבלה למשל לא יחצה דף (או div או כל דבר אחר).
להלן סקריפט ב javascript שמודד את המיקום הנוכחי של אלמנטים ובמידה ואחד האלמנטים חותך דף, מכניס לפניו page-break.
אנחנו צריכים קודם לבחור את האלמנט שלפיו מחלקים את הדפים. במקרה הזה אני מניח שיש רשימה של divs עם תכנים שונים.
var pageheight = 800;
var pagePos = 0;
var pageTot = pageheight + pagePos;
var blocks = document.getElementsByTagName('div');
var count = blocks.length;
for(var i = 0; i < blocks.length; i++){
for(var i = 0; i < count; i++){
if(i != (count-1)){
var height = 0;
var block = new Object();
block.top = blocks[i].offsetTop;
block.bottom = blocks[i+1].offsetTop;
if(pageTot > block.top && pageTot < block.bottom){
/*blocks[i].previousSibling.setAttribute('style','page-break-after: always;');*/
blocks[i].previousSibling.style.pageBreakAfter = 'always';
pageTot += pageheight;
}
}
}
}
את החלוקה הזאת אפשר להכניס בסוף דף ה html.
Tags
javascript