0

以下のようなコードを作成しました。達成したいのは、動的に作成された行を含む PDF ドキュメントを生成することです。ユーザーが入力したフォームから PDF を生成するためのものです。フィールドの 1 つにさらにテキストを入力したい場合は、行に分割する必要があります。

アイデアは次のとおりです。テキストを分解し、サイズが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

さて、問題は私が予想したようにしばらくの間ありました、それが$ piece配列を使い果たして、私がそれを制御するのを忘れたので、それは終わらせられませんでした。

于 2012-06-13T22:00:13.433 に答える