PHP code example of gotenberg / gotenberg-php
1. Go to this page and download the library: Download gotenberg/gotenberg-php library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
gotenberg / gotenberg-php example snippets
use Gotenberg\Gotenberg;
// Converts a target URL to PDF and saves it to a given directory.
$filename = Gotenberg::save(
Gotenberg::chromium($apiUrl)->pdf()->url('https://my.url'),
$pathToSavingDirectory
);
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
// Converts Office documents to PDF and merges them.
$response = Gotenberg::send(
Gotenberg::libreOffice($apiUrl)
->merge()
->convert(
Stream::path($pathToDocx),
Stream::path($pathToXlsx)
)
);
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium('http://localhost:3000')
->pdf()
->url('https://my.url');
$response = $client->sendRequest($request);
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium('http://localhost:3000')
->pdf()
->url('https://my.url');
try {
$response = Gotenberg::send($request);
return $response;
} catch (GotenbergApiErrored $e) {
// $e->getResponse();
}
use Gotenberg\Gotenberg;
$response = Gotenberg::send($request, $client);
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium('http://localhost:3000')
->pdf()
->url('https://my.url');
$filename = Gotenberg::save($request, '/path/to/saving/directory');
use Gotenberg\Gotenberg;
$response = Gotenberg::save($request, $pathToSavingDirectory, $client);
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium('http://localhost:3000')
->pdf()
->outputFilename('my_file')
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium('http://localhost:3000')
->pdf()
->trace('debug')
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium('http://localhost:3000')
->pdf()
->trace('debug', 'Request-Id')
->url('https://my.url');
use Gotenberg\Exceptions\GotenbergApiErrored;
use Gotenberg\Gotenberg;
try {
$response = Gotenberg::send(
Gotenberg::chromium('http://localhost:3000')
->pdf()
->url('https://my.url')
);
} catch (GotenbergApiErrored $e) {
$trace = $e->getGotenbergTrace();
// Or if you override the header name:
$trace = $e->getGotenbergTrace('Request-Id');
}
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->url('https://my.url');
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->html(Stream::path('/path/to/file.html'));
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->html(Stream::string('my.html', $someHtml));
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->assets(
Stream::path('/path/to/my.css'),
Stream::path('/path/to/my.js')
)
->html(Stream::path('/path/to/file.html'));
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->markdown(
Stream::path('/path/to/my_wrapper.html'),
Stream::path('/path/to/file.md')
);
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->assets(
Stream::path('/path/to/my.css'),
Stream::path('/path/to/my.js')
)
->markdown(
Stream::path('/path/to/file.html'),
Stream::path('/path/to/my.md'),
Stream::path('/path/to/my2.md')
);
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->singlePage()
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->paperSize($width, $height)
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->margins($top, $bottom, $left, $right)
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->preferCssPageSize()
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->printBackground()
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->printBackground()
->omitBackground()
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->landscape()
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->scale(2.0)
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->nativePageRanges('1-2')
->url('https://my.url');
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->header(Stream::path('/path/to/my_header.html'))
->footer(Stream::path('/path/to/my_footer.html'))
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->waitDelay('3s')
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->waitForExpression("window.globalVar === 'ready'")
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->emulateScreenMediaType()
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->emulatePrintMediaType()
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->extraHttpHeaders([
'My-Header-1' => 'My value',
'My-Header-2' => 'My value'
])
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->failOnHttpStatusCodes([499])
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->failOnConsoleExceptions()
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->skipNetworkIdleEvent()
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->pdfFormat('PDF/A-1a')
->pdfua()
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->pdf()
->metadata(['Producer' => 'Gotenberg'])
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->screenshot()
->png()
->optimizeForSpeed()
->url('https://my.url');
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::chromium($apiUrl)
->screenshot()
->jpeg()
->quality(50)
->assets(
Stream::path('/path/to/my.css'),
Stream::path('/path/to/my.js')
)
->html(Stream::path('/path/to/file.html'));
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::chromium($apiUrl)
->screenshot()
->webp()
->markdown(
Stream::path('/path/to/my_wrapper.html'),
Stream::path('/path/to/file.md')
);
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::libreOffice($apiUrl)
->convert(Stream::path('/path/to/my.docx'));
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::libreOffice($apiUrl)
->outputFilename('archive')
->convert(
Stream::path('/path/to/my.docx'),
Stream::path('/path/to/my.xlsx')
);
// $filename = archive.zip
$filename = Gotenberg::save($request, $pathToSavingDirectory);
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::libreOffice($apiUrl)
->merge()
->outputFilename('merged')
->convert(
Stream::path('/path/to/my.docx'),
Stream::path('/path/to/my.xlsx')
);
// $filename = merged.pdf
$filename = Gotenberg::save($request, $pathToSavingDirectory);
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::libreOffice($apiUrl)
->landscape()
->convert(Stream::path('/path/to/my.docx'));
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::libreOffice($apiUrl)
->nativePageRanges('1-2')
->convert(Stream::path('/path/to/my.docx'));
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::libreOffice($apiUrl)
->exportFormFields(false)
->convert(Stream::path('/path/to/my.docx'));
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::libreOffice($apiUrl)
->pdfa('PDF/A-1a')
->pdfua()
->convert(Stream::path('/path/to/my.docx'));
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::libreOffice($apiUrl)
->metadata(['Producer' => 'Gotenberg'])
->convert(Stream::path('/path/to/my.docx'));
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::pdfEngines($apiUrl)
->merge(
Stream::path('/path/to/my.pdf'),
Stream::path('/path/to/my2.pdf')
);
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::pdfEngines($apiUrl)
->pdfa('PDF/A-1a')
->pdfua()
->merge(
Stream::path('/path/to/my.pdf'),
Stream::path('/path/to/my2.pdf'),
Stream::path('/path/to/my3.pdf')
);
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::pdfEngines($apiUrl)
->metadata(['Producer' => 'Gotenberg'])
->merge(
Stream::path('/path/to/my.pdf'),
Stream::path('/path/to/my2.pdf'),
Stream::path('/path/to/my3.pdf')
);
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::pdfEngines($apiUrl)
->pdfua()
->convert(
'PDF/A-1a'
Stream::path('/path/to/my.pdf')
);
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::pdfEngines($apiUrl)
->outputFilename('archive')
->convert(
'PDF/A-1a',
Stream::path('/path/to/my.pdf'),
Stream::path('/path/to/my2.pdf'),
Stream::path('/path/to/my3.pdf')
);
// $filename = archive.zip
$filename = Gotenberg::save($request, $pathToSavingDirectory);
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::pdfEngines($apiUrl)
->readMetadata(
Stream::path('/path/to/my.pdf'),
Stream::path('/path/to/my2.pdf')
);
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::pdfEngines($apiUrl)
->writeMetadata(
[ 'Producer' => 'Gotenberg' ],
Stream::path('/path/to/my.pdf')
);
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$request = Gotenberg::pdfEngines($apiUrl)
->outputFilename('archive')
->writeMetadata(
[ 'Producer' => 'Gotenberg' ],
Stream::path('/path/to/my.pdf'),
Stream::path('/path/to/my2.pdf'),
Stream::path('/path/to/my3.pdf')
);
// $filename = archive.zip
$filename = Gotenberg::save($request, $pathToSavingDirectory);
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->webhook('https://my.webhook.url', 'https://my.webhook.error.url')
->pdf()
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->webhook('https://my.webhook.url', 'https://my.webhook.error.url')
->webhookMethod('PATCH')
->webhookErrorMethod('PUT')
->pdf()
->url('https://my.url');
use Gotenberg\Gotenberg;
$request = Gotenberg::chromium($apiUrl)
->webhook('https://my.webhook.url', 'https://my.webhook.error.url')
->webhookExtraHttpHeaders([
'My-Header-1' => 'My value',
'My-Header-2' => 'My value'
])
->pdf()
->url('https://my.url');
composer