ptsilva / document-counter by ptsilva

A simple document page counter. Works with laravel and out of the box
25
2
1
Package Data
Maintainer Username: ptsilva
Maintainer Contact: 05.paulotarso@gmail.com (Paulo Silva)
Package Create Date: 2016-10-30
Package Last Update: 2016-11-04
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-05-04 15:11:19
Package Statistics
Total Downloads: 25
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 2
Total Watchers: 1
Total Forks: 0
Total Open Issues: 0

PDF Counter Pages

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
    }

}