使用Angularjs中的pdfMake从HTML生成PDF
我正在尝试PDF
使用pdfMake
和从HTML创建一个Angular
(我也尝试过jsPDF
并且也无法使其正常工作)。我尝试在Angular控制器中使用以下代码:
var blob = new Blob([document.getElementById('exportable').innerHTML])var docDefinition = {
content: [blob]
}
pdfMake.createPdf(docDefinition).open();
但我收到以下错误:
无法识别的文档结构:{“ _ margin”:null}“。
我的HTML由div中的两个简单表组成exportable
。如果有人知道解决此问题的方法,或者知道从Angular将HTML转换为PDF的另一种方法,请帮助。
非常感谢您的协助!
回答:
好的,我知道了。
您将需要html2canvas和pdfmake。您无需在app.js中进行任何注入,只需将其包含在脚本标签中
在要创建其PDF的div上,添加如下所示的ID名称:
<div id="exportthis">
在Angular控制器中,在对html2canvas的调用中使用div的ID:
使用toDataURL()将画布更改为图像
然后在pdfmake的docDefinition中,将图像分配给内容。
控制器中完整的代码如下所示:
html2canvas(document.getElementById('exportthis'), {
onrendered: function (canvas) {
var data = canvas.toDataURL();
var docDefinition = {
content: [{
image: data,
width: 500,
}]
};
pdfMake.createPdf(docDefinition).download("Score_Details.pdf");
}
});
我希望这可以帮助其他人。
以上是 使用Angularjs中的pdfMake从HTML生成PDF 的全部内容, 来源链接: utcz.com/qa/422002.html