代码之家  ›  专栏  ›  技术社区  ›  maxshuty Fatih Hayrioğlu

如何将html2pdf pdf转换为base64?

  •  0
  • maxshuty Fatih Hayrioğlu  · 技术社区  · 6 年前

    我在获取 html2pdf.js 正确地给我一个回调,以便我可以将它转换为base64字符串。

    我尝试过:

    html2pdf().from(el).then(function(pdf) { 
       //pdf is null when I log this...
       console.log(pdf);
    }).save();
    

    有其他的变种吗? output() 为此:

    var pdf = new jsPDF();
    html2pdf().from(element).set({ pdf: pdf }).toPdf().save();
    

    无济于事。

    我现在在 v.0.9.0 . 我真正需要的是base64,这样我就可以将它发送回服务器,并将其附加到电子邮件上——这对我来说并不重要,但我在弄清楚如何正确使用这个回调时遇到了一些问题。

    我已经搜索了文档和 issues 在Github上。

    1 回复  |  直到 6 年前
        1
  •  1
  •   maxshuty Fatih Hayrioğlu    6 年前

    缺少的是给 outputPdf() 方法。您还应该确保您已经升级到HTML2PDF插件的最新版本,因为旧版本没有此支持。

    您的新代码应该如下所示:

    html2pdf().from(el).outputPdf().then(function(pdf) {
        //This logs the right base64
        console.log(btoa(pdf));
    });
    

    来自 documentation :

    [outputpdf]向JSPDF对象的输出方法发送类型和选项,以及 以承诺的形式返回结果(使用.then可访问)

    简单使用 output() 不会兑现承诺,你必须使用 输出PDF() .