Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Pdf Optimizer Laravel Package

mostafaznv/pdf-optimizer

Optimize and compress PDFs in PHP or Laravel using Ghostscript. Fluent, chainable API with rich options, logging, and customization. Laravel-friendly inputs (paths, uploads, disks) plus queue support for async optimization.

View on GitHub
Deep Wiki
Context7

Export Script

Retrieve the Ghostscript script generated by pdf-optimizer for external analysis or use. Choose between exportScriptAsString and exportScriptAsArray methods to obtain the script as a string or an array, respectively.

Retrieve the Ghostscript script or command generated by pdf-optimizer for further analysis or external use. The methods exportScriptAsString and exportScriptAsArray provide options to obtain the Ghostscript script as a string or an array, respectively.

To Array

{% tabs %} {% tab title="Standalone PHP" %}

use Mostafaznv\PdfOptimizer\PdfOptimizer;
use Mostafaznv\PdfOptimizer\Enums\ColorConversionStrategy;

# input file (optinal, could be null)
$input = 'path/to/large.pdf';

# output file (optinal, could be null)
$output = 'path/to/optimized.pdf';

# export script as array
$command = PdfOptimizer::init()
    ->compressFonts()
    ->colorImageResolution(60)
    ->colorConversionStrategy(ColorConversionStrategy::GRAY)
    ->command($input, $output);


var_dump($command);

{% endtab %}

{% tab title="Laravel" %}

use Mostafaznv\PdfOptimizer\Laravel\Facade\PdfOptimizer;
use Mostafaznv\PdfOptimizer\Enums\ColorConversionStrategy;
use Mostafaznv\PdfOptimizer\Enums\PdfSettings;

# input file (optinal, could be null)
$input = 'input.pdf';

# output file (optinal, could be null)
$output = 'optimized.pdf';

# export script as array
$command = PdfOptimizer::open($input)
    ->settings(PdfSettings::SCREEN)
    ->colorConversionStrategy(ColorConversionStrategy::GRAY)
    ->colorImageResolution(50)
    ->command($input, $output);


dd($command);

{% endtab %} {% endtabs %}

To String

{% tabs %} {% tab title="Standalone PHP" %}

use Mostafaznv\PdfOptimizer\PdfOptimizer;
use Mostafaznv\PdfOptimizer\Enums\ColorConversionStrategy;

# input file (optinal, could be null)
$input = 'path/to/large.pdf';

# output file (optinal, could be null)
$output = 'path/to/optimized.pdf';

# export script as array
$command = PdfOptimizer::init()
    ->compressFonts()
    ->colorImageResolution(60)
    ->colorConversionStrategy(ColorConversionStrategy::GRAY)
    ->toString($input, $output);


echo $command;

{% endtab %}

{% tab title="Laravel" %}

use Mostafaznv\PdfOptimizer\Laravel\Facade\PdfOptimizer;
use Mostafaznv\PdfOptimizer\Enums\ColorConversionStrategy;
use Mostafaznv\PdfOptimizer\Enums\PdfSettings;

# input file (optinal, could be null)
$input = 'input.pdf';

# output file (optinal, could be null)
$output = 'optimized.pdf';

# export script as array
$command = PdfOptimizer::open($input)
    ->settings(PdfSettings::SCREEN)
    ->colorConversionStrategy(ColorConversionStrategy::GRAY)
    ->colorImageResolution(50)
    ->toString($input, $output);


dd($command);

{% endtab %} {% endtabs %}

{% hint style="info" %} Both the command and toString methods have optional parameters that allow for specifying the input and output file paths, providing a more personalized export. {% endhint %}

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
iio/libmergepdf
redaxo/project
zatona-eg/zatona-eg-api
patrickbussmann/oauth2-apple
3brs/enterprise-security-bundle
ardenexal/fhir-models
ardenexal/fhir-validation
dpfx/laravel-livewire-wizards
dmstr/symfony-system-resources-bundle
dmstr/symfony-job-queue-bundle
dmstr/openapi-json-schema-bundle
dmstr/keycloak-security-bundle
dmstr/doctrine-audit-log-bundle
dmstr/api-platform-utils-bundle
dmstr/api-configuration-bundle
chrisdev/ux-components
crudly/encrypted
cuci/prototurk-sdk
gos/pubsub-router-bundle
cuci/prototurk-sdk-symfony