webhusetballum / browsershot
使用无头Chrome将网页转换为图片或PDF
Requires
- php: ^8.0
- ext-json: *
- spatie/image: ^1.5.3|^2.0
- spatie/temporary-directory: ^1.1|^2.0
- symfony/process: ^4.2|^5.0|^6.0
Requires (Dev)
- pestphp/pest: ^1.20
- spatie/phpunit-snapshot-assertions: ^4.2.3
This package is not auto-updated.
Last update: 2024-10-02 10:22:26 UTC
README
使用无头Chrome将网页转换为图片或PDF
该包可以将网页转换为图片或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);
支持我们
通过观看我们的高级视频课程,了解如何创建此类包
我们投入了大量资源来创建一流的开放源代码包。您可以通过购买我们的付费产品之一来支持我们。
我们非常感谢您从家乡给我们寄来明信片,说明您正在使用我们的哪个包。您可以在我们的联系页面上找到我们的地址。我们将所有收到的明信片发布在我们的虚拟明信片墙上。
文档
所有文档均可在我们的文档网站上找到。
贡献
有关详细信息,请参阅CONTRIBUTING。
安全
如果您发现有关安全的错误,请通过security@spatie.be发送邮件,而不是使用问题跟踪器。
替代方案
如果您无法安装Node和Puppeteer,请查看
如果使用无头Chrome对您不起作用,请查看此包的v1版本,它使用已废弃的`PhantomJS`二进制文件。
鸣谢
特别感谢Caneco为我们的标志✨
许可
MIT许可证(MIT)。有关更多信息,请参阅许可文件。