Javascript 使用Puppeter导出PDF,使用React中的按钮
我有一个应用程序。应用程序将使用Puppeter生成pdf 我运行此命令以生成pdfJavascript 使用Puppeter导出PDF,使用React中的按钮,javascript,reactjs,pdf,puppeteer,Javascript,Reactjs,Pdf,Puppeteer,我有一个应用程序。应用程序将使用Puppeter生成pdf 我运行此命令以生成pdf npm run generate 在my package.json中,脚本是 "generate": "npx babel-node scripts/generate-pdf.js" 在我的generate-pdf.js中,代码如下 const puppeteer = require("puppeteer"); (async () => {
npm run generate
在my package.json中,脚本是
"generate": "npx babel-node scripts/generate-pdf.js"
在我的generate-pdf.js中,代码如下
const puppeteer = require("puppeteer");
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto("http://localhost:3000/", {
waitUntil: "networkidle2",
});
await page.emulateMediaType("screen");
await page.pdf({
path: "./react.pdf",
printBackground: true,
format: "a4",
});
await browser.close();
})();
一切正常。已成功生成pdf
我的问题是,如何使按钮在React中执行生成pdf文件的命令?您可以执行以下操作:
await page.waitForFunction(() => window.buttonClicked)
然后在反应中:
<button onClick={() => window.buttonClicked = true}/>
window.buttonClicked=true}/>
react在您的前端,而pupeter则在您的服务器环境中执行。如果要以编程方式执行Pupeter,则需要创建一个API端点来执行Pupeter脚本。@FrédéricLang您可以给出一个如何执行的示例吗?为什么要在用户单击按钮时执行pdf文件?你应该为它生成一个构建时间,因为我制作的应用程序需要为我尝试过的每个不同的用户提供一个pdf,但什么都没有发生