0

問題は、インポートした同じ pdf ファイルの複数のコピーにデータを書き込み、それを 1 つの pdf として保存する必要があることです。1 つのページにデータを書き込むことはできますが、複数のページに書き込もうとしたり、( を使用して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 に答える