murkrow / pdf-utils
A poppler-utils wrapper for Laravel applications
1.0.1
2026-10-02 20:34 UTC
Requires
- php: ^8.2
- illuminate/contracts: ^12.0 || ^13.0
- illuminate/support: ^12.0 || ^13.0
- laravel/framework: ^12.0 || ^13.0
- spatie/temporary-directory: ^2.2
Requires (Dev)
- orchestra/testbench: ^10.0 || ^11.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
A wrapper for poppler-utils for your Laravel project
Compatibility
| Package version | Laravel version | PHP version |
|---|---|---|
| 1.x | 12.x – 13.x | ^8.2 |
Prerequisites
Ensure to have poppler-utils installed on your system. You can install it with the following command:
sudo apt-get install poppler-utils
or if you are using a Mac:
brew install poppler
Installation
You can install the package via composer:
composer require murkrow/pdf-utils
You can publish the config file with:
php artisan vendor:publish --provider="Murkrow\PdfUtils\PdfUtilsServiceProvider"
Usage
Convert PDF to text
use Murkrow\PdfUtils\Services\ParsePdfTextService; ParsePdfTextService::create() ->setInputFile("example.pdf") ->flattenText(false) ->execute() ->getOperationResult()
Merge multiple PDFs into one
use Murkrow\PdfUtils\Services\MergePdfService; MergePdfService::create() ->setInputFiles(["1.pdf", "2.pdf"]) ->addInputFile("3.pdf") ->setOutputFile("123.pdf") ->execute();
Split PDF into multiple PDFs
use Murkrow\PdfUtils\Services\SplitPdfService; SplitPdfService::create() ->setInputFile("123.pdf") ->setOutputFilesDirectory("splitting") ->fromPage(1) ->toPage(3) ->setOutputFileNamePrefix("output") ->execute();
Extract page range from PDF
use Murkrow\PdfUtils\Services\ExtractPdfPageRangeService; ExtractPdfPageRangeService::create() ->fromPage(1) ->toPage(2) ->setInputFile('big.pdf') ->setOutputFile('subset.pdf') ->execute();
Get PDF info (incomplete)
use Murkrow\PdfUtils\Services\GetPdfInfoService; $result = GetPdfInfoService::create() ->setInputFile("123.pdf") ->execute(); dd($result->pages);
Testing
vendor/bin/pest
Contributing
Contributions are welcome, you are free to open a PR or an issue.
Changelog
Please see CHANGELOG for more information on what has changed recently.
License
The MIT License (MIT). Please see License File for more information.