【发布时间】:2022-04-24 16:01:30
【问题描述】:
您好,我正在尝试在 next.js 中生成 PDF。我尝试了许多库,如 react-pdf、jsPDF 等,但它们都是客户端库,它们需要窗口来执行它们的操作。有没有在 next.js 中生成 pdf 的解决方案。如果存在,请提供代码示例。
【问题讨论】:
您好,我正在尝试在 next.js 中生成 PDF。我尝试了许多库,如 react-pdf、jsPDF 等,但它们都是客户端库,它们需要窗口来执行它们的操作。有没有在 next.js 中生成 pdf 的解决方案。如果存在,请提供代码示例。
【问题讨论】:
我建议使用 next.js 的 api 路由并使用 node.js pdf 库。在前端,您可以使用正确的路径访问 api 以返回 pdf 并进行渲染。
【讨论】:
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") }) }
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, }, };