javascript - 如何将 html2pdf PDF 转换为 base64?
问题描述
我无法让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,所以我可以将它发送回服务器并将其附加到电子邮件中 - 我如何完成它并不重要,但我在弄清楚如何使用它时遇到了问题正确回调。
我已经在 github 上搜索了文档和问题。
解决方案
缺少的是对该方法的调用outputPdf()
。您还应该确保您已升级到最新版本的 html2pdf 插件,因为旧版本没有此支持。
您的新代码应如下所示:
html2pdf().from(el).outputPdf().then(function(pdf) {
// This logs the right base64
console.log(btoa(pdf));
});
从文档中:
[outputPdf] 将类型和选项发送到 jsPDF 对象的输出方法,并将结果作为 Promise 返回(使用 .then 访问)
简单地使用output()
不会返回承诺,您必须使用outputPdf()
.
推荐阅读
- mongodb - 更新 mongodb 中的嵌套数组元素
- python - 如何在python中显示当前月份的前6个月数据
- javascript - D3 中的 parseTime 和函数有错误
- android - Lottie 动画根本没有显示
- mysql - 实体框架选择单个子类别
- python - Python - 获取适用于 Web 应用程序的 Python3.8 新功能 PYTHONPYCACHEPREFIX
- mongodb - 从子对象 Mongodb 中仅检索所需的元素
- c - 我有一个链表,我想删除重复值
- c++ - 交叉依赖类的问题
- python - 为什么当我设置谷歌浏览器配置文件时 selenium 崩溃?