日期:2014-05-17  浏览次数:20561 次

php fpdf 怎么输出一个表头
我这边需要输出一个table,但是表头里的字可能会比较多,页面的宽度是固定的。所以肯定要用到MultiCell,求各位 怎么用 ,其实我用了,但是乱掉了。。。
我的代码:
$pdf->Cell(30,6,'field 1','L,T,B',0,'L',true);
$pdf->Cell(40,6,'field 2','T,B',0,'L',true);
foreach($fields as $key=>$val){
// $pdf->Cell($tax_width, 20, $book, 0, 'L'); 
   $pdf->MultiCell($tax_width,6,$key,'T,B',0,'C',true);
}

用cell,有可能字会覆盖,用MultiCell就成不了一个表头了,求解。。。

------解决方案--------------------
本帖最后由 xuzuning 于 2013-10-22 17:20:40 编辑
不计算肯定是不行的!

$top = $pdf->gety(); //左上角的 Y 坐标
$left = $pdf->getx(); //左上角的 X 坐标
$height = 60; //表头高
$width = 100; //列宽
$ar = array('标题', '长标题长标题'); //列标题
foreach($ar as $text) {
  $h = $height / ceil($pdf->GetStringWidth($text) / $width); //计算分行后的行高
  $pdf->multicell($width, $h, $text, 1, 'C');
  $pdf->setxy($this->getx() + $width, $top); //定位到下一列
}