问题标签 [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.
laravel - 无法从 spatie bowsershot 生成 PDF
我已经在我的 laravel 项目中安装了 browsershot 我已经安装了 puppeteer,安装了 chromium,我的 npm 版本已更新,但我仍然无法获取我的简单 html 输入的 PDF,我尝试通过 URL 方法截屏并保存为图像(它有效),但我的要求是生成我的 html 的 PDF。
这是我在控制器中的代码
错误信息:
"message": "进程"PATH=$PATH:/usr/local/bin NODE_PATH='/var/www/html/ProjectName/node_modules/'/usr/local/bin/node'/var/www/html/ benesprint/vendor/spatie/browsershot/src/../bin/browser.js''{"url":"file:\/\/\/tmp\/1933874416-0068512001600765779\/index.html","action" :"pdf","options":{"path":"\/var\/www\/html\/ProjectName\/public\/DevTest.pdf","args":["--no-sandbox"] ,"viewport":{"width":800,"height":600},"displayHeaderFooter":false,"executablePath":"\/usr\/bin\/chromium-browser","timeout":60000," printBackground":true}}'" 超过了 60 秒的超时时间。",
laravel - 如何将html转换为pdf并存储在laravel中?
我正在使用 BrowserShot 将 HTML 转换为 PDF。当我在存储磁盘上保存 pdf 文件时,我面临以下问题。
The command "PATH=$PATH:/usr/local/bin NODE_PATH=`npm root -g` node '/home/irshad/Desktop/projects/seller-suite/vendor/spatie/browsershot/src/../bin/browser.js' '{"url":"file:\/\/\/tmp\/146500948-0992198001603349147\/index.html","action":"pdf","options":{"args":[],"viewport":{"width":800,"height":600},"displayHeaderFooter":false,"margin":{"top":"18mm","right":"18mm","bottom":"24mm","left":"18mm"},"format":"A4","printBackground":true}}'" failed. Exit Code: 1(General error) Working directory: /home/irshad/Desktop/projects/seller-suite/public Output: ================ Error Output: ================ { TimeoutError: Navigation timeout of 30000 ms exceeded at Promise.then (/home/irshad/Desktop/projects/seller-suite/node_modules/puppeteer/lib/cjs/puppeteer/common/LifecycleWatcher.js:106:111) name: 'TimeoutError' }
我正在使用代码将 HTML 转换为 PDF
我该如何解决它,我浪费了很多时间。谢谢
laravel - Browsershot:每张纸显示两页
我正在使用 spatie/browsershot 包和 puppeteer 在我的应用程序中生成 pdf。我有几个用于生成的模板,所以我为每个制作的模板创建了一个刀片模板。
我在使用其中一个模板时遇到问题,我正在尝试模拟打印在一张 A4 纸上的两个 A5 页面(横向模式)。纯粹在 css 中执行此操作太困难了(计算页面末尾,在正确的时间进入另一列等),所以我正常生成它,但宽度和高度设置为 A5 尺寸。当然,它出现在工作表的中间,每张纸一页。
我想知道是否有办法用 Browsershot 将两个页面“粘合”在一起。这是我生成pdf的调用:
我认为,如果有办法制作这样的东西,那一定是在这一代。非常感谢!
laravel - 本地字体未正确加载?
我正在使用Browsershot,它基于Puppeteer从 HTML 创建 PDF。HTML 源代码呈现为 Laravel-Blade。
这是我正在渲染的刀片模板:
app.css
包含@font-faces
如下:
现在,如果我尝试创建 pdf,这些字体未正确加载。
如果我使用以下方法追踪它:
我看到了这些请求:
我可以使用浏览器打开此路径,并且 Laravel 所在的虚拟机也可以这样做:
但字体仍未应用。
现在,如果我只是使用这样的 Google 字体
它工作得很好。
那么我做错了什么?
node.js - Windows 10 上的 Laravel 开发 - 无法识别节点
这是我的问题,我正在处理它一天,非常感谢任何帮助。
我正在使用 Laravel 在 Windows 10 上开发一个项目。我已经安装了 NodeJS,NPM 可以正常工作,并且当我node -v
通过 CMD 或 PowerShell 检查时,它会显示当前版本。
所以,我的环境变量被放置在它应该在的地方,并且可以正常工作。
但问题是,每当我尝试在 Laravel 中使用依赖节点的某些包时,它都会显示“节点无法识别......”出现此问题的示例有spatie/browsershot、rialto-php/puphpeteer和许多其他这通常依赖于 puphpeteer 或节点。
再一次,我的环境变量被设置了,但也许它们没有提供给 Laravel 或类似的东西?
关于这个的任何想法..
提前致谢!
laradock - 在 Laradock 上为 Browsershot 安装 chromium
我有一个在 Laradock 上运行的 Laravel 项目,我正在尝试使用这个包从视图中生成 PDF 文件:https ://github.com/spatie/browsershot
它使用 Puppeteer 来完成该部分并使用无头镀铬。
至此,我刚刚制作了一个控制器,它调用了一个基本函数进行测试:
我得到错误:
我确实通过 npm 在本地安装了 puppeteer 并且/var/www/projects/my-project/node_modules/puppeteer/.local-chromium/linux-856583/chrome-linux/chrome
确实存在。
我不确定该怎么做。在 Browsershot 文档中,它说您可以运行:
在锻造。我不确定这是否也适用于我的 laradock 环境。但是错误是抱怨它在我的文件夹中找不到该文件node_modules
。
完整的原始错误是:
编辑:在我的 Dockerfile 中添加了以下内容php-fpm
该/usr/lib/node_modules/
文件夹从未创建,现在当我尝试加载页面时,出现503
错误。
node.js - 在 spatie/browsershot 中生成 pdf 不起作用
我正在尝试使用 spatie/browsershot 包生成 pdf,但面临一些套接字(10106)错误。
错误 :-
我正在使用“laravel/framework”:“5.7.*”,“spatie/browsershot”:“3.40”,npm 6.9.0,节点 12.5.0
代码:-
请提供一些反馈,谢谢。
php - Browsershot 不会保存或写入我的 pdf -> 由于某种原因 Chrome 没有写入
寻找聪明的头脑来帮助我解决我的问题。我继承了一个 Laravel v5.3 项目,该项目应该能够将 CV 从 html 传递到 .pdf。他们一直在使用 spatie/browsershot 来完成这项任务。但是由于某种原因,该软件包不会写入该死的文件。我一直在查看传递给该函数的 html,并且全部检查出来。于是我去Github上的指南,把这行代码作为函数中唯一剩下的一行代码放入了代码文件中。
无论我做什么,我都会收到以下错误消息:
我还尝试为 Browsershot 提供一个绝对路径来保存文件。但是不要紧。在过去的两周里,我查阅了许多不同的指南,但似乎没有任何效果。Puppeteer 也安装在本地。
顺便说一句,我正在运行带有最新更新的 Windows 10 机器,如果这很重要的话。
laravel - 为什么在使用 spatie/browsershot 生成的 pdf 文件中没有标题并且任何页面的最后一行被截断?
在 Laravel 8 应用程序中,我使用 browsershot 制作 pdf 文件,它对我来说大部分都可以正常工作,除非我的数据包含多个页面,我有 2 个问题:
我没有看到我用页脚定义的标题(下面的代码):https ://imgur.com/a/2bkn3aD
我看到任何页面的最后一行都被切断了:https ://imgur.com/a/cKpv7yR
我通过将代码传递到控制 html 内容和生成的文件名来做到这一点:
在 composer.json :
如何解决?
修改: 我在生成 pdf 时仍然遇到这些问题:我在实时服务器上上传了示例。 请在登录页面凭据已填写时打开 http://tads-back.my-demo-apps.tk/admin/ads/2/edit 。只需点击登录,上面的链接将打开模式页面,请点击“生成”按钮。默认情况下,将生成 pdf 文件,并在我的主题的打印屏幕中显示问题。我在 bootstrap 4.5 中使用了这个库,但没有这样的库问题。同样在https://github.com/spatie/browsershot的描述中,我没有看到任何带有页脚的错误描述。
我的代码我展示了我如何设置顺风类
也许顺风有一些我错过的渲染功能?
谢谢!