问题标签 [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 回答
331 浏览

javascript - Browsershot没有拍摄chartjs的快照

我正在尝试截取 chartjs 库的屏幕截图,该库通过 browsershot 设置了一个间隔,并且它不会执行 javascript 代码。这是我的代码。我得到的只是一个空白图像。

我添加了延迟,以便 chartjs 内部的函数完成。我试过使用waitForFunction,但我不确定我是否得到了文档。任何人都可以帮忙吗?

0 投票
0 回答
2423 浏览

php - Spatie Browsershot 在 Linux 服务器上不起作用。得到错误 sh: node: command not found

我在laravel 项目中使用Browsershot 。当我在本地主机上使用它时,它工作得很好。但是,无论我做什么,我似乎都无法让它在实时服务器上运行。我在 Linux VPS 上运行它。

这是我的代码(在控制器内):

我也试过添加->setNodeModulePath("/public_html/node_modules/")

这是我得到的错误:

我假设它与 npm 位置或 node_modules 位置有关。

在手册中看到了这一部分

但我真的不明白如何在我的情况下使用它。

任何帮助将不胜感激。

谢谢!

0 投票
1 回答
1302 浏览

php - 无法让 Node 与 Laravel 和 browsershot 一起使用

我正在尝试使用下面的包来生成 pdf。

https://github.com/spatie/browsershot

我正确设置了节点。

但我无法让它与 Laravel 和 browsershots 一起使用

以下是错误:

下面是更多信息的图片: 见附图

我正在 Windows 上尝试这个。任何方向表示赞赏。

0 投票
1 回答
1306 浏览

php - Spatie Browsershot 无法将网页生成为图像

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

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

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

0 投票
0 回答
996 浏览

php - Puppeteer 使用 browsershot 创建 pdf - headerHtml 和 footerHtml 错误

当我尝试在 Windows 10 上创建带有某些类或样式的 headerHtml 或 footerHtml 时,出现错误

例如 :

如果我不添加任何样式或类,一切都会正常工作:

如果我放置一个样式或类,它会返回一个错误:

或者

所以我无法设置页脚或页眉的样式,或者使用变量“PageNumber 等”,也许是因为我在 Windows 10 上尝试过?

这是我得到的错误:

谢谢


编辑 :

如果你有同样的错误,我找到了在windows 10上创建这个错误的问题,问题来自footerhtml和headerhtml里面的引号,如果我们把双引号(对于类或样式或其他)出现错误,所以我们只需要使用这样的简单引用:

链接到问题https://github.com/spatie/browsershot/issues/343

0 投票
2 回答
1530 浏览

php - 在 Windows 上安装 Spatie 的问题

我正在尝试为一个项目配置 Spatie/Browsershot,用 Laravel 编写,但在完成所有步骤后,我仍然收到一个错误:

'node' 不是内部或外部命令、可运行程序或批处理文件

A 已经安装了最新版本的 node 和 npm 并且它们都存在于 PATH 中并且也可以在 cmd 上工作。

就像它写在 GitHub 上的官方文档中一样,我运行过:

  • npm 安装 puppeteer
  • 作曲家需要 spatie/browsershot

在我写的代码中:

Program Files带有双引号,否则 Laravel 会因为两个单词之间的空格而引发错误。

我不确定路径,它们是否正确编写?(windows中反斜杠的问题)

0 投票
2 回答
374 浏览

php - 在 docker 外调用 Docker 容器

我有一个在 Apache 下运行且没有 docker 的项目。但是,在这个项目中,我有一个 PDF 导出,我想在 docker 容器中调用它。你是怎样做的?

这是我的docker-compose.yaml

Browsershot 服务下载 PDF 并具有 node 和 npm。为此,它模拟了一个浏览器,所以我有一个 chrome 服务,但我不知道它是否是正确的方法。

这两个命令在终端中工作:

但是,Browsershot 需要可执行节点和 npm 的路径,这两个命令突然变成了上面的 2 个命令:

变量$nodePathisdocker-compose run --rm browsershot node和变量$npmPathid docker-compose run --rm browsershot npm。此代码适用于我的本地机器中的可执行文件,例如/usr/local/bin/node/usr/local/bin/npm

但是,当我使用 docker 命令启动导出时,出现此错误:

0 投票
1 回答
825 浏览

d3.js - Puppeteer 拍摄 SVG 的模糊截图

我正在通过browsershot使用 puppeteer 来截取 D3 SVG 图的屏幕截图。虽然在本地 URL 上预览时图表看起来非常好,但一旦我用 puppeteer 对其进行截图,它看起来就不像以前那么清晰了。

手动截屏(清晰):

在此处输入图像描述

Puppeteer 截图(模糊):

在此处输入图像描述

我正在使用 Browsershot 运行以下代码。它是 puppeteer 的包装。

我试过调整视口和屏幕截图的大小——总是一样的。也许有人知道我可以尝试/看看什么?

干杯!

0 投票
1 回答
2310 浏览

php - Spatie Browsershot 和信头 / CSS

我正在尝试使用spatie/browsershotlaravel-browsershot 包装器在 Laravel 应用程序中生成包含视图内容的 PDF ;我使用 svg 作为我的信头背景,并希望将视图的内容放置在每个页面上 SVG 的特定区域内。不幸的是,边距->margins(40, 20, 40, 30)使我的#watermarkdiv 随边距移动 - 它不再处于固定的 0,0 位置。你能帮我正确设置水印div吗?所以它不受页边距的影响

在控制器中

在我的刀片中,我设置了以下 css

我取得的最好成绩是这个

这里

其中虚线矩形是 SVG 文件中我希望视图的所有内容流过所有页面的区域,尊重设置的边距

我通过删除->margins(....)php 并向<body>标签 添加样式来实现它

如您所见,第一页底部和下一页顶部的页面边距似乎为 0

0 投票
0 回答
259 浏览

laravel - 如何解决使用 spatie laravel 的错误

我在 laravel lumen 中使用 spatie 库将文件创建为图像。但它给出了错误。

错误是:给定路径“您的存储文件路径”不包含扩展名。请附加扩展名。