为什么在PHP中使用TCPDF的单元格中存在左侧和顶部填充?

时间:2011-06-26 10:11:25

标签: php pdf pdf-generation tcpdf

我在php中使用TCPDF(http://www.tcdf.org/)类打印一个单元格。单元格应放在左上角。

除了在单元格内添加左边和顶部填充外,一切都很好。

这是我的代码:

require_once('../config/lang/eng.php');
require_once('../tcpdf.php');

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

$pdf->SetMargins(0,0,0);
$pdf->SetAutoPageBreak(0,0);
$pdf->SetFont('dejavusans', '', 8.5, '', true);

$pdf->AddPage('L', array(50.8,88.9));
$pdf->SetDisplayMode(100,'default');

$pdf->SetXY(0, 0);
$pdf->Cell(0,2.98740833, "Your Name", '1', 2, 'L', false); //Name

$pdf->Output('example.pdf', 'I');

以下是使用TCPDF输出的PDF的屏幕截图:

Here's a screenshot of the PDF that is outputting with TCPDF:

以下是放大300%的同一细胞的屏幕截图:

Close-up of the padding in the cell

如何删除不需要的填充?

/// 修改 ///

我设法通过使用setCellPaddings()函数删除左边距:

$pdf->setCellPaddings(0,0,0,0);

然而,我仍然在单元格内的文本上方和下方填充:

enter image description here

我可以增加单元格的大小,但是当我尝试使单元格的高度变小以尝试在文本上关闭它时,单元格将不会小于当前大小。如何降低单元格的高度或删除单元格中不需要的顶部和底部填充?

2 个答案:

答案 0 :(得分:14)

如果我没有弄错,那就不是填充,而是字母的空间延伸到基线以下(例如" g"),重音符号,下标和上标。

我在文本中尝试了一些重音字母的代码。这是结果: tcpdf test

相关:
- Baseline (typography)
- Subscript & Superscript

答案 1 :(得分:1)

另外请注意,您可以通过为Cell函数中的ignoreMinHeight参数传递TRUE来降低单元格的高度。