TCPDF:将文本剪辑为单元格宽度

Sri*_*h S 4 cell width tcpdf

我正在广泛使用TCPDF的Cell方法生成PDF报告.使用Cell方法打印的文本溢出超出方法中指定的宽度.我想只打印适合指定宽度的文本的一部分,但不要溢出或包裹到下一行.我不想要字体拉伸策略.

我搜索了很多,但找不到解决方案.有没有其他方法/方法来处理这个?(我使用setfillcolor(255)来实现视觉效果.但文本仍然存在,不可见;当你尝试选择时会显示.)

这是我的代码部分.

    $pdf->SetFillColor(255); // only visual effect
    $pdf->Cell(36, 0, "A very big text in the first column, getting printed in 3.6cm width", 0, 0, 'L', true);
    $pdf->Cell(20, 0, "Data 1", 0, 0, 'L', true);
    $pdf->Cell(20, 0, "Data 2", 0, 0, 'L', true);
Run Code Online (Sandbox Code Playgroud)

非常感谢.

Car*_*res 6

我在TCPDF的主要作者Nicola Asuni 找到了答案.用户fenstra提供的以下代码对我有用:

// Start clipping.      
$pdf->StartTransform();

// Draw clipping rectangle to match html cell.
$pdf->Rect($x, $y, $w, $h, 'CNZ');

// Output html.
$pdf->writeHTMLCell($w, $h, $x, $y, $html);

// Stop clipping.
$pdf->StopTransform();
Run Code Online (Sandbox Code Playgroud)

据我所知,剪切矩形不会考虑显示文本上的任何填充,因此如果您需要模仿此特定的MultiCell的行为,则应将正确的数学运算应用于Rect的宽度和高度.