PHPackages                             kadudutra/libmergepdf - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [PDF &amp; Document Generation](/categories/documents)
4. /
5. kadudutra/libmergepdf

ActiveLibrary[PDF &amp; Document Generation](/categories/documents)

kadudutra/libmergepdf
=====================

Library for merging multiple PDFs

4.0.5(6y ago)01.3kWTFPLPHPPHP ^7.1

Since Oct 2Pushed 6y agoCompare

[ Source](https://github.com/kadudutra/libmergepdf)[ Packagist](https://packagist.org/packages/kadudutra/libmergepdf)[ Docs](https://github.com/hanneskod/libmergepdf)[ RSS](/packages/kadudutra-libmergepdf/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (2)Dependencies (4)Versions (19)Used By (0)

libmergepdf
===========

[](#libmergepdf)

[![Packagist Version](https://camo.githubusercontent.com/f4986e6dec79c96ba19c70c1981463f7a94ccf77f2ed1585e151621170daeb74/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6b61647564757472612f6c69626d657267657064662e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/kadudutra/libmergepdf)[![Build Status](https://camo.githubusercontent.com/d488474d61c5d98a6859702d5f4739a7eee64e53e1ff41421061185d67f330a9/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f68616e6e65736b6f642f6c69626d657267657064662f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/hanneskod/libmergepdf)[![Quality Score](https://camo.githubusercontent.com/86d21b0371d5af4d7f3731847d7f366df646421a629c743aa98bddde951a7110/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f68616e6e65736b6f642f6c69626d657267657064662e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/hanneskod/libmergepdf)

PHP library for merging multiple PDFs.

Installation
------------

[](#installation)

```
composer require kadudutra/libmergepdf
```

Usage
-----

[](#usage)

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

```
use kadudutra\libmergepdf\Merger;
use kadudutra\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:

```
use kadudutra\libmergepdf\Merger;

$merger = new Merger;
$merger->addIterator(['A.pdf', 'B.pdf']);
$createdPdf = $merger->merge();
```

### Merging pdfs of version 1.5 and later

[](#merging-pdfs-of-version-15-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.

```
use kadudutra\libmergepdf\Merger;
use kadudutra\libmergepdf\Driver\TcpdiDriver;

$merger = new Merger(new TcpdiDriver);
```

### Using an immutable merger

[](#using-an-immutable-merger)

Immutability may be achieved by using a `driver` directly.

```
use kadudutra\libmergepdf\Driver\Fpdi2Driver;
use kadudutra\libmergepdf\Source\FileSource;
use kadudutra\libmergepdf\Pages;

$merger = new Fpdi2Driver;

$createdPdf = $merger->merge(
    new FileSource('foo.pdf'),
    new FileSource('bar.pdf', new Pages('1-10'))
);
```

Known issues
------------

[](#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](https://www.setasign.com/support/faq/fpdi/after-importing-a-page-all-links-are-gone/#question-84).

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 88.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~175 days

Recently: every ~111 days

Total

17

Last Release

2209d ago

Major Versions

2.4.0 → 3.0.02016-03-02

3.1.1 → 4.0.02018-11-16

PHP version history (3 changes)2.0.0PHP &gt;=5.3.0

3.1.0PHP &gt;=5.6

4.0.0PHP ^7.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/39005063?v=4)[Kadu Dutra](/maintainers/kadudutra)[@kadudutra](https://github.com/kadudutra)

---

Top Contributors

[![hanneskod](https://avatars.githubusercontent.com/u/1369274?v=4)](https://github.com/hanneskod "hanneskod (69 commits)")[![kadudutra](https://avatars.githubusercontent.com/u/39005063?v=4)](https://github.com/kadudutra "kadudutra (2 commits)")[![carlosrochagazin](https://avatars.githubusercontent.com/u/227198723?v=4)](https://github.com/carlosrochagazin "carlosrochagazin (2 commits)")[![md2perpe](https://avatars.githubusercontent.com/u/543239?v=4)](https://github.com/md2perpe "md2perpe (2 commits)")[![proxyconcept](https://avatars.githubusercontent.com/u/620151?v=4)](https://github.com/proxyconcept "proxyconcept (1 commits)")[![svenluijten](https://avatars.githubusercontent.com/u/11269635?v=4)](https://github.com/svenluijten "svenluijten (1 commits)")[![willoller](https://avatars.githubusercontent.com/u/127107?v=4)](https://github.com/willoller "willoller (1 commits)")

---

Tags

pdfmerge

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/kadudutra-libmergepdf/health.svg)

```
[![Health](https://phpackages.com/badges/kadudutra-libmergepdf/health.svg)](https://phpackages.com/packages/kadudutra-libmergepdf)
```

###  Alternatives

[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.7k38.9k](/packages/matomo-matomo)[iio/libmergepdf

Library for merging multiple PDFs

40814.5M20](/packages/iio-libmergepdf)[elibyy/tcpdf-laravel

tcpdf support for Laravel 6, 7, 8, 9, 10, 11

3632.9M8](/packages/elibyy-tcpdf-laravel)[jurosh/pdf-merge

PHP PDF Merger

1552.4M5](/packages/jurosh-pdf-merge)[karriere/pdf-merge

A wrapper for the TCPDF class that provides an elegant API for merging PDFs

27692.2k1](/packages/karriere-pdf-merge)[bithost-gmbh/pdfviewhelpers

This is a TYPO3 CMS extension that provides various Fluid ViewHelpers to generate PDF documents.

45262.7k3](/packages/bithost-gmbh-pdfviewhelpers)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
