Skip to content

Commit d289f81

Browse files
authored
[11.x] Support spatie/pdf-to-image v3 (#3633)
* Support spatie/pdf-to-image v3 * Check for v3 * Fix workflow * Revert workflow
1 parent 255e227 commit d289f81

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
"pestphp/pest": "^2.28",
5252
"phpstan/extension-installer": "^1.3.1",
5353
"spatie/laravel-ray": "^1.33",
54-
"spatie/pdf-to-image": "^2.2",
54+
"spatie/pdf-to-image": "^2.2|^3.0",
5555
"spatie/pest-plugin-snapshots": "^2.1"
5656
},
5757
"conflict": {

src/Conversions/ImageGenerators/Pdf.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
namespace Spatie\MediaLibrary\Conversions\ImageGenerators;
44

5+
use Composer\InstalledVersions;
6+
use Composer\Semver\VersionParser;
57
use Illuminate\Support\Collection;
68
use Imagick;
79
use Spatie\MediaLibrary\Conversions\Conversion;
@@ -14,11 +16,20 @@ public function convert(string $file, ?Conversion $conversion = null): string
1416

1517
$pageNumber = $conversion ? $conversion->getPdfPageNumber() : 1;
1618

17-
(new \Spatie\PdfToImage\Pdf($file))->setPage($pageNumber)->saveImage($imageFile);
19+
if ($this->usesPdfToImageV3()) {
20+
(new \Spatie\PdfToImage\Pdf($file))->selectPage($pageNumber)->save($imageFile);
21+
} else {
22+
(new \Spatie\PdfToImage\Pdf($file))->setPage($pageNumber)->saveImage($imageFile);
23+
}
1824

1925
return $imageFile;
2026
}
2127

28+
private function usesPdfToImageV3(): bool
29+
{
30+
return InstalledVersions::satisfies(new VersionParser, 'spatie/pdf-to-image', '^3.0');
31+
}
32+
2233
public function requirementsAreInstalled(): bool
2334
{
2435
if (! class_exists(Imagick::class)) {

0 commit comments

Comments
 (0)