簡體   English   中英

在angular2項目中使用jspdf導出動態生成的div的問題

[英]Issues on Exporting dynamically generated div using jspdf in angular2 project

我正在使用jspdf在項目中打印div 我最近意識到,當div包含一些動態內容時,此命令不會顯示。 我的意思是,如果有一個簡單的有角if語句,jspdf不會打印它。 這是一個示例:

在我的HTML中:

<div id="content" #content>
   <p>This sections is printed</p>
   <p> {{ item.id }} is also printed</p>
</div>

下面的代碼引發錯誤,可以在html代碼下面找到該錯誤:

<div id="content" #content>
   <p *ngIf="item.id === 'sample'">this is NOT printed</p>
</div>

錯誤TypeError:無法讀取f.renderParagraph(jspdf.min.js:97)上未定義的屬性'1'...

這是我使用的打字稿代碼:

@ViewChild('content') content: ElementRef;    
public downloadPDF () {
    const doc = new jsPDF();
    const specialElementHandlers = {
      '#editor': function(element, renderer) {
        return true;
      }
    };
    const content = this.content.nativeElement;
    doc.fromHTML(content.innerHTML, 15, 15, {
      'width': 190,
      'elementHandlers': specialElementHandlers
    });

    const fileName = 'test';
    doc.save(fileName + '.pdf');
}

同樣,第一個div打印為pdf就好了。 但是第二個div沒有。 我懷疑這個問題與if陳述有關。 但是我還沒有找到解決方案。 任何幫助,將不勝感激。

代替使用結構指令嘗試

隱藏屬性綁定

<div id="content" #content>
   <p [hidden]="item.id !== 'sample'">this is NOT printed</p>
</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM