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(5y ago)01.3kWTFPLPHPPHP ^7.1

Since Oct 2Pushed 5y 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 1mo 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 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

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

2163d 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://www.gravatar.com/avatar/db0dab80229357304adef3b80e5ce1113ecd113cc99c8b8d89ce388b0682c89f?d=identicon)[kadudutra](/maintainers/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

[iio/libmergepdf

Library for merging multiple PDFs

40813.6M13](/packages/iio-libmergepdf)[elibyy/tcpdf-laravel

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

3542.7M5](/packages/elibyy-tcpdf-laravel)[jurosh/pdf-merge

PHP PDF Merger

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

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

27566.8k1](/packages/karriere-pdf-merge)[aspose-cloud/aspose-words-cloud

Open, generate, edit, split, merge, compare and convert Word documents. Integrate Cloud API into your solutions to manipulate documents. Convert PDF to Word (DOC, DOCX, ODT, RTF and HTML) and in the opposite direction.

32157.4k](/packages/aspose-cloud-aspose-words-cloud)

PHPackages © 2026

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