0

我有下面这样的代码,我想要实现的是生成具有动态创建行的 PDF 文档。用户可以从他们填写的表格中生成 PDF。如果他们想在其中一个字段中添加更多文本,则应该将其拆分为行。

想法是这样的:分解文本,并在检查每个单词的大小是否小于 70 后添加空格(需要连续的字符)。不幸的是,WHILE 循环有问题,导致我的脚本不生成任何 PDF 文件。任何人都可以帮忙吗?我看不出我在这里做错了什么。

    //length of line is 70 chars
    $n = strlen($datan['reason']) / 70;

    //if there are some chars left add last line
    if(strlen($datan['reason'])%70 > 0)
    {
        $n++;
    }   
    $pieces = explode(" ",$datan['reason']);
    $piece_number = 0;

    //create n lines 
    for($i=0;$i<$n;$i++){
        $previous = "";
        $l = true;
        //add pieces not to exceed 70 chars
        while($l == true){
            $current = $pieces[$piece_number];
            if(strlen($current) + strlen($previous) < 70){
                $previous .= $current . " ";
                $piece_number++;
            }
            else
                $l = false;
        }
        //print line
        $pdf->addText(215,535+(20*$i),10,$previous);
    }
4

1 回答 1

0

好的,正如我预期的那样,问题出现了,它无法结束,因为它用完了 $pieces 数组,我忘了控制它。

于 2012-06-13T22:00:13.433 回答