GitPedia

Libmergepdf

PHP library for merging multiple PDFs

From hanneskod·Updated June 12, 2026·View on GitHub·

**libmergepdf** is a PHP library for merging multiple PDFs The project is written primarily in PHP, first published in 2012. Key topics include: pdf, pdf-merge.

libmergepdf

Packagist Version
Build Status
Quality Score

PHP library for merging multiple PDFs.

Installation

shell
composer require iio/libmergepdf

Usage

Append the first ten pages of bar.pdf to foo.pdf:

php
use iio\libmergepdf\Merger; use iio\libmergepdf\Pages; $merger = new Merger; $merger->addFile('foo.pdf'); $merger->addFile('bar.pdf', new Pages('1-10')); $createdPdf = $merger->merge();

Bulk add files from an iterator:

php
use iio\libmergepdf\Merger; $merger = new Merger; $merger->addIterator(['A.pdf', 'B.pdf']); $createdPdf = $merger->merge();

Merging pdfs of version 1.5 and later

The default FPDI driver is not able handle compressed pdfs of version 1.5 or later.
Circumvent this limitation by using the slightly more experimental TCPDI driver.

php
use iio\libmergepdf\Merger; use iio\libmergepdf\Driver\TcpdiDriver; $merger = new Merger(new TcpdiDriver);

Using an immutable merger

Immutability may be achieved by using a driver directly.

php
use iio\libmergepdf\Driver\Fpdi2Driver; use iio\libmergepdf\Source\FileSource; use iio\libmergepdf\Pages; $merger = new Fpdi2Driver; $createdPdf = $merger->merge( new FileSource('foo.pdf'), new FileSource('bar.pdf', new Pages('1-10')) );

Known issues

  • Links and other content outside a page content stream is removed at merge.
    This is due to limitations in FPDI and not possible to resolve with the
    current strategy. For more information see FPDI.
  • TCPDI (as used in the TcpdiDriver for merging pdfs with newer features)
    does not seem to be maintained. This makes mergeing fragile for certain kinds
    of files, and error messages are often all but helpful. This package will not
    be able to fix issues in TCPDI. The long term solution is to switch
    to a different backend. Suggestions are very welcomed!

Contributors

Showing top 9 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from hanneskod/libmergepdf via the GitHub API.Last fetched: 6/21/2026