PDF 在 Google Cloud Functions 上的格式不正确

问题描述

我正在从 HTML 生成 PDF。运行时是 node.js 10。当函数在 firebase 模拟器中运行时,PDF 一切正常。但是完全相同的代码无法生成格式良好的 PDF。 CSS 部分没有发挥作用。

如何使用在 Firebase/GCP 上运行的谷歌云函数生成格式正确的 PDF?

下面是代码片段:

var htmlPdf = require('html-pdf');
........
........
async function generatePdf(htmlText,fileNumber) {

    var options = { 
        format: 'Letter',directory: "",timeout: 540000,// in milliseconds
        border: {
                    top: "1in",// default is 0,units: mm,cm,in,px
                    //right: "0.2in",bottom: "1in",left: "1in"
                  }
    };
    const fileName = `/tmp/payment-receipt-${fileNumber}.pdf`;
    
    htmlPdf.create(htmlText,options).toFile(fileName,async (err,res)=> {
        if (err) {
            console.log('Error EC-002 ',err);
            return 'NOK';
        }

        console.log('file created as : ',res.filename);
     });
....
....
}

我已经尝试删除 CSS 外部链接并在 HTML 部分添加相关的 CSS 类。它没有用。外部链接似乎没有任何问题,因为 HTML 有一张图片(来自互联网)并且运行良好。 当代码在 firebase 模拟器上运行时绝对没有问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)