14

I want to be able to append an entire pdf document in the document I am creating with mpdf.

I can import one page using the following code:

$mpdf->SetImportUse(); 

$pagecount = $mpdf->SetSourceFile('testfile.pdf');

$tplId = $mpdf->ImportPage($pagecount, 50, 50, 100, 100);

$mpdf->UseTemplate($tplId, '', '', 100, 100);

$mpdf->Output();

but is there a way to import all pages rather than just the last page?

Keren Caelen
  • 1,466
  • 3
  • 17
  • 38
Jamie Hall
  • 276
  • 1
  • 3
  • 12

2 Answers2

35

In the example the index in "$pdf->ImportPage($i)" is missing.

$pdf->SetImportUse();
$pagecount = $pdf->SetSourceFile([LOCAL_FILEPATH]);
for ($i=1; $i<=($pagecount); $i++) {
    $pdf->AddPage();
    $import_page = $pdf->ImportPage($i);
    $pdf->UseTemplate($import_page);
}
Thomas
  • 601
  • 1
  • 6
  • 4
16

Use page count you get form setting source file in a loop (like below)

$pdf = new mPDF();
$pdf->SetImportUse();
$pagecount = $pdf->SetSourceFile($dashboard_pdf_file);
    for ($i=1; $i<=$pagecount; $i++) {
        $import_page = $pdf->ImportPage();
        $pdf->UseTemplate($import_page);

        if ($i < $pagecount)
            $pdf->AddPage();
    }
$pdf->Output();
mrLami
  • 326
  • 2
  • 5