我正在尝试使用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');
}
}
答案 0 :(得分:0)
您的页面宽度为$this->GetPageWidth()
,表格宽度为array_sum($w)
。
因此,在写表之前,请相应地设置左边距:
$lMargin = ($this->GetPageWidth() - array_sum($w)) / 2;
$this->SetLeftMargin($lMargin);