【问题标题】:wkhtmltopdf or puppeteer in Node on Azure Linux Web AppAzure Linux Web App 上的 Node 中的 wkhtmltopdf 或 puppeteer
【发布时间】:2021-03-25 09:16:19
【问题描述】:

我正在努力使 Node 中的 pug 到 pdf 转换在 Azure 上工作。 我有两种方法的节点项目:一种使用 wkhtmltopdf 并且在本地工作正常。 另一个使用 tea-school,一个使用 puppeteer 将 html 转换为 pdf 的包装器,它在本地也可以正常工作。 不幸的是,他们都没有在 Azure 上工作。我试图让它工作 20 个小时,但没有成功。我知道有 Docker,但我对此一无所知,无法使其工作。

你能解释一下我应该如何处理这个话题吗? 我只需要使用动态创建的数据(报告、发票等)生成 PDF

【问题讨论】:

  • 您的问题解决了吗?有进展吗?
  • 感谢 Jason 的提示 :) 这周我有一些优先级更高的工作要做。下周我会试试这个。一旦它起作用,我会接受你的回答,如果没有,我会发布一些问题。

标签: node.js azure pdf puppeteer


【解决方案1】:

更新

1. Azure websites and wkhtmltopdf

2. wkhtmltopdf Support in Azure Windows App RRS feed

私人

查阅了很多资料,我也通过SSH安装了wkhtmltopdf,发现即使wkhtmltopdf安装成功并设置了environment variables,也无法正常生成pdf文件。

也有帖子说需要docker,或者使用azure云服务。

1. Azure websites and wkhtmltopdf

2. How can i enable wkhtmltopdf in Azure windows App

你对docker不熟悉,所以我推荐你使用phantom。

You can download my sample code.

app.get('/test', (req, res) => {
    try {
        phantom.create().then(function(ph) {
            ph.createPage().then(function(page) {
                page.open("http://www.google.com").then(function(status) {
                    page.render('pdf/'+uuidv4()+'test.pdf').then(function() {
                        console.log('Page Rendered');
                        ph.exit();
                    });
                });
            });
        });
        res.send('Done!')
    } catch (error) {
        res.send('Error!'+ error.toString())
    }
})

【讨论】:

  • 嗨杰森。不幸的是,幻影也没有工作。错误类似于 wkhtml 和 puppeteer: A library is missing: "error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory"。
  • @DanielWięcek 我已经更新了我的答案,请检查一下。
  • @DanielWięcek 如果我的回复有帮助,请接受它作为答案(单击回复旁边的标记选项将其从灰色切换为填写。),请参阅meta.stackexchange.com/questions/5234/…
  • 您的回复对我没有帮助,但可能对其他人有用。以下是如何更新它以获得珍贵的绿色厚;) 所有这 3 个库:wkhtml、puppeteer、phantom 都需要安装一些 linux 库。首先 - 我可以在 azure 中使用 SSH 页面来做到这一点 - 一个 ssh 控制台(我以前不知道)在部署后手动安装缺少的库。此外,wkhtml 和 puppeteer 库需要多个 linux 库(大约 95MB),而 phantom 只需要 libfontconfig(5MB)。缺点是我需要在每次部署后安装 lib。但我可以创建一个脚本来执行此操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-14
  • 1970-01-01
相关资源
最近更新 更多