<?php namespace Spatie\MediaLibrary\Conversions\ImageGenerators; use Illuminate\Support\Collection; use Spatie\MediaLibrary\Conversions\Conversion; class Pdf extends ImageGenerator { public function convert(string $file, Conversion $conversion = null): string { $imageFile = pathinfo($file, PATHINFO_DIRNAME).'/'.pathinfo($file, PATHINFO_FILENAME).'.jpg'; $pageNumber = $conversion ? $conversion->getPdfPageNumber() : 1; (new \Spatie\PdfToImage\Pdf($file))->setPage($pageNumber)->saveImage($imageFile); return $imageFile; } public function requirementsAreInstalled(): bool { if (! class_exists(\Imagick::class)) { return false; } if (! class_exists(\Spatie\PdfToImage\Pdf::class)) { return false; } return true; } public function supportedExtensions(): Collection { return collect(['pdf']); } public function supportedMimeTypes(): Collection { return collect(['application/pdf']); } }