1

我正在使用 TCPDF,特别是 ImageSVG() 函数将一些文本放入框中。我试图使它正确,但我似乎无法正确。我还需要它来拉伸内部的文本,使其适合包含的矩形。到目前为止,我有这个代码:

$pdf->ImageSVG('@<svg width="'.$line4_w.'px" height="'.$line4_h.'px" version="1.1"
     viewBox="0 0 '.$line4_w.' '.$line4_h.'" preserveAspectRatio="none"
     xmlns="http://www.w3.org/2000/svg">
  <rect x="0" y="0" width="'.$line4_w.'" height="'.$line4_h.'" 
        fill="'.$bgcolor.'" />
  <!-- A text string that spans most of the viewport -->
  <text x="40" y="50" font-size="40" font-family="Verdana" style="fill:'.$color_select_text_main.'" >'.$content.'</text>
</svg>', $x=$line4_x+$text_x, $y=$line4_y, 0, 0, $svgLink = '', $svgAlign = 'R', $svgPalign = '', $svgBorder = 0, $svgFits = true);

宽度和高度值是可变的,内容字符串也是如此。

我已使用此处的代码作为起点:

http://www.w3.org/TR/SVG/coords.html#ExampleViewBox

但是我的问题基本上是当我更改$content的字符串长度故意溢出容器时,文本根本没有缩小,剩下的文本只是被截断了。

关于理由,我尝试使用text-anchor(文本元素的)属性,将其设置为结束,它基本上似乎只是将它完全放在视口之外。

我究竟做错了什么?

4

1 回答 1

0

我很确定我的解决方案不是最有效的,但我放弃了这种方法,用 ImageMagick 制作了图像,然后只使用了 TCPDF 的 Image() 功能。

ImageMagick 的转换和标签功能确实能够比我对文本定位和渲染所需的更多。不确定这个问题是否值得保留,但也许它会在未来帮助某人。

于 2013-01-02T16:36:38.223 回答