Skip to content

PHP library for merging multiple PDFs

Notifications You must be signed in to change notification settings

nino-s/libmergepdf

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libmergepdf

Packagist Version Build Status Quality Score Dependency Status

PHP library for merging multiple PDFs using propa/tcpdi.

Install using composer. Exists as iio/libmergepdf in the packagist repository.

Installation

{
    "require": {
        "iio/libmergepdf": "dev-master"
    }
}

Usage

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

use iio\libmergepdf\Merger;
use iio\libmergepdf\Pages;

$m = new Merger();
$m->addFromFile('foo.pdf');
$m->addFromFile('bar.pdf', new Pages('1-10'));
file_put_contents('foobar.pdf', $m->merge());

Bulk add files from an iterator:

use iio\libmergepdf\Merger;
$m = new Merger();
$m->addIterator(array('A.pdf', 'B.pdf'));
file_put_contents('AB.pdf', $m->merge());

Bulk add files using symfony finder:

use iio\libmergepdf\Merger;
use Symfony\Component\Finder\Finder;

$finder = new Finder();
$finder->files()->in(__DIR__)->name('*.pdf')->sortByName();

$m = new Merger();
$m->addFinder($finder);

file_put_contents('finder.pdf', $m->merge());

Run tests

Execute unit tests by typing phpunit. The unis tests requires FPDI to be installed using composer.

$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar install
$ phpunit

Changelog

  • 2.4.1 Changed dependency from FPDI to TCPDI - added support for PDF files up to v1.7.
  • 2.4.0 Added setTempDir() to Merger.
  • 2.3.1 Added addFinder() to Merger.
  • 2.3.0 Injecting FPDI is now optional. Added addIterator() to Merger.
  • 2.2.0 Pages now support addPage() and addRange().
  • 2.1.1 Now allows merging of Landscape and Portrait pages (thanks to @willoller).
  • 2.0 As of version 2.0 FPDI must be injected when creating a new libmergepdf instance.

About

PHP library for merging multiple PDFs

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%