PDF Optimizer
  • 🏁Getting Started
    • Introduction
    • Installation
    • Support Us
    • License
  • 🚀Basic Usage
    • Standalone PHP
    • Laravel
  • ⚙️Advanced Usage
    • Ghostscript Binary Configuration
    • Timeout
    • Logger
    • Custom Ghostscript Options
    • Export Script
    • Configuring Ghostscript
      • ASCII85EncodePages
      • AutoFilterColorImages
      • AutoFilterGrayImages
      • AutoRotatePages
      • ColorConversionStrategy
      • ColorImageDepth
      • ColorImageFilter
      • ColorImageDownsampleThreshold
      • ColorImageDownsampleType
      • ColorImageResolution
      • CompatibilityLevel
      • CompressFonts
      • CompressPages
      • ConvertCMYKImagesToRGB
      • DefaultRenderingIntent
      • DetectDuplicateImages
      • DownsampleColorImages
      • DownsampleGrayImages
      • DownsampleMonoImages
      • EmbedAllFonts
      • EncodeColorImages
      • EncodeGrayImages
      • EncodeMonoImages
      • FastWebView
      • GrayImageDepth
      • GrayImageDownsampleThreshold
      • GrayImageDownsampleType
      • GrayImageFilter
      • GrayImageResolution
      • LockDistillerParams
      • MaxInlineImageSize
      • MaxSubsetPct
      • MonoImageDepth
      • MonoImageDownsampleThreshold
      • MonoImageDownsampleType
      • MonoImageFilter
      • MonoImageResolution
      • PassThroughJPEGImages
      • PassThroughJPXImages
      • ParseDSCComments
      • ParseDSCCommentsForDocInfo
      • PDFA
      • PDFACompatibilityPolicy
      • PDFX
      • PreserveEPSInfo
      • PreserveHalftoneInfo
      • PreserveMarkedContent
      • PreserveOPIComments
      • PreserveOverprintSettings
      • ProcessColorModel
      • PDFSETTINGS
      • SubsetFonts
      • UCRandBGInfo
      • UseFlateCompression
  • 🎮Laravel Deep Dive
    • Filesystem
    • Queue
Powered by GitBook
On this page

Was this helpful?

  1. Laravel Deep Dive

Filesystem

pdf-optimizer seamlessly integrates with Laravel, offering versatile file optimization capabilities. This feature extends beyond local paths, allowing you to optimize files from various sources, including remote disks and UploadedFile instances.

Explore the flexibility of optimizing files and storing them across different disks within the Laravel ecosystem.

Here is some detailed examples:

UploadedFile -> Disk
use Mostafaznv\PdfOptimizer\Laravel\Facade\PdfOptimizer;
use Mostafaznv\PdfOptimizer\Enums\PdfSettings;
use Illuminate\Http\UploadedFile;


$file = new UploadedFile(
    public_path('files/input.pdf'), 'input.pdf'
);

$result = PdfOptimizer::open($file)
    ->toDisk('minio')
    ->settings(PdfSettings::SCREEN)
    ->colorImageResolution(50)
    ->optimize('output.pdf');
    
dd($result);
UploadedFile -> File Path
use Mostafaznv\PdfOptimizer\Laravel\Facade\PdfOptimizer;
use Mostafaznv\PdfOptimizer\Enums\PdfSettings;
use Illuminate\Http\UploadedFile;

$outputFilePath = public_path('files/output.pdf');
$file = new UploadedFile(
    public_path('files/input.pdf'), 'input.pdf'
);

$result = PdfOptimizer::open($file)
    ->settings(PdfSettings::SCREEN)
    ->colorImageResolution(50)
    ->optimize($outputFilePath);
    
dd($result);
File Path -> File Path
use Mostafaznv\PdfOptimizer\Laravel\Facade\PdfOptimizer;
use Mostafaznv\PdfOptimizer\Enums\PdfSettings;

$inputFilePath = public_path('files/input.pdf');
$outputFilePath = public_path('files/output.pdf');

$result = PdfOptimizer::open($inputFilePath)
    ->settings(PdfSettings::SCREEN)
    ->colorImageResolution(50)
    ->optimize($outputFilePath);
    
dd($result);
File Path -> Disk
use Mostafaznv\PdfOptimizer\Laravel\Facade\PdfOptimizer;
use Mostafaznv\PdfOptimizer\Enums\PdfSettings;

$filePath = public_path('files/input.pdf');

$result = PdfOptimizer::open($filePath)
    ->toDisk('minio')
    ->settings(PdfSettings::SCREEN)
    ->colorImageResolution(50)
    ->optimize('output.pdf');
    
dd($result);
Disk -> File Path
use Mostafaznv\PdfOptimizer\Laravel\Facade\PdfOptimizer;
use Mostafaznv\PdfOptimizer\Enums\PdfSettings;

$outputFilePath = public_path('files/output.pdf')

$result = PdfOptimizer::fromDisk('minio')
    ->open('input.pdf')
    ->settings(PdfSettings::SCREEN)
    ->colorImageResolution(50)
    ->optimize($outputFilePath);
    
dd($result);
Remote Disk -> Remote Disk
use Mostafaznv\PdfOptimizer\Laravel\Facade\PdfOptimizer;
use Mostafaznv\PdfOptimizer\Enums\PdfSettings;

$result = PdfOptimizer::fromDisk('minio')
    ->open('input.pdf')
    ->toDisk('minio')
    ->settings(PdfSettings::SCREEN)
    ->colorImageResolution(50)
    ->optimize('output.pdf');
    
dd($result);
Remote Disk -> Local Disk
use Mostafaznv\PdfOptimizer\Laravel\Facade\PdfOptimizer;
use Mostafaznv\PdfOptimizer\Enums\PdfSettings;

$result = PdfOptimizer::fromDisk('minio')
    ->open('input.pdf')
    ->toDisk('local')
    ->settings(PdfSettings::SCREEN)
    ->colorImageResolution(50)
    ->optimize('output.pdf');
    

dd($result);
Local Disk -> Remote Disk
use Mostafaznv\PdfOptimizer\Laravel\Facade\PdfOptimizer;
use Mostafaznv\PdfOptimizer\Enums\PdfSettings;

$result = PdfOptimizer::fromDisk('local')
    ->open('input.pdf')
    ->toDisk('minio')
    ->settings(PdfSettings::SCREEN)
    ->colorImageResolution(50)
    ->optimize('output.pdf');
    
dd($result);
Local Disk -> Local Disk
use Mostafaznv\PdfOptimizer\Laravel\Facade\PdfOptimizer;
use Mostafaznv\PdfOptimizer\Enums\PdfSettings;

$result = PdfOptimizer::fromDisk('local')
    ->open('input.pdf')
    ->toDisk('local')
    ->settings(PdfSettings::SCREEN)
    ->colorImageResolution(50)
    ->optimize('output.pdf');
    
dd($result);

PreviousUseFlateCompressionNextQueue

Last updated 1 year ago

Was this helpful?

🎮