PHP - FPDI - 不能写入多页

时间:2013-03-15 14:46:55

标签: php fpdi

问题是,我需要将数据写入同一个导入的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个空白页。 (我这样做是为了更容易看到正在写的内容)

1 个答案:

答案 0 :(得分:5)

$pdf->AddPage();

你必须把这段代码放在闭合括号附近的循环中。

一切顺利...... !!