PHPackages                             xitro/fpdf\_merge - 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. xitro/fpdf\_merge

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

xitro/fpdf\_merge
=================

Tool to merge PDFs created by fpdf 1.6

136.2k—4.9%13[2 issues](https://github.com/Xitro/FPDF_Merge/issues)PHP

Since Oct 11Pushed 8y ago2 watchersCompare

[ Source](https://github.com/Xitro/FPDF_Merge)[ Packagist](https://packagist.org/packages/xitro/fpdf_merge)[ RSS](/packages/xitro-fpdf-merge/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

FPDF\_Merge
===========

[](#fpdf_merge)

Tool to merge PDFs created by fpdf 1.6 Project for composer used based on FPDF\_Merge by DEMONTE Jean-Baptiste

version 1.0

date 2011-02-18

Why this tool ?
---------------

[](#why-this-tool-)

All the library tested (fpdi, ...) produce too heavy pdf because, these are not optimized. This library parses the pages, get the objects included (font, images) generate a hash to store only once these objects or reuse previous stored ones.

Notes
-----

[](#notes)

- links are not supported in this version
- all pages are included (because this was what we needed) but update it to create an add(array pages) should be easy

I tried to optimize a lot this tool using X-Debug, let me know if you do best :) If you get trouble or want to comment, feel free to send me an email.

Use
---

[](#use)

```
$merge = new FPDF_Merge();
$merge->add('/tmp/pdf-1.pdf');
$merge->add('/tmp/pdf-2.pdf');
$merge->output('/tmp/pdf-merge.pdf'); // or $merge->output(); to open it directly in the browser

```

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity34

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/6e52cb2c6fc5f0944149a379ca96c346d6a8f6c5deac03365a88a0f909506433?d=identicon)[Xitro](/maintainers/Xitro)

---

Top Contributors

[![Xitro](https://avatars.githubusercontent.com/u/3830615?v=4)](https://github.com/Xitro "Xitro (3 commits)")

### Embed Badge

![Health badge](/badges/xitro-fpdf-merge/health.svg)

```
[![Health](https://phpackages.com/badges/xitro-fpdf-merge/health.svg)](https://phpackages.com/packages/xitro-fpdf-merge)
```

###  Alternatives

[spatie/browsershot

Convert a webpage to an image or pdf using headless Chrome

5.2k32.1M102](/packages/spatie-browsershot)[barryvdh/laravel-snappy

Snappy PDF/Image for Laravel

2.8k24.8M48](/packages/barryvdh-laravel-snappy)[openspout/openspout

PHP Library to read and write spreadsheet files (CSV, XLSX and ODS), in a fast and scalable way

1.2k57.6M131](/packages/openspout-openspout)[keboola/csv

Keboola CSV reader and writer

1451.8M21](/packages/keboola-csv)[setasign/tfpdf

This class is a modified version of FPDF that adds UTF-8 support. The latest version is based on FPDF 1.85.

426.1M30](/packages/setasign-tfpdf)[aspera/xlsx-reader

Spreadsheet reader library for XLSX files

52742.2k5](/packages/aspera-xlsx-reader)

PHPackages © 2026

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