使用 Laravel Spatie/Browsershot 生成 PDF 时出现问题

问题描述 投票:0回答:2

我正在尝试使用以下代码生成 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^ endor^\spatie^ rowsershot^\src/../bin/browser.js^" ^"^{^^"url^^":^^"文件:^/^/C:^^\Users^^ lex.DFK^^\AppData^^\Local^^\Temp^^\873677827- 0646160001622728448^^\index.html^^",^^"操作^^":^^"pdf^^",^^"选项^^":^{^^"args^^":^[^], ^^"视口^^":^{^^"宽度^^":800,^^"高度^^":600^},^^"displayHeaderFooter^^":false^}^}^"" 失败的。退出代码:1(一般错误)工作目录: C:\Codex\hidma-backend\public 输出:================ 错误输出: ================ [错误:ENOENT:没有这样的文件或目录,mkdtemp '未定义 emp\puppeteer_dev_chrome_profile-XXXXXX'] { errno:-4058, 代码:'ENOENT',系统调用:'mkdtemp',路径: '未定义 emp\puppeteer_dev_chrome_profile-XXXXXX' }

laravel pdf puppeteer browsershot
2个回答
0
投票

我通过创建一个“临时”驱动器(在我的 Windows 系统上:C: emp)修复了类似的错误


0
投票

您需要全局安装puppeteer;

用这个

npm install puppeteer --location=global

© www.soinside.com 2019 - 2024. All rights reserved.