webklex/laravel-pdfmerger

Generic PDF merger for Laravel

1.3.2 2024-07-02 10:20 UTC

This package is auto-updated.

Last update: 2024-12-02 11:11:06 UTC


README

Latest Version on Packagist Software License Build Status Total Downloads

Install

Via Composer

$ composer require webklex/laravel-pdfmerger

Setup

Add the service provider to the providers array in config/app.php.

'providers' => [
    ...
    Webklex\PDFMerger\Providers\PDFMergerServiceProvider::class
],

'aliases' => [
    ...
    'PDFMerger' => Webklex\PDFMerger\Facades\PDFMergerFacade::class
]

Usage

A basic usage example:

use Webklex\PDFMerger\Facades\PDFMergerFacade as PDFMerger;

$oMerger = PDFMerger::init();

$oMerger->addPDF('/path/to/project/vendors/webklex/laravel-pdfmerger/src/PDFMerger/examples/pdf_one.pdf', [2]);
$oMerger->addPDF('/path/to/project/vendors/webklex/laravel-pdfmerger/src/PDFMerger/examples/pdf_two.pdf', 'all');

$oMerger->merge();
$oMerger->save('merged_result.pdf');

...add raw content data:

$oMerger->addString(file_get_contents('/path/to/project/vendors/webklex/laravel-pdfmerger/src/PDFMerger/examples/pdf_two.pdf'), [1]);

...select the pages you want to merge:

$oMerger->addPDF($file, 'all');  //Add all pages
$oMerger->addPDF($file, [1]);    //Add page one only
$oMerger->addPDF($file, [2]);    //Add page two only
$oMerger->addPDF($file, [1, 3]); //Add page one and three only

...merge files together but add blank pages to support duplex printing:

$oMerger->duplexMerge();

...stream the merged content:

$oMerger->stream();

...download the merged content:

$oMerger->download();

..get the raw content data:

echo $oMerger->output();

...set the filename if you don't want to do it later:

$oMerger->setFileName('example.pdf');

Change log

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Security

If you discover any security related issues, please email github@webklex.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.