>  기사  >  백엔드 개발  >  php fpdf 怎么输出一个表头

php fpdf 怎么输出一个表头

WBOY
WBOY원래의
2016-06-23 14:24:50884검색

我这边需要输出一个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); //定位到下一列}
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.