使用php wordwrap在每行上以不同的长度包装,然后使用Zend PDF打印?

使用php wordwrap在每行上以不同的长度包装,然后使用Zend PDF打印?,php,word-wrap,zend-pdf,Php,Word Wrap,Zend Pdf,正如标题所说,我需要使用php(wordwrap或任何有效的工具)将字符串拆分为行,并使用Zend打印到PDF上,但每行的长度不同,并且从不同的X和Y位置开始(对于$page->drawText) 示例-有一个文本字符串,总共大约500个字符-没有真正的长单词(最多7或8个字符),固定宽度字体。我需要将它打印到pdf中的一系列行上。第一行最多84个字符(x=172),接下来的3行最多108个字符(x=53),最后一行是95个字符(x=150)。每条线都向下设置了11个点(Y2=Y1-11),尽管

正如标题所说,我需要使用php(wordwrap或任何有效的工具)将字符串拆分为行,并使用Zend打印到PDF上,但每行的长度不同,并且从不同的X和Y位置开始(对于$page->drawText)

示例-有一个文本字符串,总共大约500个字符-没有真正的长单词(最多7或8个字符),固定宽度字体。我需要将它打印到pdf中的一系列行上。第一行最多84个字符(x=172),接下来的3行最多108个字符(x=53),最后一行是95个字符(x=150)。每条线都向下设置了11个点(Y2=Y1-11),尽管理想情况下我也可以为每条新线设置Y,以防万一

这里有几个代码片段为我指明了正确的方向-&

不过,这两种方法都没有真正涵盖在每条线的不同点开始新线的方法。也许只是因为今天是星期一,但我很难把这件事安排在一起


有什么想法吗

我在这里使用了这个函数,它将其拆分并作为数组返回。然后我检查(strlen($new[4])>95)并用substr截断它

function pdfWrapSplit($text, $lines, $firstWidth, $secondWidth)
{
    $text = wordwrap($text, $firstWidth, "|");
    $lastPos = 1;
    for ($i=0;$i<$lines;$i++)
    {
        $lastPos = strpos($text, '|', $lastPos+1);   
        if ($lastPos === FALSE)
            break;
    }
    $text = substr($text, 0, $lastPos) . "|" . wordwrap(str_replace('|',' ',substr($text, $lastPos)), $secondWidth, '|');
    $new = explode('|', $text);
    return $new; 
}
函数pdfWrapSplit($text、$line、$firstWidth、$secondWidth)
{
$text=wordwrap($text,$firstWidth,“|”);
$lastPos=1;
对于($i=0;$i)