问题标签 [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.
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-browser
或npm
.
问题
目前我没有从 browsershot 得到任何反馈。我尝试使用 xdebug 对其进行调试,但我没有收到任何错误消息,并且该过程只会填满我的 RAM,直到我的主机卡住。
问题
通常是否可以挂载文件夹并在那里执行进程,还是只是为了“文件共享”?如果可能的话,权限呢?如何处理它们?
指向browsershot中的二进制文件和路径的正确方法是什么?
以下是我的代码片段:(
如果需要更多,我当然可以添加更多)
Dockerfile (php_dockerfile)
docker-compose.yaml
PHP 代码
(可能问题出在这里)
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,代码:'
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
有人对我做错了什么有任何想法吗?
laravel - 在 Laravel Vapor Docker 运行时运行 Puppeteer 和 Browsershot 的问题
我正在尝试在 Laravel Vapor Docker Runtime 中运行 Puppeteer 和 Spatie/Browsershot 但出现以下错误
这是我的 Dockerfile
这是我的 Browsershot 代码
任何帮助,将不胜感激!
javascript - Spatie Browsershot 无法保存图像
Spatie\Browsershot\Exceptions\CouldNotTakeBrowsershot 给定的路径F:\xampp\htdocs\testcover\public/uploads/
不包含扩展名。请附加扩展名
尝试使用 Spatie BrowerShot 将 HTML 文件另存为图像文件时收到此错误。怎么可能修复。感谢大家
php - 将图像添加到 Browsershot html 功能?
我正在使用 Browsershot 使用 HTML 功能生成图像,但是我正在努力获取图像。我有点不确定在 Laravel 中使用什么来代替
/images/twitter/cards/crypto/resources/bg-01.png
laravel - Laravel Spatie\Browsershot 错误由于某种原因 Chrome 没有在 `/home/______/public_html/myfiles/storage/public/cv/file.pdf 写入文件
Spatie\Browsershot
Laravel
我的代码:
错误 :
javascript - Browsershot / Puppeteer 使 CPU 过载并超时
几个月来,我一直在使用 Browsershot 从我的网站上检索一些图像而没有任何问题,但最近(过去 1-2 周),请求已经超时。进一步研究它,我发现它在尝试执行命令时消耗了大量的 cpu 功率。
据我所知,这种持续的 CPU 消耗将持续到我重新启动服务器。在这个例子中我也只要求制作一张图像,但是chrome有三个进程。我不确定这是否不正常。
为了确保它不是我网站上的某些东西或可能是导致这种情况的设置,我使用了一个简单的函数调用。
不幸的是,问题仍然存在。
我使用的是 Laravel 配置的 Forge 服务器,所以我使用了Github page推荐的安装。就像我说的,直到几周前它一直运行良好。在那个时候没有对 Browsershot 进行任何更改,这会导致这样的事情。我已经尝试按照步骤再次安装,但它仍然会发生。
任何帮助是极大的赞赏!
编辑1:
在进一步研究之后,我发现问题出在 Puppeteer 内部,而不是 Browsershot。我尝试实现Google 提供的 example.js,但遇到了完全相同的问题。
编辑2:
不知何故,我能够修复它。我不能确切地说出它是做什么的,但我可以为其他可能发现这个问题的人提供一些帮助。
跑步ndb example.js
,我收到了消息
即使我已经安装了 puppeteer(多次),我猜它一直在尝试并且无法下载 Chromium。我认为这就是为什么 CPU 使用率如此之高并且在服务器重新启动之前从未停止过的原因。
话虽如此,我并没有特别改变任何让它突然开始工作的东西。如果它有帮助的话,这是我在它突然开始工作时使用的一系列命令。
仍然不知道为什么会发生这种情况的确切原因,所以如果有人能弄清楚这一点,我将把它作为一个悬而未决的问题。
编辑3:
它又坏了。
php - 使用 browsershot 截取 URL 的问题
我已经在本地测试了browsershot ( Windows 10 Pro、XAMPP、nodejs v14.17.6),但是我遇到了一个我无法解决的问题。我收到以下错误:
我很混乱。几乎尝试了人们在论坛上所说的可能解决问题的所有内容 - 但没有任何效果。你能帮帮我吗?问题来自nodejs版本吗?问题出在哪里?
该项目在Laravel 8上。
php - 如何使用 spatie/browsershot 打印徽标
我正在尝试将整个 html 页面打印成 PDF,为此我使用了 spatie/browsershot。我添加了我的徽标,并且在 UI 上显示它时,路径运行良好:
怎么不在PDF上打印?这是将 src 添加到文件的正确方法还是我忘了设置某些东西?谷歌图表中的所有其他图像正在打印