我正在尝试PDF使用pdfMake和从HTML创建一个Angular(我也尝试过jsPDF并且也无法使其正常工作)。我尝试在Angular控制器中使用以下代码:
PDF
pdfMake
Angular
jsPDF
var blob = new Blob([document.getElementById('exportable').innerHTML]) var docDefinition = { content: [blob] } pdfMake.createPdf(docDefinition).open();
但我收到以下错误:
无法识别的文档结构:{“ _ margin”:null}“。
我的HTML由div中的两个简单表组成exportable。如果有人知道解决此问题的方法,或者知道从Angular将HTML转换为PDF的另一种方法,请帮助。
exportable
非常感谢您的协助!
好的,我知道了。
您将需要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"); } });
我希望这可以帮助其他人。