thecodingmachine/gotenberg-php-client
最新稳定版本:6.3.0
Composer 安装命令:
composer require thecodingmachine/gotenberg-php-client
包简介
A client for sending files to a Gotenberg API
README 文档
README
⚠️ For Gotenberg 7.x, use gotenberg-/gotenberg-php instead.
This library is unmaintained and will not receive updates. Consider migrating to Gotenberg 7.x and the according new library instead.
Gotenberg PHP client
A simple PHP client for interacting with a Gotenberg API.
Install
Unless your project already have a PSR7 HttpClient, install php-http/guzzle6-adapter:
$ composer require php-http/guzzle6-adapter
Then the PHP client:
$ composer require thecodingmachine/gotenberg-php-client
Usage
use TheCodingMachine\Gotenberg\Client; use TheCodingMachine\Gotenberg\ClientException; use TheCodingMachine\Gotenberg\DocumentFactory; use TheCodingMachine\Gotenberg\HTMLRequest; use TheCodingMachine\Gotenberg\Request; use TheCodingMachine\Gotenberg\RequestException; use GuzzleHttp\Psr7\LazyOpenStream; # create the client. $client = new Client('http://localhost:3000', new \Http\Adapter\Guzzle6\Client()); # ... or the following if you want the client to discover automatically an installed implementation of the PSR7 `HttpClient`. $client = new Client('http://localhost:3000'); # prepare the files required for your conversion. # from a path. $index = DocumentFactory::makeFromPath('index.html', '/path/to/file'); # ... or from your own stream. $stream = new LazyOpenStream('/path/to/file', 'r'); $index = DocumentFactory::makeFromStream('index.html', $stream); // ... or from a string. $index = DocumentFactory::makeFromString('index.html', '<html>Foo</html>'); $header = DocumentFactory::makeFromPath('header.html', '/path/to/file'); $footer = DocumentFactory::makeFromPath('footer.html', '/path/to/file'); $assets = [ DocumentFactory::makeFromPath('style.css', '/path/to/file'), DocumentFactory::makeFromPath('img.png', '/path/to/file'), ]; try { $request = new HTMLRequest($index); $request->setHeader($header); $request->setFooter($footer); $request->setAssets($assets); $request->setPaperSize(Request::A4); $request->setMargins(Request::NO_MARGINS); $request->setScale(0.75); # store method allows you to... store the resulting PDF in a particular destination. $client->store($request, 'path/you/want/the/pdf/to/be/stored.pdf'); # if you wish to redirect the response directly to the browser, you may also use: $client->post($request); } catch (RequestException $e) { # this exception is thrown if given paper size or margins are not correct. } catch (ClientException $e) { # this exception is thrown by the client if the API has returned a code != 200. }
For more complete usages, head to the documentation.
Badges
统计信息
- 总下载量: 1.71M
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 103
- 点击次数: 3
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-01-04