現在、PHP5上でMBFPDFを使って、表を印刷しています。
1ページ1ユーザの情報を表にして、複数のユーザデータを
複数ページにわたって、印刷しています。
ユーザデータは、事前にForeachで配列に取り込んでおり、
印刷するとき、for文でまわしています。<以下参照>。
このようにすると、「ページが壊れています。」とエラー画面が
表示されてしまいます。
$pdf=new MBFPDF('L', 'pt', 'A4');
$pdf->AddMBFont(GOTHIC ,'SJIS');
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont(GOTHIC,'',10);
$w1 = 200;
$w2 = 600;
for($j=3;$j<$i;$j++){
$pdf->Cell($w1, 20, '利用者コード', 1);
$pdf->Cell($w2, 20, "$code[$j]", 1, 1);
$pdf->Cell($w1, 20, '利用者氏名', 1);
$pdf->Cell($w2, 20, "$name[$j]", 1, 1);
$pdf->Cell($w1, 20, '郵便番号', 1);
$pdf->Cell($w2, 20, "$zip_code[$j]", 1, 1);
$pdf->Cell($w1, 20, '都道府県', 1);
$pdf->Cell($w2, 20, "$pref[$j]", 1, 1);
$pdf->Cell($w1, 20, '市町村', 1);
$pdf->Cell($w2, 20, "$city[$j]", 1, 1);
$pdf->Cell($w1, 20, '番地', 1);
$pdf->Cell($w2, 20, "$address[$j]", 1, 1);
$pdf->Cell($w1, 20, 'アパート・マンション', 1);
$pdf->Cell($w2, 20, "$apartment[$j]", 1, 1);
$pdf->Cell($w1, 20, '電話番号', 1);
$pdf->Cell($w2, 20, "$tel[$j]", 1, 1);
$pdf->Cell($w1, 20, 'メールアドレス', 1);
$pdf->Cell($w2, 20, "$email[$j]", 1, 1);
$pdf->Cell($w1, 20, '緊急連絡先名前', 1);
$pdf->Cell($w2, 20, "$sub_name[$j]", 1, 1);
$pdf->Cell($w1, 20, '緊急連絡先電話番号', 1);
$pdf->Cell($w2, 20, "$sub_tel[$j]", 1, 1);
$pdf->AddPage();
}
$pdf->Output();
for文の繰り返しを、明示的に数字で指定して、4ページくらいを印刷しようとすると、正常に印刷できます。一度に印刷するページ数が多くなるとエラーになるようなのですが、対処法はありますでしょうか?
以上、よろしくお願いします。
お礼
HTMLヘッダの出力などの余計な記述を消したら、うまくいきました。 ありがとうございました。