I'm using fpdf for the script to create the PDF from my sql data. I want to add a glossary to the end of that content. I looked at fpdi, but you can only add 1 page from the PDF. How can I add all the pages?
-
2[What have you tried](http://mattgemmell.com/2008/12/08/what-have-you-tried/)? – ghoti Jun 05 '12 at 04:48
3 Answers
From the FPDI documentation... Note the first parameter.
FPDI::importPage()
Description
class FPDI extends FPDF_TPL {
mixed importPage ( integer $pageno[, string $boxName='/CropBox'] )
}
Transforms a source page to a FPDF_TPL template and returns the id of created "template" (or page in this case).
Parameters
$pageno
- The page number to import.
$boxName
The box which should be used to display the imported page.
Possible values are:
- /MediaBox
- /BleedBox
- /TrimBox
- /CropBox
- /ArtBox
If a box is not found, FPDI will look up for it's parent box and use this instead. You can check which box were imported with FPDI::getLastUsedPageBox().
Return Values
If the page was imported correctly the method will return the id of the template (page) to use with useTemplate(). If you define a wrong box in the 2nd parameter the method will return false
How about using a loop to import each page separate.
Should not be to difficult to get the number of pages then loop through the pages.

- 1,944
- 14
- 22
$pagecount = $pdf->setSourceFile('yourpdf.pdf');
// import pages
for ($loop = 1; $loop <= $pagecount; $loop++) {
$tplIdx = $pdf->importPage($loop);
$pdf->addPage();
$pdf->useTemplate($tplIdx);
}

- 3,085
- 3
- 35
- 32