问题标签 [browsershot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
247 浏览

php - 如何在两个不同的 docker 镜像中运行 Browsershot 和 zenika alpine-chrome?

目标使用 zenika alpine-chrome:with-puppeteer docker 图像,就像服务一样,在 php 容器中使用Browsershot
从 HTML 创建 PDF 。

描述 在我的 dockerized php 应用程序中,我从 html 生成 pdf 文件。目前在 docker php 映像中还安装了 npm、nodejs、puppeteer 和 chromium,并且 Browsershot 可以正常工作。但我想为 npm/nodejs/puppeteer/chromium 的东西制作一个单独的图像。因此我尝试了 zenika alpine-chrome:with-puppeteer。我/usr将此 docker 映像的目录安装到我的 php docker 映像中,当我执行到 php 容器中时,我可以验证它是否有效。所以我可以看到所有必要的文件,比如node,chromium-browsernpm.

问题
目前我没有从 browsershot 得到任何反馈。我尝试使用 xdebug 对其进行调试,但我没有收到任何错误消息,并且该过程只会填满我的 RAM,直到我的主机卡住。

问题
通常是否可以挂载文件夹并在那里执行进程,还是只是为了“文件共享”?如果可能的话,权限呢?如何处理它们?
指向browsershot中的二进制文件和路径的正确方法是什么?

以下是我的代码片段:(
如果需要更多,我当然可以添加更多)

Dockerfile (php_dockerfile)

docker-compose.yaml

PHP 代码
(可能问题出在这里)

0 投票
1 回答
243 浏览

laravel - 使用 Laravel Spatie/Browsershot 生成 PDF 的问题

我正在尝试使用以下代码生成 PDF:

$content = view('bills.show', ['bill' => $bill])->render(); return Browsershot::html($content)->setNodeBinary('C:/PROGRA~1/nodejs/node.exe')->pdf();

但是我收到了这个错误(也附上了完整的堆栈跟踪):

Symfony\Component\Process\Exception\ProcessFailedException 命令 "C:/PROGRA^~1/nodejs/node.exe ^"C:^\Codex^\hidma-backend^\vendor^\spatie^\browsershot^\src/ ../bin/browser.js^" ^"^{^^"url^^":^^"文件:^/^/C:^^\Users^^\alex.DFK^^\AppData^^\本地^^\Temp^^\873677827-0646160001622728448^^\index.html^^",^^"action^^":^^"pdf^^",^^"options^^":^{^^" args^^":^[^],^^"视口^^":^{^^"宽度^^":800,^^"高度^^":600^},^^"displayHeaderFooter^^": false^}^}^"" 失败。退出代码:1(一般错误) 工作目录:C:\Codex\hidma-backend\public 输出:================ 错误输出:======== ======== [错误:ENOENT:没有这样的文件或目录,mkdtemp 'undefined\temp\puppeteer_dev_chrome_profile-XXXXXX'] { errno:-4058,代码:'

堆栈跟踪

0 投票
0 回答
332 浏览

laravel - Laravel Spatie Browsershot 错误号:-4058,代码:'ENOENT'

我正在尝试捕获在 localhost 中运行的网站的屏幕截图,并且我正在使用 Spatie/Browsershot。

当我尝试运行此功能时

弹出这个错误

我尝试将自定义路径设置为这些属性:

setChromePath("C:\Users\my_user\AppData\Local\Google\Chrome\Application\chrome.exe")

setNpmBinary('C:\Users\my_user\AppData\Roaming\npm')

我还运行了 npm install puppeteer。

附加:Laravel 8 Windows 10 节点 v14.17.2

有人对我做错了什么有任何想法吗?

0 投票
1 回答
177 浏览

laravel - 在 Laravel Vapor Docker 运行时运行 Puppeteer 和 Browsershot 的问题

我正在尝试在 Laravel Vapor Docker Runtime 中运行 Puppeteer 和 Spatie/Browsershot 但出现以下错误

这是我的 Dockerfile

这是我的 Browsershot 代码

任何帮助,将不胜感激!

0 投票
1 回答
68 浏览

javascript - Spatie Browsershot 无法保存图像

这是错误屏幕

Spatie\Browsershot\Exceptions\CouldNotTakeBrowsershot 给定的路径F:\xampp\htdocs\testcover\public/uploads/不包含扩展名。请附加扩展名

尝试使用 Spatie BrowerShot 将 HTML 文件另存为图像文件时收到此错误。怎么可能修复。感谢大家

0 投票
0 回答
35 浏览

php - 将图像添加到 Browsershot html 功能?

我正在使用 Browsershot 使用 HTML 功能生成图像,但是我正在努力获取图像。我有点不确定在 Laravel 中使用什么来代替

/images/twitter/cards/crypto/resources/bg-01.png

0 投票
0 回答
25 浏览

laravel - Laravel Spatie\Browsershot 错误由于某种原因 Chrome 没有在 `/home/______/public_html/myfiles/storage/public/cv/file.pdf 写入文件

Spatie\Browsershot
Laravel

我的代码:

错误 :

0 投票
1 回答
73 浏览

javascript - Browsershot / Puppeteer 使 CPU 过载并超时

几个月来,我一直在使用 Browsershot 从我的网站上检索一些图像而没有任何问题,但最近(过去 1-2 周),请求已经超时。进一步研究它,我发现它在尝试执行命令时消耗了大量的 cpu 功率。

Browsershot CPU 使用率

据我所知,这种持续的 CPU 消耗将持续到我重新启动服务器。在这个例子中我也只要求制作一张图像,但是chrome有三个进程。我不确定这是否不正常。

为了确保它不是我网站上的某些东西或可能是导致这种情况的设置,我使用了一个简单的函数调用。

不幸的是,问题仍然存在。

我使用的是 Laravel 配置的 Forge 服务器,所以我使用了Github page推荐的安装。就像我说的,直到几周前它一直运行良好。在那个时候没有对 Browsershot 进行任何更改,这会导致这样的事情。我已经尝试按照步骤再次安装,但它仍然会发生。

任何帮助是极大的赞赏!

编辑1:

在进一步研究之后,我发现问题出在 Puppeteer 内部,而不是 Browsershot。我尝试实现Google 提供的 example.js,但遇到了完全相同的问题。

编辑2:

不知何故,我能够修复它。我不能确切地说出它是做什么的,但我可以为其他可能发现这个问题的人提供一些帮助。

跑步ndb example.js,我收到了消息

即使我已经安装了 puppeteer(多次),我猜它一直在尝试并且无法下载 Chromium。我认为这就是为什么 CPU 使用率如此之高并且在服务器重新启动之前从未停止过的原因。

话虽如此,我并没有特别改变任何让它突然开始工作的东西。如果它有帮助的话,这是我在它突然开始工作时使用的一系列命令。

仍然不知道为什么会发生这种情况的确切原因,所以如果有人能弄清楚这一点,我将把它作为一个悬而未决的问题。

编辑3:

它又坏了。

0 投票
0 回答
34 浏览

php - 使用 browsershot 截取 URL 的问题

我已经在本地测试了browsershot ( Windows 10 ProXAMPPnodejs v14.17.6),但是我遇到了一个我无法解决的问题。我收到以下错误:

我很混乱。几乎尝试了人们在论坛上所说的可能解决问题的所有内容 - 但没有任何效果。你能帮帮我吗?问题来自nodejs版本吗?问题出在哪里?

该项目在Laravel 8上。

0 投票
0 回答
22 浏览

php - 如何使用 spatie/browsershot 打印徽标

我正在尝试将整个 html 页面打印成 PDF,为此我使用了 spatie/browsershot。我添加了我的徽标,并且在 UI 上显示它时,路径运行良好:

怎么不在PDF上打印?这是将 src 添加到文件的正确方法还是我忘了设置某些东西?谷歌图表中的所有其他图像正在打印