将网页生成为图像不适用于Spatie Browsershot

时间:2019-09-20 15:24:39

标签: php laravel browsershot

我正在使用Laravel框架开发Web应用程序。我需要在应用程序中将网页生成为pdf /图片。我正在使用https://github.com/spatie/browsershot的PHP浏览器快照包软件包。我创建了一个测试函数,使用它通过以下代码生成图像。

TimeCheck

运行该函数时,出现以下错误。

\Spatie\Browsershot\Browsershot::url("https://www.google.com/")->save(public_path() . '/example.png');

我正在为项目使用Docker和Docker Compose。我的代码有什么问题?

1 个答案:

答案 0 :(得分:0)

你需要告诉 BrowserShot 指向 node 和 npm 的安装二进制文件。
以这种方式修改您的代码

\Spatie\Browsershot\Browsershot::url("https://www.google.com/")
    ->setNodeBinary('/usr/bin/node')
    ->setNpmBinary('/usr/bin/npm')
    ->save(public_path() . '/example.png');

确保相应地修改“/usr/bin/node”和“/usr/bin/npm”。