【问题标题】:Generating PDF in next.js在 next.js 中生成 PDF
【发布时间】:2022-04-24 16:01:30
【问题描述】:

您好,我正在尝试在 next.js 中生成 PDF。我尝试了许多库,如 react-pdf、jsPDF 等,但它们都是客户端库,它们需要窗口来执行它们的操作。有没有在 next.js 中生成 pdf 的解决方案。如果存在,请提供代码示例。

【问题讨论】:

标签: pdf next.js


【解决方案1】:

我建议使用 next.js 的 api 路由并使用 node.js pdf 库。在前端,您可以使用正确的路径访问 api 以返回 pdf 并进行渲染。

next.js api routes

pdf-lib

【讨论】:

  • 谢谢汤姆,但我用这种方法得到了解决方案,它对我来说很好。如果这种方法有问题,请纠正我export const jsPDF = () => { return new Promise(async (resolve, reject) => { if (typeof window !== "undefined") { let jsPDF = null; const module = await import("jspdf"); jsPDF = module.default await import('jspdf-autotable'); return resolve(jsPDF); } return reject("not working") }) }
  • 嘿,我不知道你使用的是哪个库,在我链接的 pdf 库上它看起来像这样(代码未测试)js import { PDFDocument, StandardFonts, rgb } from 'pdf-lib' export default async (req, res) => { const pdfDoc = await PDFDocument.create(); // do pdf stuff const buffer = await pdfDoc.save(); res.send(buffer); }; export const config = { api: { bodyParser: false, }, };
  • 我正在使用 jsPdf 库
  • 问题是,我认为这是一个客户端库,不支持 node.js。而你的 Promise await.. 非常令人困惑。
猜你喜欢
  • 1970-01-01
  • 2022-10-18
  • 2021-04-18
  • 2014-07-04
  • 2010-09-26
  • 2018-02-06
  • 1970-01-01
  • 1970-01-01
  • 2021-10-19
相关资源
最近更新 更多