2

I am having trouble getting a text field to auto size on a form I'm creating. I am setting the textSize of the properties to 0 in the properties of the TextField but it seems to just use the font set for the document. Here is the code I am using to create the TextField.

$pdf->TextField('description', 195, 32, array('multiline'=>true, 'lineWidth'=>0, 'borderStyle'=>'none', 'textSize'=>0), array('v'=>$description));
4

2 回答 2

0

我知道一种可能解决此问题的迂回方法..

在您的文本字段代码之前,您希望您的字体是什么(不是整个文档的默认字体),您可以随时尝试:

$pdf->SetFont('fontName','',fontSize);

在您的文本字段代码之后,只需将字体设置回您想要的文档其余部分的字体即可。

不确定这是否正是您想要的,但我希望它有所帮助。祝你好运与这一切。

于 2013-09-10T14:07:22.283 回答
0

我也面临着那个确切的问题。我花了很长时间才找到解决方案。

要使字段自动调整文本内容的大小,必须将字段的字体大小设置为 0。看起来 TCPDF 不支持 javascripttextSize选项(见末尾TCPDF_STATIC::getAnnotOptFromJSProp()),因此我们必须将字体大小设置为 0在字段之前,并在文本字段之后再次设置回其原始值:

// Beware to use getFontSize*Pt* and not getFontSize.
// getFontSizePt gets the size in pt, and getFontSize gets the size in user units
// (units you gave when you created TCPDF object or default to mm)
// We need to set it again back with SetFontSize() which takes the font size in pt
$originalFontSize = $pdf->getFontSizePt();
$pdf->SetFontSize(0);
$pdf->TextField($name, $w, $h);
$pdf->SetFontSize($originalFontSize);
于 2018-07-16T21:29:59.403 回答