我用FPDF创建了一个表,我想将单词包装在单元格(表格)中。 这是我的代码。
$w = array(7, 150, 40);
$pdf->Cell($w[0], 6, $count, 'LR');
$pdf->Cell($w[1], 6, $column_heading, 'LR');
$pdf->Cell($w[2], 6, $rekey, 'LR', 0, 'R');
$pdf->Ln();
$pdf->Cell(array_sum($w), 0, '', 'T');
$count++;
这是代码的输出,我如何打破单元格中的文本。
答案 0 :(得分:0)
FPDF分别打印单元格和文本(意味着它就像是2层)
来自手册:http://www.fpdf.org/
Cell(float w [, float h [, string txt [, mixed border [, int ln [, string align [, boolean fill [, mixed link]]]]]]])
建议方法:
上下文长度应按代码计算,如果内容大于分配的单元格宽度,则应将其划分并转移到新行。
同时应调整单元格高度h
(增加高度)。
我记得(fpdf专家可以纠正我)基于内容的单元格自动调整尚未实现为库的功能。
答案 1 :(得分:0)
如果您不能使用多单元,您可以尝试缩小文本,直到它通过获取字符串宽度适合单元格。
示例:强>
//loop the data
foreach($data as $item){
$pdf->Cell(10, 5,$item[0],1,0);
$pdf->Cell(60, 5,$item[1],1,0);
//shrink font size until it fits the cell width
while($pdf->getStringWidth($item[2]) > $cellWidth){// loop until the string width is smaller than cell width
$pdf->SetFontSize($tempFontSize -= 0.1);
}
$pdf->Cell($cellWidth,5,$item[2],1,0);
//reset font size to standard
$tempFontSize = $fontSize;
$pdf->SetFontSize($fontSize);
$pdf->Cell(40,5,$item[3],1,1);
}