Original written by http://pdfmerger.codeplex.com/team/view
Not perfect but made some changes.
composer require sinanbekar/pdf-merger
$pdf = new \SB\PDFMerger\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');
// REPLACE 'file' WITH 'browser', 'download', 'string', or 'file' for output options
// Last parameter is for orientation (P for protrait, L for Landscape).
// This will be used for every PDF that doesn't have an orientation specified
./vendor/bin/phpunit --configuration phpunit.xml
./vendor/bin/psalm