From fc31622692a2c10bec6d3d3f5e24b87ed99c5b7e Mon Sep 17 00:00:00 2001 From: Michael Frank Date: Wed, 17 Jan 2024 16:40:53 +0100 Subject: [PATCH] Gotenberg V8 Compatibility --- composer.json | 2 +- src/Processor/Gotenberg.php | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/composer.json b/composer.json index 2b00a1d..2048411 100644 --- a/composer.json +++ b/composer.json @@ -20,7 +20,7 @@ "require-dev": { "phpstan/phpstan": "^1.10.5", "phpstan/phpstan-symfony": "^1.2.20", - "gotenberg/gotenberg-php": "^1.0.0", + "gotenberg/gotenberg-php": "^1.0|^2.0", "chrome-php/chrome": "^1.8", "codeception/codeception": "^5.0.3", "codeception/module-symfony": "^3.1.0", diff --git a/src/Processor/Gotenberg.php b/src/Processor/Gotenberg.php index e73caea..38aa264 100644 --- a/src/Processor/Gotenberg.php +++ b/src/Processor/Gotenberg.php @@ -106,6 +106,9 @@ public function getPdfFromString(string $html, array $params = [], bool $returnF $tempFileName = uniqid('web2print_'); $chromium = GotenbergAPI::chromium(\Pimcore\Config::getSystemConfiguration('gotenberg')['base_url']); + if (method_exists($chromium, 'pdf')) { + $chromium = $chromium->pdf(); + } $options = [ 'printBackground', 'landscape', 'preferCssPageSize', 'omitBackground', 'emulatePrintMediaType', @@ -134,7 +137,7 @@ public function getPdfFromString(string $html, array $params = [], bool $returnF } foreach (['header', 'footer'] as $item) { - if (isset($params[$item . 'Template'])) { + if (isset($params[$item . 'Template']) && method_exists($chromium, $item)) { $chromium->$item(Stream::path($params[$item . 'Template'])); } } @@ -143,7 +146,7 @@ public function getPdfFromString(string $html, array $params = [], bool $returnF $chromium->paperSize($params['paperWidth'] ?? 8.5, $params['paperHeight'] ?? 11); } - if (isset($params['userAgent'])) { + if (isset($params['userAgent']) && method_exists($chromium, 'userAgent')) { $chromium->userAgent($params['userAgent']); } @@ -151,7 +154,7 @@ public function getPdfFromString(string $html, array $params = [], bool $returnF $chromium->extraHttpHeaders($params['extraHttpHeaders']); } - if (isset($params['pdfFormat'])) { + if (isset($params['pdfFormat']) && method_exists($chromium, 'pdfFormat')) { $chromium->pdfFormat($params['pdfFormat']); }