簡體   English   中英

fpdf分頁問題

[英]fpdf page break issue

我有這個循環打印6行(多單元)大約30次。 問題是,當它到達底部頁面時,它會從多單元格中打印2或3行,而在下一頁面上則會打印其他3行。 如果當前頁面上的所有6行沒有足夠的空間,我想讓它在下一頁上打印所有6行。 我用這個代碼:

$height_of_cell = 60; mm
$page_height = 279.4; // mm (portrait letter)
$bottom_margin = 20; // mm
$space_left = $page_height - $p->GetY(); // space left on page
$space_left -= $bottom_margin; // less the bottom margin
if ( $height_of_cell >= $space_left) {
$p->Ln();                        
$p->AddPage(); // page break
$p->Cell(100,5,'','B',2); // this creates a blank row for formatting reasons
}

但它不起作用。 有解決方案嗎 謝謝!

使用GetY獲取當前位置,從文檔的高度中減去它。 如果它小於6x(您有6行)您的多單元高度,則使用AddPage強制分頁。

我知道你解決了這個問題,但為了其他任何人的利益,這應該給出一個廣泛的想法。

<?php
$p = new FPDF();
$p->AddPage();
$p->SetFont('Arial','B',16);
$p->SetAutoPageBreak(false);
$height_of_cell = 60; // mm
$page_height = 286.93; // mm (portrait letter)
$bottom_margin = 0; // mm
  for($i=0;$i<=100;$i++) :
    $block=floor($i/6);
    $space_left=$page_height-($p->GetY()+$bottom_margin); // space left on page
      if ($i/6==floor($i/6) && $height_of_cell > $space_left) {
        $p->AddPage(); // page break
      }
    $p->Cell(100,10,'This is a text line - Group '.$block,'B',2);
  endfor;
$p->Output();
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM