问题是,我需要将数据写入同一个导入的pdf文件的多个副本,并将其保存为一个pdf。我可以很好地将数据写入一个页面,但是当我尝试写入多个页面,或者甚至继续发送文本(使用SetAutoPageBreak()
)时,它只是在它到达下一页时停止写入。虽然,如果我添加一个任意循环来写入更多数据,则生成的pdf页数会增加以容纳添加的数据,但超出第一个页面的页面仍为空白。我已经简化了我想要做的一个小例子来说明问题:
public function actionSample() {
$pdf = new FPDI();
$pdf->AcceptPageBreak();
$pdf->SetAutoPageBreak(true, 30);
$pagecount = $pdf->setSourceFile('images/sample.pdf');
for ($i = 1; $i <= $pagecount; $i++) {
$pdf->AddPage();
$tplidx = $pdf->ImportPage($i);
$pdf->useTemplate($tplidx, 10, 10, 200);
$s = $pdf->getTemplatesize($tplidx);
$pdf->SetTextColor(32,32,32);
$pdf->SetFontSize(10);
$pdf->SetXY($pdf->getX(), $pdf->getY()+10);
$pdf->Write(2, 'This is not!');
}
$pdf->Output('Sample.pdf', 'D');
}
示例文档最初有3个空白页。 (我这样做是为了更容易看到正在写的内容)
答案 0 :(得分:5)
$pdf->AddPage();
你必须把这段代码放在闭合括号附近的循环中。
一切顺利...... !!