从Node JS中的HTML模板创建PDF

问题描述

我有一个创建PDF的要求。对我而言,最好的方法是渲染HTML模板并使用任何第三方lib创建PDF。我遇到了使用ejs呈现HTML并使用html-pdf创建pdf的解决方案。虽然可以,但是我在分页符方面遇到了问题。

有一个流行的模块pdfkit。但是它使用自己的概念和过程来呈现pdf。对于节点,它不会呈现html文件,但是对于python,它会呈现html模板。

请告诉我如何使用pdfKit将html模板呈现为pdf,以及呈现html并转换为pdf的最佳方法是什么?

谢谢

解决方法

使用NPM上可用的PDF转换器库(如pdfkit)的问题在于,您将不得不在html模板中再次重新创建页面结构,以获得所需的输出。

呈现html并将其转换为pdf的最佳方法之一是在NodeJ上使用Puppeteer。 Puppeteer是一个Node库,它提供了高级API来通过DevTools协议控制Chrome或Chromium。根据您的情况,它可以用于生成html页面的屏幕截图和PDF。

,

Puppeteer是将HTML转换为PDF以及进行网页抓取的最佳方法。

从HTML生成PDF的简短说明,您可以查看here 此外,Chrome DevTools团队会维护该库,因此它是最佳解决方案。 关于分页符。可以在HTML代码中解决此问题。有一个样式选项可以解决该问题。

style="page-break-after:always;"

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...