Php 需要FPDI方面的帮助&;TCPDF:输出pdf的第1页将使用模板的第一页,下一页将使用模板的第二页

Php 需要FPDI方面的帮助&;TCPDF:输出pdf的第1页将使用模板的第一页,下一页将使用模板的第二页,php,tcpdf,fpdi,Php,Tcpdf,Fpdi,我正在尝试创建发票文档并以pdf格式显示项目 我遇到的问题是,第一页将使用pdf模板(使用FPDI),其中包含公司徽标、公司信息和购买的物品列表 如果项目列表需要不止一页,下一页将需要使用pdf模板的第二页,该模板仅显示公司徽标作为标题和购买项目的延续。下面是我的示例代码。我还试图在此基础上扩展fpdi,但我无法使其工作 $pdf = new FPDI(); ob_start(); echo $this->view->print_invoice

我正在尝试创建发票文档并以pdf格式显示项目

我遇到的问题是,第一页将使用pdf模板(使用FPDI),其中包含公司徽标、公司信息和购买的物品列表

如果项目列表需要不止一页,下一页将需要使用pdf模板的第二页,该模板仅显示公司徽标作为标题和购买项目的延续。下面是我的示例代码。我还试图在此基础上扩展fpdi,但我无法使其工作

    $pdf        = new FPDI();

    ob_start();
    echo $this->view->print_invoice($productItems, $customerInfo);
    $content    = ob_get_contents();
    ob_clean();

    // add a page
    $pdf->addPage();
    $pdf->writeHTML($content);

    $pageCount  = $pdf->setSourceFile(ROOT_DIR . "public/pdf-templates/group.pdf");
    $tplIdx     = $pdf->importPage(1, '/MediaBox');

    $pdf->useTemplate($tplIdx, 10, 10, 190, 280);

    $pdf->Output('outfile.pdf','I');

提前感谢您的帮助

只需实现扩展类的header()方法中描述的逻辑:

class PDF extends FPDI
{
    public function Header()
    {
        if ($this->PageNo() > 1) {
            $tplIdx = $this->importPage(2);
        } else {
            $tplIdx = $this->importPage(1);            
        }

        $this->useTemplate($tplIdx);
    }
}

ob_start();
echo $this->view->print_invoice($productItems, $customerInfo);
$content = ob_get_contents();
ob_clean();

$pdf = new PDF();
$pdf->setSourceFile(ROOT_DIR . "public/pdf-templates/group.pdf");
$pdf->addPage();
$pdf->writeHTML($content);
$pdf->Output('outfile.pdf','I');

完美的谢谢:)