PHP 7 FPDI Merge/Concatenate Multiple PDF Documents into One

PHP 7 FPDI Library Example to Merge & Concatenate Multiple PDF Documents into One in Browser.

index.php

<?php
use setasign\Fpdi\Fpdi;

require_once('fpdf/fpdf.php');
require_once('fpdi2/src/autoload.php');

class ConcatPdf extends Fpdi
{
    public $files = array();

    public function setFiles($files)
    {
        $this->files = $files;
    }

    public function concat()
    {
        foreach($this->files AS $file) {
            $pageCount = $this->setSourceFile($file);
            for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++) {
                $pageId = $this->ImportPage($pageNo);
                $s = $this->getTemplatesize($pageId);
                $this->AddPage($s['orientation'], $s);
                $this->useImportedPage($pageId);
            }
        }
    }
}

$pdf = new ConcatPdf();
$pdf->setFiles(array('Boombastic-Box.pdf', 'Fantastic-Speaker.pdf', 'Noisy-Tube.pdf'));
$pdf->concat();

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

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.