如何在doc.fromhtml()jspdf中包含角度组件?

时间:2017-08-31 09:31:40

标签: html angular typescript

我正在尝试生成包含角度组件的pdf。

打字稿:

 let doc = new jsPDF();          

let source = document.getElementById("content");
doc.fromHTML(
    source,
    15,
    15,
    {
      'width': 180
    });
doc.save("sample.pdf");
    }

}

HTML:

<div id="content">
    <sample-card *ngFor="let x of list; let i = index" 
      [selection] = list                  
       <sample-card>
   </div>

我正在使用Angular 4 doc.fromHTML()正在为简单的&#39; div工作。喜欢下载。但它不适用于角度组件。怎么做到这一点?

1 个答案:

答案 0 :(得分:0)

我是这样做的, 将app html中的值传递给详细信息,在详细信息中显示这些值html

在app.component.html

<div id="content" details [app1]="app" *ngFor="let app of applications">

在details.component.html

 {{app1.labels}}

我在等待获取要加载的数据[尝试使用AfterViewChecked - 继续保存文件,AfterViewInit给出null(因为它只执行一次)] 所以等待随机时间说5秒[不好但下载文件]

setTimeout(()=>{    
      setTimeout(this.saveFile(), 1000*5);
 },3000);

这是我得到的输出[左侧pdf和右侧网页上的一些额外内容]

enter image description here

  

顶部div上的id

    <div id="content" >
      Things to Learn
    <div details [app1]="app" *ngFor="let app of applications">
    </div>
    Hari
    </div>
  

输出是:

enter image description here

方法-2:

这里我使用事件发射器告诉父母何时保存文件

当子组件从[父级传递给子级]的项目数组中接收最终项目时,告诉父级现在保存文件[因为我已经收到了数组中的所有项目]

使用AfterViewInit实现,当长度和计数相同时,它会发出真实

  

在左侧html和右侧[父级]

enter image description here

  

在左侧ts和右侧html [儿童]

enter image description here

  

输出

enter image description here