使用Puppeteer创建兼容Vercel的Next.js API,将HTML转换为PDF
💡
原文英文,约700词,阅读约需3分钟。
📝
内容提要
文章介绍了如何在Next.js中使用Puppeteer将HTML转换为PDF,并在Vercel上正常部署。由于Puppeteer的Chromium二进制文件超出Vercel大小限制,使用@sparticuz/chromium-min和puppeteer-core解决。内容包括项目设置、API路由创建、代码实现及Vercel部署注意事项,如执行时间、内存使用和错误处理。
🎯
关键要点
- 在Next.js中使用Puppeteer将HTML转换为PDF的常见需求。
- Puppeteer在无服务器环境(如Vercel)部署时面临挑战,主要是Chromium二进制文件超出大小限制和执行时间、资源限制。
- 使用@sparticuz/chromium-min和puppeteer-core来解决这些限制。
- 项目设置步骤包括创建Next.js项目并安装必要的依赖。
- 创建API路由的步骤包括编写代码以配置Puppeteer和生成PDF。
- 代码中的关键部分包括浏览器配置和PDF生成逻辑。
- 使用API时需发送包含HTML内容的POST请求。
- 部署到Vercel时需注意执行时间、内存使用、冷启动和错误处理。
- 建议实施缓存策略以减少对无服务器函数的负载。
- 此方法允许在Vercel的无服务器环境中创建强大的HTML到PDF转换API。
➡️