murkrow/pdf-utils

A poppler-utils wrapper for Laravel applications
17,129 1
Install
composer require murkrow/pdf-utils
Latest Version:1.0
PHP:^8.2
License:MIT
Last Updated:Dec 17, 2025
Links: GitHub  ·  Packagist
Maintainer: murkrow

pdf-utils

Latest Stable Version Total Downloads

A wrapper for popper-utils for your Laravel project

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.

Related Packages

barryvdh/laravel-snappy

Snappy PDF/Image for Laravel

28,101,196 2,756
elibyy/tcpdf-laravel

tcpdf support for Laravel 6, 7, 8, 9, 10, 11

3,080,940 355
lucasromanojf/laravel5-pdf

Provides the HTML2PDF functionality using the wkhtmltopdf library (Laravel 5)

72,577 7
barryvdh/laravel-dompdf

A DOMPDF Wrapper for Laravel

113,736,607 7,285
codedge/laravel-fpdf

Laravel package to include Fpdf. It ships with Fpdf 1.86.

1,976,852 293