おそらく目にするのは、実際のテキスト行の高さです。内部的には、TCPDFはセルの高さの比率を使用してレンダリングされた行の高さを制御します。 1行のテキストを持つTDがある場合、その行の合計の高さを最小にすることができます。したがって、td
セルの最小サイズは属性から来る可能性がありますので、この例では0に設定しています。セルの最小サイズはfontsize * cellheightratio + any cellpadding proscribed
です。私は、埋め込み寸法の少なくともいくつかは、HTMLを書く前にsetCellPaddings
で設定することができると信じています。
セルの高さの比率を設定するには、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倍。行2は、行の高さをフォント・サイズの100%に設定します。行3は80%です。行4は50%です。
*テキストが折り返された場合、線の高さが非常に低くなるとひどく見えます。
出典
2013-10-14 00:28:21
EPB
これは正しいです。空の表のセルにも適用されます。 – 321zeno
私は、HTMLセルを使用していなかったことを除いて、これを実行しました。標準のCellメソッドです。私は正確な高さが必要でした。境界線が正しく機能するためには、FontSizeがサイズを変えていることを知らずに何時間も頭を悩ませました。元のフォントサイズを保存してから、Ln()でセルを書き込む前にSetFontSize(0)を呼び出し、フォントサイズを元に戻して固定しました。ありがとう! – gregthegeek
複数の$ this-> setCellHeightRatio(2)を追加する方法。 ? – wahmal