【问题标题】:Issue with converting Html to PDF将 Html 转换为 PDF 的问题
【发布时间】:2023-04-04 14:35:01
【问题描述】:

我正在使用 Sails.js、angular 和 ejs 开发一个计费应用程序。

一切都很好,但现在我想(需要)将 html 发票保存为 PDF。我在 npmjs 上寻找一些有用的东西,所以我找到了html-pdf。我花了几个小时来渲染我的浏览器视图、CSS 和图片,但我做到了。在它工作的那一刻,我尝试将标题标签放在我的 ejs 中为多页发票设置标题,并且标题丢失了 CSS 和图片......你可以在那里看到我的代码示例:My question

由于这个问题没有得到回答,我开始搜索并四处寻找解决方法,我得到的唯一答案建议我使用wkhtmltopdf。我安装了 cmd-line 工具(尽管我不喜欢为此安装工具)并设法让它与我的代码一起工作,但 CSS 和图片都不见了。是的,回到第一格。

我尝试了很多调整,但它只会导致我的控制器出错。例如,环顾四周,我发现这里有一篇帖子建议使用 PDFkit 而不是 wkhtmltopdf。

我再次尝试修改PDFkit 的代码,但转了大约一小时后我放弃了。

我想知道wkhtmltopdfPDFkit 或其他npm 包是否更适合我想做的事情。

有人可以告诉我如何检测一个包是否过时和过时(我选择了第一个,因为根据 npmjs 网站,过去几天它似乎下载了很多,我得到的答案告诉我它是旧的和过时)。

【问题讨论】:

    标签: html pdf npm sails.js


    【解决方案1】:

    我们有一种类似的方法,即使用模板引擎构建 HTML 和 CSS,然后将其转换为 PDF。我可以推荐Puppeteer 渲染并保存为 PDF。

    我们目前正在实施此操作,并计划将此练习转移到 AWS Lambda 函数调用中,因为我们预计每个 PDF 有几十页。

    【讨论】:

    • 好吧,这看起来不错,但你能告诉我,如果不是 url,我可以发送浏览器视图的字符串吗? (我目前使用这条线:document.getElementById('printPdfSection').innerHTML)。示例到目前为止,我们还没有每张发票的具体网址。如果发票超过一页(如果可能,请使用页码),我需要能够有一个标题,并且它还必须尊重 CSS。 Puppeteer 能做到这一切吗?我还看到它安装了 Chromium ?该应用程序在 CentOS 服务器上运行,我有什么特别的事情要做吗?
    猜你喜欢
    • 1970-01-01
    • 2013-08-01
    • 2020-09-19
    • 2014-02-28
    • 2012-07-05
    • 1970-01-01
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多