ptsilva/document-counter

A simple document page counter. Works with laravel and out of the box

v0.2.33-RC1 2016-10-30 06:08 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:20:19 UTC


README

This can be used to count the total pages in PDF document

Instalation

 composer require ptsilva/pdf-counter-pages

Need install GhostScript also

Out of the box

$path = '/var/www/html/project/document.php';

$pdf = new \Ptsilva\DocumentCounter\Documents\PDFDocument($path);

$driver = new \Ptsilva\DocumentCounter\PDFGhostScriptCounter('/usr/bin/gs');

$totalPages = $driver->process($pdf);

var_dump($totalPages); // integer

Using Laravel 5

After updating composer, add the ServiceProvider to the providers array in config/app.php

Ptsilva\DocumentCounter\Providers\DocumentCounterServiceProvider::class,

Copy the package config to your local config with the publish command:

php artisan vendor:publish --provider="Ptsilva\DocumentCounter\Providers\DocumentCounterServiceProvider"

Just use

$path = '/var/www/html/project/document.php';

$totalPages = app('document-counter')->getTotalPages(new \Ptsilva\DocumentCounter\Documents\PDFDocument($path));

dd($totalPages); // integer

Or using Dependency Injection

use Ptsilva\DocumentCounter\Factory\DocumentCounterFactory;
use Ptsilva\DocumentCounter\Documents\PDFDocument;
class Controller
{
    public function index(DocumentCounterFactory $counter)
    {
        $path = '/var/www/html/project/document.php';

        $totalPages = $counter->getTotalPages(new PDFDocument($path));

        dd($totalPages); // integer
    }

}