synergitech/chrome-pdf-php

v3.0.0 2024-04-10 13:30 UTC

This package is auto-updated.

Last update: 2024-09-15 16:58:55 UTC


README

Tests

对于 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 文件夹中找到。