Original written by http://pdfmerger.codeplex.com/team/view
Forked from https://github.com/clegginabox/pdf-merger
composer require jmleroux/pdf-merger
<?php
use Jmleroux\PDFMerger\PDFMerger;
$pdf = new PDFMerger();
$pdf->addPDF('samplepdfs/one.pdf', '1, 3, 4');
$pdf->addPDF('samplepdfs/two.pdf', '1-2');
$pdf->addPDF('samplepdfs/three.pdf', 'all');
//You can optionally specify a different orientation for each PDF
$pdf->addPDF('samplepdfs/one.pdf', '1, 3, 4', 'L');
$pdf->addPDF('samplepdfs/two.pdf', '1-2', 'P');
$pdf->merge('file', 'samplepdfs/TEST2.pdf', 'P');
You can use either FPDF, TCPDF or tFPDF as the internal PDF library by providing the right parameter to the constructor:
<?php
use Jmleroux\PDFMerger\PDFMerger;
$pdf = new PDFMerger(); // use FPDF
$pdf = new PDFMerger('fpdf'); // use FPDF
$pdf = new PDFMerger('tcpdf'); // use TCPDF
$pdf = new PDFMerger('tfpdf'); // use tFPDF
This merger uses verbose parameter names for the various pdf output modes common to the three libraries:
browser
(default): send the pdf binary to the browser. The borwser PDF plug-in is used if available.download
: send the pdf to the browser and force a file download with the name given.string
: outputs the raw binary string.file
: save to a local server file with the name given.
This repo is shipped with a docker-compose file so that you don't need a local version of PHP.
Use make commands to install and run tests:
To install dependencies:
make vendor
To run tests:
make tests
Yes, why the fork?
I first made a PR to fix the "slice feature", but I figured out I wanted a library with tests and tags. Plus, I wanted to add docker-compose because I do not have any local PHP installed anymore, so I decided to fork it and start with PHP 7.