代码之家  ›  专栏  ›  技术社区  ›  TechChain

在node-js中从html模板创建PDF

  •  0
  • TechChain  · 技术社区  · 4 年前

    我有一个要求,我需要创建一个PDF。对我来说,最好的方法是渲染html模板,并使用任何第三方库创建PDF。我遇到了用ejs渲染HTML和用ejs创建pdf的解决方案 html-pdf 。虽然它工作得很好,但我遇到了分页符的问题。

    有一个流行的模块 pdfkit 。但它使用自己的概念和程序来呈现pdf。对于node,它不渲染html文件,但对于python,它渲染html模板。

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

    谢谢

    0 回复  |  直到 4 年前
        1
  •  6
  •   CyberEternal    4 年前

    Puppeteer 是将HTML转换为PDF以及网络抓取的最佳方式。

    从HTML生成PDF的简短说明您可以看到 here 此外,Chrome DevTools团队负责维护库,因此这是最好的解决方案。 关于分页符。这个问题可以在HTML代码中解决。有一种风格选项可以解决这个问题。

    style="page-break-after:always;"
    
        2
  •  2
  •   GlenH    4 年前

    使用NPM上可用的PDF转换器库(如pdfkit)的问题是,您必须在html模板中重新创建页面结构才能获得所需的输出。

    渲染html并转换为pdf的最佳方法之一是使用 Puppeteer 在NodeJ上。Puppeter是一个节点库,它提供了一个高级API来通过DevTools协议控制Chrome或Chromium。它可用于在您的案例中生成html页面的屏幕截图和PDF。