murkrow/pdf-utils

A poppler-utils wrapper for Laravel applications

0.4 2023-10-18 08:42 UTC

This package is auto-updated.

Last update: 2024-04-18 09:47:33 UTC


README

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.