在文档中可能看起来有点不清楚,但您需要禁用$fitcell 选项(它是MultiCell() 的最后一个参数)以实现预期的行为。该行应如下所示:
$pdf->MultiCell(59, 5, "short", 1, 'L', true, 0, 45, 154, true, 0, false, false, 11, 'T', false);
(注意最后的false 而不是true)。
如果启用$fitcell,TCPDF 将通过应用较小的字体大小来缩小较大的文本以适应单元格,但如果文本小于单元格,它不会尝试缩小单元格。
由于在禁用$fitcell 时,TCPDF 也不会尝试放大单元格,因此您需要增加最大高度参数以允许更多内容。
这里有一个简短的例子:
require_once 'tcpdf/tcpdf.php';
// Create new pdf
$pdf = new TCPDF();
// Add a page
$pdf->AddPage();
// Set color for background
$pdf->SetFillColor(255, 255, 127);
// Add 2 cells
$pdf->MultiCell(59, 5, "one line", 1, 'L', true, 0, 50, 50, true, 0, false, false, 21, 'T', false);
$pdf->MultiCell(59, 5, "badger badger badger badger badger badger badger badger - mushroom! mushroom!", 1, 'L', true, 0, 50, 60, true, 0, false, false, 21, 'T', false);
$pdf->Output();
渲染:
在你告诉的 cmets 中:
如果文本在不缩小的情况下不适合,我确实想缩小文本,允许单元格扩展到最大高度。在你的回答中,一行和獾..是相同的字体大小
如果你想实现这一点,你需要禁用$maxh 功能并启用$fitcell 功能,如下所示:
require_once 'tcpdf/tcpdf.php';
// Create new pdf
$pdf = new TCPDF();
// Add a page
$pdf->AddPage();
// Set color for background
$pdf->SetFillColor(255, 255, 127);
// Add 2 cells
$pdf->MultiCell(59, 11, "short", 1, 'L', true, 0, 50, 50, true, 0, false, false, 0, 'T', true);
$pdf->MultiCell(59, 11, "badger badger badger badger badger badger badger badger - mushroom! mushroom!", 1, 'L', true, 0, 50, 60, true, 0, false, false, 0, 'T', true);
渲染:
但是,现在包含“short”的单元格不会缩小。
注意
在玩了这两个例子之后,我意识到了问题所在。目前,我没有看到如何同时拥有一个带有“短”的缩小框和一个包含具有较低字体大小的长文本的框。但是,我会保留我的答案,可能这对其他人来说是一个很好的起点。