How can a loop be implemented to import and append multiple pages from a PDF using FPDI & FDPF in PHP?

To import and append multiple pages from a PDF using FPDI & FPDF in PHP, you can create a loop that iterates through each page of the source PDF and appends it to the destination PDF. This can be achieved by using the FPDI library to import pages from the source PDF and FPDF to append them to the destination PDF.

// Include the required libraries
require_once('fpdf/fpdf.php');
require_once('fpdi/fpdi.php');

// Create a new instance of FPDF
$pdf = new FPDF();

// Create a new instance of FPDI
$pdfi = new FPDI();

// Define the source PDF file
$sourcePdf = 'source.pdf';

// Open the source PDF
$pageCount = $pdfi->setSourceFile($sourcePdf);

// Loop through each page of the source PDF
for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++) {
    // Import the page
    $templateId = $pdfi->importPage($pageNo);
    
    // Get the size of the imported page
    $size = $pdfi->getTemplateSize($templateId);
    
    // Add a new page to the destination PDF
    $pdf->AddPage($size['orientation'], array($size['width'], $size['height']));
    
    // Use the imported page as a template
    $pdf->useTemplate($templateId);
}

// Output the destination PDF
$pdf->Output('destination.pdf', 'F');