使用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的另一种方法,请帮助。

非常感谢您的协助!

回答:

好的,我知道了。

  1. 您将需要html2canvas和pdfmake。您无需在app.js中进行任何注入,只需将其包含在脚本标签中

  2. 在要创建其PDF的div上,添加如下所示的ID名称:

     <div id="exportthis">

  3. 在Angular控制器中,在对html2canvas的调用中使用div的ID:

  4. 使用toDataURL()将画布更改为图像

  5. 然后在pdfmake的docDefinition中,将图像分配给内容。

  6. 控制器中完整的代码如下所示:

           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

回到顶部