0

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

4

1 回答 1

6
$pdf->AddPage();

您只需将这段代码放在右大括号附近的 for 循环中。

一切顺利..!!

于 2013-12-12T09:16:45.323 回答