【问题标题】:Why is there a left and top padding in a cell using TCPDF in php?为什么在 php 中使用 TCPDF 的单元格中存在左侧和顶部填充?
【发布时间】:2011-09-22 22:09:30
【问题描述】:

我正在使用 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 的屏幕截图:

这是同一单元格放大 300% 的屏幕截图:

如何删除不需要的填充?

///编辑///

我设法通过使用 setCellPaddings() 函数删除了左侧填充:

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

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

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

【问题讨论】:

  • 就我而言,我只是想删除左右填充,所以我的代码是$pdf->setCellPaddings(0,'','',0);。感谢您的提问和回答,我可以很容易地弄清楚这一点......

标签: php pdf pdf-generation tcpdf


【解决方案1】:

如果我没记错的话,它不是填充,而是延伸到基线以下的字母(例如“g”)、重音符号、下标和上标的空间。

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-09-22
      • 2021-05-16
      • 2020-08-01
      • 2018-01-20
      • 2018-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-02
      相关资源
      最近更新 更多