I\'m trying to create a PDF file with a table of data.. But when a page break is met it jumps to a new page everytime a new multicell is added to the page at the break point lev
The problem is that in the Cell()
method (which is called in MultiCell()
) FPDF allways adds a new page if the the current Y position + the height of the new cell is greater than the allowed page height.
The default page height seems to be 297, with SetAutoPageBreak()
you substract 150
from it. So when Y
+ cell_height
is graeter than 147 you allways get a new page when calling your cnstr_cell()
.
To prevent this you need to call AddPage()
by yourself. Add this check in your add_product()
method:
$x = $this->width;
$y = $this->pdf->GetY();
if (($y + $this->line_height) >= 147) {
$this->pdf->AddPage();
$y = 0; // should be your top margin
}
Btw. I also had to generate a dynamic PDF recently, I ended up using wkhtmltopdf, it was way more easy to use and customize than all the PHP libraries. I suggest to take a look at it.