以下のようなコードを作成しました。達成したいのは、動的に作成された行を含む 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);
}