我写下面的代码,它工作正常,但多单元行高度不正常。我写下面的代码,它工作正常但多单元行高度不能正常工作。我写下面的代码,它工作正常但多单元行高是工作不正常。
$x=$pdf->GetY();
$pdf->SetY($x+1);
include_once("config.php");
$result = mysqli_query($mysqli, "SELECT * FROM prd"); // using mysqli_query instead
$i = 1;
while($res = mysqli_fetch_array($result))
{
$current_y = $pdf->GetY();
$current_x = $pdf->GetX();
$pdf->MultiCell(30, 5, $i, 1, 'L');
$end_y = $pdf->GetY();
$prdid = $res[0];
$empid = $res[1];
$specification = $res[2];
$prn = $res[3];
$current_x = $current_x + 30;
$pdf->SetXY($current_x, $current_y);
$pdf->MultiCell(30, 5, $empid, 1, 'L');
$end_y = ($pdf->GetY() > $end_y)?$pdf->GetY() : $end_y;
$current_x = $current_x + 30;
$pdf->SetXY($current_x, $current_y);
$pdf->MultiCell(30, 5, $specification, 1, 'L');
$end_y = ($pdf->GetY() > $end_y)?$pdf->GetY() : $end_y;
$current_x = $current_x + 30;
$pdf->SetXY($current_x, $current_y);
$pdf->MultiCell(30, 5, $prn, 1, 'L');
$end_y = ($pdf->GetY() > $end_y)?$pdf->GetY() : $end_y;
$i++;
$pdf->SetY($end_y);
}
$pdf->Output();
?>
我的结果:
如何自动调整行高?
答案 0 :(得分:0)
因此多单元格本质上是动态的高度。你输入函数的高度是" row"高度。所以会发生的事情是fpdf去编写多个单元格,并且我们说我们将高度定义为5,它将创建一个"单元格"高度为5并开始写作。然后它在宽度上击中硬停止并且进入"我必须创建一个新行"然后它添加一个新的"单元"高度5直接位于顶部"单元格#34;这将重复,直到所有文本都被写出。显然,这对于动态内容来说非常棒,但是它有自己的挑战。
我通常采用的路径是记录起点,先写出多格,然后记录停止点。然后,您可以返回并编写其他单元格以实现更好的对齐。对于这个GetX,GetY,SetX,SetY将是你的朋友。您可以使用简单的数学动态设置高度等。
"懒惰"选项是重新进行布局以允许文档扩展,即采用多长的单元格并将其放在行下,这样您就可以了:
| 1 | 46 | PR2 ..... |
|真的很长的文字
这将扩大规模
在这里|
| 2 | ........
希望有助于您前进!