【问题标题】:Creating PDF from html template in node js在节点 js 中从 html 模板创建 PDF
【发布时间】:2021-01-14 16:09:25
【问题描述】:

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

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

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

谢谢

【问题讨论】:

    标签: javascript node.js pdf wkhtmltopdf pdfkit


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-22
        • 2013-06-06
        • 2012-05-17
        • 2018-10-05
        • 2019-08-02
        • 2016-12-02
        • 1970-01-01
        • 2022-01-11
        相关资源
        最近更新 更多