Jos*_*ter 16
好问题.
我通过遍历您的行中将被多线化的每个数据单元来解决它,并确定所有这些单元格的最大高度.这是在您在行中创建第一个单元格之前发生的,并且当您实际渲染它时它将成为行的新高度.
以下是为一个单元实现此目的的一些步骤,但您需要为每个多单元执行此操作:
这假定一个$row带有String属性的数据被调用description.
首先,获取单元格内容并设置单元格的列宽.
$description = $row['desciption']; // MultiCell (multi-line) content.
$column_width = 50;
Run Code Online (Sandbox Code Playgroud)description使用以下GetStringWidth()函数获取String 的宽度FPDF:
$total_string_width = $pdf->GetStringWidth($description);
Run Code Online (Sandbox Code Playgroud)确定此单元格的行数:
$number_of_lines = $total_string_width / ($column_width - 1);
$number_of_lines = ceil( $number_of_lines ); // Round it up.
Run Code Online (Sandbox Code Playgroud)
我从$column_width作为一种细胞填充减去1 .它产生了更好的结果.
确定生成的多行单元格的高度:
$line_height = 5; // Whatever your line height is.
$height_of_cell = $number_of_lines * $line_height;
$height_of_cell = ceil( $height_of_cell ); // Round it up.
Run Code Online (Sandbox Code Playgroud)对任何其他MultiCell单元重复此方法,将其设置$row_height为最大$height_of_cell.
最后,使用$row_heightfor行的高度渲染行.
| 归档时间: |
|
| 查看次数: |
13331 次 |
| 最近记录: |