Javascript 如何将html2pdf PDF转换为base64?

Javascript 如何将html2pdf PDF转换为base64?,javascript,jspdf,html2pdf,Javascript,Jspdf,Html2pdf,我在让正确地给我一个回调以便将其转换为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 }).toPd

我在让正确地给我一个回调以便将其转换为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,这样我就可以将它发送回服务器并将其附加到电子邮件中-我如何实现这一点并不重要,但我在弄清楚如何正确使用此回调时遇到了问题


我已经在github上搜索了文档和文件。

缺少的是对
outputPdf()
方法的调用。您还应该确保已升级到html2pdf插件的最新版本,因为旧版本不支持此功能

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

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

[outputPdf]将类型和选项发送到jsPDF对象的输出方法,以及 将结果作为承诺返回(使用.然后访问)


简单地使用
output()
不会返回承诺,您必须使用
outputPdf()
缺少的是对
outputPdf()
方法的调用。您还应该确保已升级到html2pdf插件的最新版本,因为旧版本不支持此功能

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

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

[outputPdf]将类型和选项发送到jsPDF对象的输出方法,以及 将结果作为承诺返回(使用.然后访问)

仅使用
output()
不会返回承诺,您必须使用
outputPdf()