webhusetballum/browsershot

使用无头Chrome将网页转换为图片或PDF

资助包维护!
spatie

dev-main 2023-11-28 07:13 UTC

This package is not auto-updated.

Last update: 2024-10-02 10:22:26 UTC


README

Social Card of Spatie's Browsershot

使用无头Chrome将网页转换为图片或PDF

Latest Version MIT Licensed run-tests Total Downloads

该包可以将网页转换为图片或PDF。转换由Puppeteer在幕后执行,它控制着Google Chrome的无头版本。

这是一个快速示例

use Spatie\Browsershot\Browsershot;

// an image will be saved
Browsershot::url('https://example.com')->save($pathToImage);

如果传递给save方法的路径包含pdf扩展名,则将保存PDF。

// a pdf will be saved
Browsershot::url('https://example.com')->save('example.pdf');

您还可以使用任意的HTML输入,只需将url方法替换为html

Browsershot::html('<h1>Hello world!!</h1>')->save('example.pdf');

如果您的HTML输入已经在本地文件中,请使用

Browsershot::htmlFromFilePath('/local/path/to/file.html')->save('example.pdf');

Browsershot还可以在JavaScript执行后获取HTML页面的主体

Browsershot::url('https://example.com')->bodyHtml(); // returns the html of the body

如果您希望检索页面触发的所有请求的数组列表,可以这样做

$requests = Browsershot::url('https://example.com')
    ->triggeredRequests();

foreach ($requests as $request) {
    $url = $request['url']; //https://example.com/
}

要使用Chrome的新无头模式,请传递newHeadless方法

Browsershot::url('https://example.com')->newHeadless()->save($pathToImage);

支持我们

通过观看我们的高级视频课程,了解如何创建此类包

Laravel Package training

我们投入了大量资源来创建一流的开放源代码包。您可以通过购买我们的付费产品之一来支持我们。

我们非常感谢您从家乡给我们寄来明信片,说明您正在使用我们的哪个包。您可以在我们的联系页面上找到我们的地址。我们将所有收到的明信片发布在我们的虚拟明信片墙上

文档

所有文档均可在我们的文档网站上找到

贡献

有关详细信息,请参阅CONTRIBUTING

安全

如果您发现有关安全的错误,请通过security@spatie.be发送邮件,而不是使用问题跟踪器。

替代方案

如果您无法安装Node和Puppeteer,请查看v2版本,它使用Chrome无头CLI进行截图。`v2`不再维护,但应该表现相当不错。

如果使用无头Chrome对您不起作用,请查看此包的v1版本,它使用已废弃的`PhantomJS`二进制文件。

鸣谢

特别感谢Caneco为我们的标志✨

许可

MIT许可证(MIT)。有关更多信息,请参阅许可文件