为啥在 php 中使用 TCPDF 的单元格中存在左侧和顶部填充?

Posted

技术标签:

【中文标题】为啥在 php 中使用 TCPDF 的单元格中存在左侧和顶部填充?【英文标题】: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);。感谢您的提问和回答,我可以很容易地弄清楚这一点...... 【参考方案1】:

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

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

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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于为啥在 php 中使用 TCPDF 的单元格中存在左侧和顶部填充?的主要内容,如果未能解决你的问题,请参考以下文章

TCPDF:为啥即使单击不同单元格的按钮,“生成 pdf”按钮也会显示相同的数据?

为啥我的日历图标没有出现在表格单元格中?

为啥两个表格视图单元格中的两个集合视图在 Swift 4 中不起作用?

为啥我的视频没有显示在我使用 AVPlayer 的滚动视图的单元格中

为啥我不能从情节提要的表格单元格中删除标签?

如何在 TCPDF 中添加自定义字体?