您可能遇到的是文本行的实际高度。在内部,TCPDF 使用单元格高度比来控制渲染的行高。当您有一个带有单行文本的 TD 时,您可以使其最小的是该行的总高度。所以一个td
单元格的最小尺寸是fontsize * cellheightratio + any cellpadding proscribed
cellpadding 可以来自cellpadding
属性,所以我在这个例子中将它设置为 0。setCellPaddings
我相信在编写 HTML 之前,至少也可以设置一些填充尺寸。
您可以通过使用line-height
CSS 声明来设置单元格高度比率以使行更小。(当然,您也可以只减小字体大小。)
<?php
//For demonstration purposes, set line-height to be double the font size.
//You probably DON'T want to include this line unless you need really spaced
//out lines.
$this->setCellHeightRatio(2);
//Note that TCPDF will display whitespace from the beginning and ending
//of TD cells, at least as of version 5.9.206, so I removed it.
$html = <<<EOD
<table style="border:1px solid black;" border="1" cellpadding="0">
<tr>
<td>Row 1, Cell 1</td>
<td>Row 1, Cell 2</td>
</tr>
<tr style="line-height: 100%;">
<td>Row 2, Cell 1</td>
<td>Row 2, Cell 2</td>
</tr>
<tr style="line-height: 80%;">
<td>Row 3, Cell 1</td>
<td>Row 3, Cell 2</td>
</tr>
<tr style="line-height: 50%;">
<td>Row 4, Cell 1</td>
<td>Row 4, Cell 2</td>
</tr>
</table>
EOD;
$this->writeHTMLCell($w=0, $h=0, $x='', $y='', $html, $border=0, $ln=1, $fill=0, $reseth=true, $align='', $autopadding=true);
我的 5.9.206 安装上的上述代码产生了这个:
这使得第 1 行很大,是字体大小的两倍。第 2 行将行高设置为字体大小的 100%。第 3 行是 80%。第 4 行有 50%。
*请注意,如果您的文本换行,那么在非常减少的行高时会看起来很糟糕。