2016-11-05 85 views
1

是否有一种简单的方法在FPDF中的单元格表格中包装字符串?我找到了一些答案,但他们看起来有点硬编码。我从我的数据库中检索数据,所以需要动态地使用它。FPDF在单元格表格中包装文本

这是一幅显示我迄今为止进展情况的图片。文本是重叠的,所以我需要根据需要让单元格高度增长。

enter image description here

样品编号

$row_height = 6; 
$header = 35; 
$y_axis = $header + $row_height; 

while($row = mysqli_fetch_assoc($result)) { 
    $col1= $row['col1']; 
    $col2= $row['col2']; 
    $col3= $row['col3']; 

    if ($y_axis >= 275) { // new page 
     $pdf->AddPage(); 
     tableHeader($pdf); 
     $y_axis = $header + $row_height; 
    } 

    //List of items 
    $pdf->SetFont('Arial','',8); 
    $pdf->SetY($y_axis); 
    $pdf->SetX(10); 

    $pdf->MultiCell(40,$row_height,$col1,1); 
    $pdf->SetY($y_axis); 
    $pdf->SetX(50); 
    $pdf->MultiCell(60,$row_height,$col2,1); 
    $pdf->SetY($y_axis); 
    $pdf->SetX(110); 
    $pdf->MultiCell(90,$row_height,$col3,1); 

    $y_axis = $y_axis + $row_height; 
} 
+0

描述进度截图,以及为什么硬编码解决方案在这些情况下无用。 – iblamefish

+0

邮政编码也是如此,您需要在第一个单元格之后创建一个新行:$ pdf-> Ln(30); –

+0

@iblamefish这是因为我从数据库检索数据,我需要单元格的行高来自动调整 –

回答

1

也许FPDF的MultiCell方法适合您的需求。

此方法允许用换行符打印文本。它们可以是自动的(只要文本到达单元格的右边框)或显式的(通过\n字符)。根据需要输出多个单元,一个在另一个之下。 文本可以对齐,居中或对齐。细胞块可以被框住并且背景被绘制。