synergitech / chrome-pdf-php
v3.0.0
2024-04-10 13:30 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^6.3 || ^7.0
- symfony/process: ~4.0 || ~5.0 || ~6.0 || ~7.0
Requires (Dev)
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^9.0
README
对于 V1 以前的文档,点击此处
对于 V3 以前的文档,点击此处
这是一个使用 Chrome 通过 SkPDF 后端渲染 HTML 创建 PDF 的库。为了实现这一点,你可以选择使用支持的驱动程序之一
安装
composer require synergitech/chrome-pdf-php
chrome-pdf
如果你计划使用 chrome-pdf
驱动程序在本地渲染 PDF,你也应该确保从 npm 安装它。
无浏览器
如果你计划使用 Browserless 驱动程序远程渲染 PDF 或截图,你应该注册一个 API 密钥。请记住,Browserless 无法渲染本地资源。
使用方法
通过 AbstractPDF 提供了一个通用接口。此类提供的选项将适用于所有驱动程序。
你应该实例化一个可用的驱动程序,可能还需要传递驱动程序所需的选项
use SynergiTech\ChromePDF\Chrome; use SynergiTech\ChromePDF\Browserless; $pdf = new Chrome('path-to-chrome-pdf'); $pdf->renderContent('<h1>test</h1>'); $pdf = new Browserless('your-api-key'); $pdf->renderContent('<h1>test</h1>');
高级 Browserless 使用
当你创建客户端时,你可以选择使用特定的端点。
use SynergiTech\ChromePDF\Browserless; $pdf = new Browserless('your-api-key', Browserless\EndpointsEnum::London);
由于此库本质上充当 Browserless 的 API 客户端,我们已实现了截图 API。
use SynergiTech\ChromePDF\Browserless; // For information on options, see https://www.browserless.io/docs/screenshot#custom-options. // `render()` defaults to using png and fullPage set to false // but jpegs will get a quality of 75 set if you don't set one $file = new Browserless\Screenshot('your-api-key'); $file->render('https://example.com'); $file->render('https://example.com', [ 'fullPage' => true, 'type' => 'jpeg', ]);
示例
一些示例可以在 examples
文件夹中找到。