欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php fpdf 怎么输出一个表头

程序员文章站 2022-05-16 08:53:54
...
我这边需要输出一个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就成不了一个表头了,求解。。。

回复讨论(解决方案)

你需要在 $pdf->MultiCell($tax_width,6,$key,'T,B',0,'C',true);
之后(之前)指定当前位置

你需要在 $pdf->MultiCell($tax_width,6,$key,'T,B',0,'C',true);
之后(之前)指定当前位置

怎么指定呢,这个不好计算吧。。。表头部分字段是不一定,有多有少,有长有短,不知道怎么弄。。给点提示 该怎么定位?

本帖最后由 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); //定位到下一列}