2015-10-05 38 views
1

我正嘗試創建發票文檔並以pdf格式顯示項目。需要關於FPDI和TCPDF的幫助:輸出pdf的第1頁將使用模板的第一頁,接下來的頁面將使用模板的第二頁

我遇到的問題是,第一頁將使用具有公司徽標,公司信息和購買物品清單的pdf模板(使用FPDI)。

如果項目列表將需要多個頁面,則下一頁將需要使用pdf模板的第二頁,該頁面僅顯示公司徽標作爲標題和所購商品的延續。以下是我的示例代碼。我也試圖擴展基於這個SO post 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'); 

預先感謝您的幫助!

回答

1

就實現你的延伸類的標題()方法中描述的邏輯:

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'); 
+0

完美!謝謝 :) – bananaCute

相關問題