Skip to content

Commit

Permalink
Gotenberg V8 Compatibility (#57)
Browse files Browse the repository at this point in the history
  • Loading branch information
ITspirit authored Feb 12, 2024
1 parent 9320160 commit b72ac53
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 8 deletions.
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
19 changes: 12 additions & 7 deletions src/Processor/Gotenberg.php
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,18 @@ public function getPdfFromString(string $html, array $params = [], bool $returnF
$tempFileName = uniqid('web2print_');

$chromium = GotenbergAPI::chromium(\Pimcore\Config::getSystemConfiguration('gotenberg')['base_url']);
// To support gotenberg-php v2 and so on
if (method_exists($chromium, 'pdf')) {
$chromium = $chromium->pdf();
} else {
// gotenberg-php v1 BC Layer for unsupported methods in v2
if (isset($params['userAgent']) && method_exists($chromium, 'userAgent')) {
$chromium->userAgent($params['userAgent']);
}
if (isset($params['pdfFormat'])&& method_exists($chromium, 'pdfFormat')) {
$chromium->pdfFormat($params['pdfFormat']);
}
}

$options = [
'printBackground', 'landscape', 'preferCssPageSize', 'omitBackground', 'emulatePrintMediaType',
Expand Down Expand Up @@ -143,18 +155,11 @@ public function getPdfFromString(string $html, array $params = [], bool $returnF
$chromium->paperSize($params['paperWidth'] ?? 8.5, $params['paperHeight'] ?? 11);
}

if (isset($params['userAgent'])) {
$chromium->userAgent($params['userAgent']);
}

if (isset($params['extraHttpHeaders'])) {
$chromium->extraHttpHeaders($params['extraHttpHeaders']);
}

if (isset($params['pdfFormat'])) {
$chromium->pdfFormat($params['pdfFormat']);
}

$request = $chromium->outputFilename($tempFileName)->html(Stream::string('processor.html', $html));

if ($returnFilePath) {
Expand Down

0 comments on commit b72ac53

Please sign in to comment.