有没有办法在具有格式的文本上使用GetStringWidth?现在,如果我有< b> Jarod< / b>,则GetStringWidth会将标记视为要显示的文本,并返回包含标记的字符串宽度。如果我取出它们,那么返回的字符串宽度是非粗体文本,我们知道粗体文本比非格式化文本大,所以我试图弄清楚如何在TCPDF中测量格式化文本宽度。谢谢!
答案 0 :(得分:3)
想象一下。在TCPDF中,我们总是使用SetFont(' Times','',12);我们有字体系列或名称,其次是''我们可以在哪里放I或B或U等,然后是字体大小。我遇到的GetStringWith的问题是,当我需要测量粗体时,我使用默认字体设置来测量我的字体。修复:
//Temporarily set the font to Bold.
$pdf->SetFont('Times','B',12);
//Now measure the text that needs to be measured;
$text_width = $pdf->GetStringWidth("Text To Be Measured");
//Now reset the font back to normal so the rest of the document isn't messed up.
$pdf->SetFont('Times','',12);
我希望这有助于其他人。
答案 1 :(得分:3)
根据TCPDF Doc,您可以向GetStringWidth()
函数发送参数,包括字体样式。
在您的示例中:
$text_width = $pdf->GetStringWidth("Text To Be Measured",'','B');