spatie / browsershot
使用无头Chrome将网页转换为图片或PDF
Requires
- php: ^8.2
- ext-fileinfo: *
- ext-json: *
- spatie/temporary-directory: ^2.0
- symfony/process: ^6.0|^7.0
Requires (Dev)
- pestphp/pest: ^1.20
- spatie/image: ^3.6
- spatie/pdf-to-text: ^1.52
- spatie/phpunit-snapshot-assertions: ^4.2.3
- dev-main
- 4.3.0
- 4.2.1
- 4.2.0
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- v3.x-dev
- 3.61.0
- 3.60.2
- 3.60.1
- 3.60.0
- 3.59.0
- 3.58.2
- 3.58.1
- 3.58.0
- 3.57.8
- 3.57.7
- 3.57.6
- 3.57.5
- 3.57.4
- 3.57.3
- 3.57.2
- 3.57.1
- 3.57.0
- 3.56.0
- 3.55.0
- 3.54.0
- 3.53.0
- 3.52.6
- 3.52.5
- 3.52.4
- 3.52.3
- 3.52.2
- 3.52.1
- 3.52.0
- 3.51.0
- 3.50.2
- 3.50.1
- 3.50.0
- 3.49.0
- 3.48.0
- 3.47.0
- 3.46.0
- 3.45.0
- 3.44.1
- 3.44.0
- 3.42.0
- 3.41.2
- 3.41.1
- 3.41.0
- 3.40.3
- 3.40.2
- 3.40.1
- 3.40.0
- 3.39.0
- 3.38.0
- 3.37.2
- 3.37.1
- 3.37.0
- 3.36.0
- 3.35.0
- 3.34.0
- 3.33.1
- 3.33.0
- 3.32.2
- 3.32.1
- 3.32.0
- 3.31.1
- 3.31.0
- 3.30.0
- 3.29.0
- 3.27.0
- 3.26.3
- 3.26.2
- 3.26.1
- 3.26.0
- 3.25.1
- 3.25.0
- 3.24.0
- 3.23.1
- 3.23.0
- 3.22.1
- 3.22.0
- 3.20.1
- 3.20.0
- 3.19.0
- 3.18.0
- 3.17.0
- 3.16.1
- 3.16.0
- 3.15.0
- 3.14.1
- 3.14.0
- 3.13.0
- 3.12.0
- 3.11.1
- 3.11.0
- 3.10.0
- 3.9.0
- 3.8.1
- 3.8.0
- 3.7.0
- 3.6.0
- 3.5.0
- 3.4.0
- 3.3.1
- 3.3.0
- 3.2.1
- 3.2.0
- 3.1.0
- 3.0.0
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.0
- 2.2.0
- 2.1.0
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.9.1
- 1.9.0
- 1.8.0
- 1.7.0
- 1.6.0
- 1.5.4
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.0
- 1.3.0
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.0
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
This package is auto-updated.
Last update: 2024-09-22 09:24:49 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);
支持我们
通过观看我们的付费视频课程,了解如何创建此类包
我们在创建最佳开源包上投入了大量资源。您可以通过购买我们的付费产品之一来支持我们。
我们非常感谢您从您的家乡给我们寄明信片,说明您正在使用我们哪个包。您可以在我们的联系页面上找到我们的地址。我们将所有收到的明信片发布在我们的虚拟明信片墙上。
文档
所有文档都可在我们的文档网站上找到。
测试
要运行测试套件,您需要安装Puppeteer。请参阅Browsershot的要求此处。通常,npm -g i puppeteer
就可以解决问题。
此外,您还需要pdftotext
CLI,它是poppler-utils包的一部分。更多信息可以在spatie/pdf-to-text的readme中找到。通常,brew install poppler-utils
就足够了。
最后,使用以下命令运行测试
composer test
贡献
请参阅CONTRIBUTING以获取详细信息。
安全性
如果您发现了一个关于安全性的bug,请通过[email protected]发送邮件,而不是使用问题跟踪器。
替代方案
如果您无法安装Node和Puppeteer,请查看browsershot的v2版本,它使用Chrome无头CLI来截屏。版本v2
不再维护,但应该表现相当不错。
如果使用无头Chrome对您不起作用,请查看本包的v1
版本,它使用废弃的PhantomJS
二进制文件。
致谢
特别感谢Caneco提供标志✨
许可证
MIT许可证(MIT)。请参阅许可证文件获取更多信息。