我正在尝试遍历TCPDF的代码,以了解它如何计算要呈现的文本的高度,但是对于我来说,无需询问就太多了.
我想知道的是:在示例5 http://www.tcpdf.org/examples/example_005.pdf的PDF中,它为单元格提供了黄色背景.我猜想在基本级别上,它首先用这种填充颜色绘制一个框,然后添加文本,那么它要调用什么方法来获取文本的高度以知道要填充的框的高度?
从示例代码中,我可以看到MultiCell()是入口点,但是不清楚调用什么方法来获取文本的高度.我在此pastebin中粘贴了MultiCell()的代码
任何人都知道如何跟踪它,因为手工完成并查看代码对我来说根本行不通.
解决方法:
单元格由MultiCell绘制:
http://www.tcpdf.org/examples/example_005.phps
$pdf->MultiCell(55, 5, '[LEFT] '.$txt, 1, 'L', 1, 0, '', '', true);
来自:http://api.joomla.org/com-tecnick-tcpdf/TCPDF.html
int MultiCell (float $w, float $h, string $txt, [mixed $border = 0], [string $align = 'J'], [int $fill = 0], [int $ln = 1], [int $x = ''], [int $y = ''], [boolean $reseth = true], [int $stretch = 0])
如您所见,前两个值为MultiCell静态分配了宽度(55)和高度(5)
另外:
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
您可以看到度量单位是程序/类的默认值PDF_UNIT
然后使用
$pdf->SetFont('times', '', 10);
(或仅将SetFontSize用作大小)