Php 调整字体大小FPDF

Php 调整字体大小FPDF,php,pdf,fpdf,Php,Pdf,Fpdf,在FPDF中,我有一个宽度为176mm的单元格,需要在其中输入客户机名称。问题是客户端名称并不总是调整为固定宽度。有没有办法使单元格的字体大小自动调整到单元格宽度,以防过长 这是我现在拥有的代码: $pdf->Cell( 116, 7, utf8_decode( $row_or[ 'client_name' ] ), 0, 0, 'L' ); 我知道TCPDF有一种设置自动拉伸的方法,但我没有找到任何用于FPDF的方法。我必须使用代码吗?事实证明,有一个名为GetStringWidth的

在FPDF中,我有一个宽度为176mm的单元格,需要在其中输入客户机名称。问题是客户端名称并不总是调整为固定宽度。有没有办法使单元格的字体大小自动调整到单元格宽度,以防过长

这是我现在拥有的代码:

$pdf->Cell( 116, 7, utf8_decode( $row_or[ 'client_name' ] ), 0, 0, 'L' );

我知道TCPDF有一种设置自动拉伸的方法,但我没有找到任何用于FPDF的方法。我必须使用代码吗?

事实证明,有一个名为GetStringWidth的函数,它接收字符串并返回以毫米为单位的宽度,因此,我所做的是:

/* I know that the font size starts with 11, so i set a variable at this size */
$x = 11;    // Will hold the font size
/* I will cycle decreasing the font size until it's width is lower than the max width */
while( $pdf->GetStringWidth( utf8_decode( $row_or[ 'client_name' ] ) ) > 116 ){
    $x--;   // Decrease the variable which holds the font size
    $pdf->SetFont( 'Trebuchet', 'B', $x );  // Set the new font size
}
/* Output the string at the required font size */
$pdf->Cell( 116, 7, utf8_decode( $row_or[ 'client_name' ] ) ), 0, 0, 'L' );
/* Return the font size to itś original */
$pdf->SetFont( 'Trebuchet', 'B', 11 );

对于更精细的列调整,减少也可以是点的分数,例如: $x-=0.1; 而不是x美元--

$pdf->SetFont('Trebuchet','B',--$x);//减量,然后在一行中设置新字体大小