带有FPDF的PDF文档中的中心表

时间:2018-06-15 09:48:56

标签: pdf center fpdf tabular

我正在尝试使用FPDF在PDF的中心放置一个表格,在互联网上搜索我找不到任何解决方案。

您制作的表格是官方页面上的示例中说明的表格。 (修改为使用数据库加载数据,但想法是一样的)

你知道如何将桌子放在中间位置吗?

class PDF extends FPDF {

   function FancyTable($header, $data) {
   $this->SetFillColor(255,0,0);
   $this->SetTextColor(255);
   $this->SetDrawColor(128,0,0);
   $this->SetLineWidth(.3);
   $this->SetFont('','B');

   $w = array(40, 35, 45, 40);
   for($i=0;$i<count($header);$i++)
       $this->Cell($w[$i],7,$header[$i],1,0,'C',true);
   $this->Ln();
   $this->SetFillColor(224,235,255);
   $this->SetTextColor(0);
   $this->SetFont('');

   $fill = false;
   foreach($data as $row) {
       $this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
       $this->Cell($w[1],6,$row[1],'LR',0,'L',$fill);
       $this->Cell($w[2],6,number_format($row[2]),'LR',0,'R',$fill);
       $this->Cell($w[3],6,number_format($row[3]),'LR',0,'R',$fill);
       $this->Ln();
       $fill = !$fill;
   }

   $this->Cell(array_sum($w),0,'','T');
     }
 }

1 个答案:

答案 0 :(得分:0)

您的页面宽度为$this->GetPageWidth(),表格宽度为array_sum($w)

因此,在写表之前,请相应地设置左边距:

$lMargin = ($this->GetPageWidth() - array_sum($w)) / 2;
$this->SetLeftMargin($lMargin);